行业新闻与博客

让我们加密在 3月4日撤销 3 百万个 SSL 证书

全球领先的免费 SSL 提供商宣布,由于几天前发现的错误,数百万个证书被吊销了,这可能会使订阅者仅几个小时就可以做出响应

全球最大的免费 SSL 证书颁发机构(CA)加密货币 Let's Encrypt 今天(3月3日)向订阅者宣布,他们发现了一个错误,导致该错误导致他们在 3月4日(明天 00:00)之前撤销了超过 300 万个 SSL / TLS 证书 UTC 最早)。麻烦?他们的公告几乎没有给用户时间做出反应。



由于 CA / B 论坛的基线要求规定了较短的吊销时间表,这意味着“让我们加密”必须急于告知用户吊销将在 24 小时内完成。不幸的是,这意味着对于 LE 证书订户(可能像您这样的人),您的证书可能会受到影响,而您可能不知道。



但是,为什么他们完全需要吊销这些证书?这对于“让我们加密 SSL 订阅者”意味着什么?如果您是证书受到影响的人之一,该怎么办?



2月29日,Let's Encrypt 发现他们代码中的错误允许未经过适当域记录检查的 SSL / TLS 证书发行。这导致大量撤销了其 1.16 亿个有效 SSL 证书中的 3,048,289 个。这是他们所有现有证书的 2.6%!



因此,如果您没有在 3月4日的撤销期限之前续签受影响的 SSL / TLS 证书,那么您将陷入困境。如果“让我们加密”在您有机会续订之前吊销了您的证书,则您的网站用户将看到难看的安全警告,可能使他们远离您的网站。这些消息将继续显示,直到您更新证书!



Let's Encrypt 的首席开发人员 Jacob Hoffman-Andrews 发布在 Mozilla 的 Bugzilla 网络论坛上,更深入地解释了此问题:



在 2020-02-29 UTC,Let's Encrypt 在我们的 CAA 代码中发现了一个错误。我们的 CA 软件 Boulder 在验证订户对域名的控制的同时检查 CAA 记录。大多数订户在域控制验证之后立即颁发证书,但是我们认为验证有效期为 30 天。这意味着在某些情况下,我们需要在发行前再次检查 CAA 记录。具体来说,我们必须在发行前的 8 小时内检查 CAA(根据 BRs 第 3.2.2.8 条),因此,任何经过 8 小时以上验证的域名都需要重新检查。



错误:当证书请求包含 N 个域名需要 CAA 重新检查时,Boulder 会选择一个域名并对其进行 N 次检查。实际上,这意味着如果订户在 X 时刻验证了一个域名,并且 CAA 在 X 时刻对该域名进行了记录,则允许我们进行加密发行,该订户将能够颁发包含该域名的证书,直到 X + 30 天,即使后来有人在该域名上安装了禁止通过 Let's Encrypt 发行的 CAA 记录。”



那么,这一切意味着什么?我们在这里谈论的是有关证书颁发机构授权(CAA)记录的检查。 



为什么 CAA 在证书颁发过程中记录问题

CAA 记录是一种创建的资源,可帮助防止为任何域颁发欺诈性 SSL / TLS 证书,并有助于增强 PKI 生态系统。这是域中的 DNS 记录,要求每个颁发 CA 都要检查它。对于 CA 来说,这是一种简单的方法,可以知道它们是否被授权为域颁发证书:




  • 如果存在 CAA 记录,则意味着仅列出的 CA 可以为该特定域颁发证书。

  • 如果不存在 CAA 记录,则意味着任何 CA 都可以为该域颁发证书。



因此,每当证书颁发机构颁发 SSL / TLS 证书时,都要求它们遵循 CA / Browser Forum 的基线要求(BR)文档中概述的特定步骤。CA / B 论坛是由 CA,浏览器和设备制造商组成的行业机构。他们负责概述和执行与行业相关的要求。BR§3.2.2.8(CAA 记录)规定以下内容:



作为发行过程的一部分,对于必须发行证书的 subjectAltName 扩展中的每个 dNSName,CA 必须检查 CAA 记录并遵循找到的处理指令,如勘误表 5065(附录 A)所修订的 RFC 6844 中所指定。如果 CA 发出问题,则他们必须在 CAA 记录的 TTL 或 8 小时(以较大者为准)内发出。



此规定不会阻止 CA 在任何其他时间检查 CAA 记录。



从本质上讲,这意味着需要让我们加密在颁发证书之前的 8 小时内检查 CAA 记录。如果它们不满足这些要求,无论是由于 bug 还是由于其他原因,它们都必须大量撤消未通过适当的 CAA 检查签发的任何证书。



让我们加密豁免申请

牢记所有这些,Let's Encrypt 发现自己处于需要撤销数百万个证书的位置。因此,他们通知了用户,但首先尝试通过一种主要的 Web 浏览器 Mozilla Firefox 请求免除证书吊销。



但是,Mozilla 将他们指向他们的文档,以指导 CA 对证书错发采取什么样的行动(如 Let's Encrypt):




  • CA 应该停止从公共密钥基础结构(PKI)的受影响部分中发行,以正确诊断问题的原因;要么

  • CA 应该解释为什么他们选择不这样做。 



此外,任何受影响的 CA 一旦诊断出问题的原因后决定重新发行,都必须具有防止其他错误发行的流程。



Mozilla 还为需要证书吊销的情况提供指导:



Mozilla 意识到在某些  特殊  情况下,在规定的期限内吊销错签的证书可能会造成重大损害,例如,当证书用于关键基础结构中且无法在吊销期限之前安全替换时,或吊销时间短时一段时间将对网络产生较大的累积影响。但是,Mozilla 不会授予 BR 撤销要求的例外。我们的立场是,您的 CA 最终有责任决定遵循 BR 第 4.9.1 条的要求所造成的危害是否大于选择不满足此要求而传递给依赖 Web PKI 的个人的风险。”



这可能会导致显著的伤害?是的,这是轻描淡写的。但是,对于任何 CA 来说,撤销未正确颁发的证书都是绝对必须的。因此,让我们加密通过撤销证书来做正确的事情。但这并不意味着此响应不会引起订户问题或更大问题的征兆。