Letsencrypt 将使用自家CA导致不兼容部分旧设备

2020年11月12日21:38:47Letsencrypt 将使用自家CA导致不兼容部分旧设备已关闭评论浏览:36 2663字阅读8分52秒

当一个新的证书颁发机构(CA)出现时,它面临着一个难题:为了对人们有用,它需要它的根证书被各种操作系统(OS)和浏览器所信任。然而,操作系统和浏览器可能需要数年时间才能接受新的根证书,而人们将设备升级到包含该变化的较新版本则需要更长时间。常见的解决方案是:一个新的CA通常会向现有的、受信任的CA要求交叉签名,以快速让它被很多设备信任。

五年前,当Let's Encrypt推出时,我们正是这么做的。我们从IdenTrust获得了交叉签名。他们的 "DST Root X3 "已经存在很长时间了,所有的主流软件平台都已经信任它了。Windows, Firefox, macOS, Android, iOS, 和各种Linux发行版。这种交叉签名让我们可以马上开始发行证书,并让它们对很多人有用。如果没有IdenTrust,Let's Encrypt可能永远不会发生,我们很感谢他们的合作。同时,我们发行了自己的根证书("ISRG Root X1"),并申请被各大软件平台信任。

现在,这些软件平台已经信任我们的根证书多年。而我们赖以起家的DST Root X3根证书即将到期--2021年9月1日。幸运的是,我们已经做好了自立门户的准备,完全依靠自己的根证书。

然而,这确实带来了一些兼容性问题。一些自2016年以来没有更新的软件(大约是我们的根被许多根程序接受的时候)仍然不信任我们的根证书ISRG Root X1。最值得注意的是,这包括7.1.1之前的Android版本。这意味着那些旧版本的Android将不再信任Let's Encrypt颁发的证书。

Android在操作系统更新方面有一个长期存在的众所周知的问题。世界上有很多运行过时操作系统的安卓设备。原因很复杂,也很难解决:对于每部手机来说,核心的Android操作系统在终端用户收到之前,通常都会被制造商和移动运营商修改。当Android系统有更新时,制造商和移动运营商都必须在发送之前将这些更改纳入他们的定制版本。通常制造商决定这样做是不值得的。其结果对购买这些设备的人来说是很糟糕的:许多人被困在已经过时多年的操作系统上。

谷歌不再在其分发仪表板上提供版本号,但你仍然可以通过下载Android Studio获得一些数据。以下是截至2020年9月的数字:

目前,66.2%的Android设备运行的是7.1或以上版本。其余33.8%的Android设备最终会在用户访问拥有Let's Encrypt证书的网站时开始出现证书错误。在我们与大型集成商的沟通中,我们发现这约占他们网站流量的1-5%。希望到明年DST Root X3到期时,这些数字会更低,但变化可能不是很明显。

对此我们能做些什么呢?好吧,虽然我们很想改善Android更新情况,但我们能做的并不多。我们也没钱给全世界买一部新手机。我们能不能再搞一个交叉签名?我们已经探讨过这个方案,似乎不太可能。对一个CA来说,交叉签名另一个CA的证书是一个很大的风险,因为他们要为这个CA的一切行为负责。这也意味着交叉签名的接受者必须遵循交叉签名的CA规定的所有程序。对我们来说,能够自立门户很重要。另外,安卓系统的更新问题似乎并没有消失。如果我们承诺支持旧版安卓系统,我们就会承诺无限期地寻求其他CA的交叉签名。

这是个相当大的束缚。我们致力于让地球上的每个人都拥有安全和尊重隐私的通信。而且我们知道,受Android更新问题影响最大的人是我们最想帮助的人--那些可能无法每四年买一部新手机的人。不幸的是,我们预计在ISRG Root X1到期之前,Android的使用数据不会有太大的变化。通过现在提高对这一变化的认识,我们希望帮助我们的社区找到最佳的前进道路。

如果您是网站所有者

自2021年1月11日起,我们计划对API进行更改,以便ACME客户端默认情况下会提供通往ISRG Root X1的证书链。但是,也可以为导致DST Root X3并提供更广泛兼容性的同一证书提供备用证书链。这是通过ACME“备用”链接关系实现的Certbot从1.6.0版开始支持此功能。如果您使用其他ACME客户端,请检查您客户端的文档,以查看是否支持“备用”链接关系。

会有网站所有者收到用户的投诉,我们对这种做法并不理想表示同情。我们正在努力提醒网站所有者,以便您进行计划和准备。我们鼓励网站所有者部署临时修复程序(切换到备用证书链),以在评估长期解决方案所需条件时保持网站正常运行:是否需要运行标语,要求较旧操作系统上的Android用户执行以下操作:安装Firefox,停止支持较旧的Android版本,针对较旧的Android版本退回到HTTP,或切换到那些较旧版本上安装的CA。

如果让我们通过托管服务提供商对证书进行加密

您的托管服务提供商可能会在2021年9月之前为DST Root X3提供服务​​,或者他们可能会决定在2021年1月11日之后切换到通向ISRG Root X1的证书链。如果有任何疑问,请联系他们!

如果您使用旧版本的Android

如果您使用的是旧版Android,建议您在安装本文时安装Firefox Mobile,它支持Android 5.0及更高版本。

为什么安装Firefox有帮助?对于Android手机的内置浏览器,受信任的根证书列表来自操作系统-在这些较旧的手机上已过期。但是,Firefox当前在浏览器中是唯一的-它附带了自己的受信任的根证书列表。因此,安装最新版本Firefox的任何人都可以从受信任的证书颁发机构的最新列表中受益,即使其操作系统已过期。

在我们不断发展成为CA的过程中,确保您到处的人们都可以使用加密,我们感谢您现在和多年来的理解和支持。我们将在社区论坛上发布有关此根过渡如何影响Android设备的任何未来更新。如果您对此更改有任何疑问,我们的社区随时准备为您提供帮助:community.letsencrypt.org

我们依靠支持者的贡献来提供我们的服务。如果您的公司或组织想赞助Let's Encrypt,请给我们发送电子邮件至Sponsor@letsencrypt.org。如果您力所能及,我们要求您作出个人贡献

如果您是应用程序开发人员

如果您开发的是Android应用,则可以发布将ISRG Root X1添加为应用上下文内的受信任根的更新。在此论坛主题GitHub问题(在第三方存储库中)中,有关于如何执行此操作的讨论

原文:https://letsencrypt.org/2020/11/06/own-two-feet.html

继续阅读
laiczhang
  • 本文由 发表于 2020年11月12日21:38:47
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接