Let's Encrypt 的后量子时代未来

来源: A Post-Quantum Future for Let's Encrypt - Let's Encrypt

Let’s Encrypt 致力于构建后量子安全的 Web PKI。我们计划采用的方案是默克尔树证书(“MTC”),这是一种全新的方法,它在不牺牲 TLS 速度和可靠性(使其得以广泛应用)的前提下,为 Web 添加后量子认证功能。

这篇文章将探讨这些计划,以及我们为什么认为 MTC 值得追求,因为它是通往后量子未来的关键。

一个日益紧迫的问题

在过去几年里,关于后量子密码学的讨论大多集中在加密问题上。原因很简单:攻击者今天记录了加密流量,几年后,一旦量子计算机能够破解底层数学算法,攻击者就有可能解密这些流量。身份验证(TLS 中用于验证服务器身份的部分)则相对不那么紧迫。量子计算机需要实时伪造签名,而不是事后伪造,因此,身份验证面临的威胁取决于是否存在具有密码学意义的量子计算机(CRQC)。

这种安心感已经逐渐消退。在美国,国家安全局 (NSA) 的CNSA 2.0 套件自 2022 年起就指导国家安全系统在 2030 年至 2035 年期间逐步过渡到后量子算法;而美国国家标准与技术研究院 (NIST) 的过渡指南草案则计划在 2030 年后弃用 RSA-2048 和 P-256,并在 2035 年后彻底禁用它们。欧盟的路线图目标是在 2030 年底前完成高风险系统的迁移,并在 2035 年前实现全面迁移。这些指令虽然没有直接约束公共 Web 公钥基础设施 (Web PKI),但它们设定了十年末的过渡时间表,而 Web PKI 所依赖的供应商、库和标准组织都在朝着这个目标努力。

今年,迁移时间表进一步缩短。谷歌宣布将在 2029 年前完成服务迁移,理由是 CRQC 的预计实现时间越来越短。Cloudflare也随后做出了类似的承诺。此外,Go 1.27将 NIST 标准化的后量子签名方案 ML-DSA 添加到标准库中,这表明后量子签名正在成为实用的基础设施。

后量子认证不再是Web PKI生态系统应该搁置的问题。长期密钥(根证书颁发机构、代码签名密钥、身份系统)尤其具有价值,而新技术需要数年时间才能得到广泛应用,因此这项工作必须尽早启动。

Web PKI 的特殊情况

Web PKI 是部署后量子签名最棘手的地方之一。原因在于其体积庞大。

ML-DSA-44 是美国国家标准与技术研究院 (NIST) 标准化的后量子签名方案中较小的一种,其签名长度约为 2420 字节。而如今 Web PKI 中使用的算法则要小得多。RSA-2048 签名长度为 256 字节,ECDSA-P256 签名长度为 64 字节。公钥也更大:ML-DSA-44 为 1312 字节,RSA-2048 为 256 字节,ECDSA-P256 为 64 字节。目前,一个典型的 Web PKI 握手包含五个签名和两个公钥。如果用 ML-DSA 等效方案替换它们,单个 TLS 握手的大小将远远超过 10 KB。Cloudflare的研究表明,在这种规模下,实际网络中相当一部分 TLS 连接会失败,而剩余的连接速度也会变慢。

https://letsencrypt.org/images/blog/2026.06.03-pq-certs-handshake-size.svg

更大的握手包会影响所有 TLS 连接,而不仅仅是那些会失败的连接。这意味着带宽受限、连接速度变慢,用户体验也会变差,而这一切仅仅是为了抵御尚未出现的威胁。默认启用这种机制代价高昂,而默认设置才是真正推动 Web 安全发展的关键所在。

默克尔树证书

过去一年来,一种名为默克尔树证书(“MTC”)的不同设计逐渐兴起,我们认为这是后量子时代 Web PKI 的一条强劲发展道路。

MTC证书颁发机构并非逐个颁发证书并单独签名,而是批量颁发证书,单个签名涵盖整个批次。浏览器会独立于TLS握手过程,持续更新这些批次签名(称为“地标”)。

通常情况下,MTC握手中的整个认证路径仅包含一个签名、一个公钥和一个包含证明。即使MTC使用后量子算法,其规模也比当今的Web PKI握手要小。另一种情况是“独立”形式。当客户端的标记过期时,它会使用稍大的握手作为备用方案。

https://letsencrypt.org/images/blog/2026.06.03-pq-certs-mtc-authentication-overhead.svg

MTC 的优势远不止于优化证书大小。由于每个证书都是已发布 Merkle 树的一部分,透明性成为证书颁发本身的固有属性。如今的证书透明性生态系统是事后添加的:证书由 CA 颁发,然后单独记录,TLS 握手过程中会附带额外的签名来证明该记录的存在。而 MTC 则不同,证书无法存在于 Merkle 树之外。证书透明性是内置的。

这对我们来说并非完全是全新的领域。Let’s Encrypt 自 2019 年起就开始运行证书透明度日志。这些日志是仅追加的默克尔树,与 MTC 的核心数据结构相同,而且我们已经在生产环境中大规模运行多年。

Cloudflare 和 Chrome 已经在针对真实互联网流量开展 MTC可行性实验。IETF 的PLANTS 工作组正在致力于规范该设计。Chrome 已宣布,MTC 是其向公共网络添加后量子证书的首选方案。

我们的计划

我们计划支持默克尔树证书(MTC),将其作为后量子时代Web PKI的发展方向。我们的目标是在2026年底前搭建一个颁发MTC的测试环境,并在2027年搭建一个可用于生产环境的测试环境。

这并非易事。要像 Let’s Encrypt 那样大规模地颁发 MTC,需要对我们整个技术栈进行重大变革:包括颁发基础设施、用户用于获取证书的 ACME 协议、吊销和运维工具,以及 MTC 所依赖的透明日志基础设施。我们一直积极参与 IETF PLANTS 和 ACME 工作组的工作,见证这些标准的逐步形成。

除了 MTC 的工作之外,我们还在跟踪 X.509(RFC 9881)和 TLS(draft-ietf-tls-mldsa)中 ML-DSA 签名的标准,以及与之相关的生态系统工作,例如将 ML-DSA 添加到 Go 标准库。Web PKI 向后量子安全过渡需要所有这些标准最终被浏览器、库和 ACME 客户端所采纳,无论最终交付的证书是 MTC 还是使用 ML-DSA 签名的 X.509 证书。

如果你使用 Let’s Encrypt,这意味着什么?

今天一切照旧。您现有的 Let’s Encrypt 证书将继续按原方式颁发和续订。当 Let’s Encrypt 推出后量子证书时,我们将一如既往地为您提供服务:免费、自动,并且任何拥有 ACME 客户端的用户均可使用。

过渡需要时间。目前仍有一些标准正在最终确定,根程序仍在定义其需求,并且一些工程工作必须先融入更广泛的生态系统(浏览器、库、ACME 客户端),这一切才能大规模地发挥作用。我们将随着工作的进展和时间表的确定,及时向社区通报最新情况。

如果您维护着 ACME 客户端或运行着基于 ACME 的证书流水线,那么现在正是关注 PLANTS 工作组的工作进展以及[email protected]邮件列表上讨论的好时机。即将到来的一些变更需要客户端支持,而当证书颁发端准备就绪时,客户端的同步更新将使整个生态系统受益。

关于更广泛的后量子转变的一点说明

对于更广泛的互联网社群而言:后量子加密是更为紧迫的问题,因为任何未采用后量子密钥交换的TLS连接都可能被窃取并用于后续解密。如果您运营服务器,请确保其支持混合后量子密钥交换(X25519MLKEM768)。主流浏览器和操作系统已经支持此功能,在服务器端启用此功能是您今年可以做的最有价值的事情之一

最后

自 2013 年以来,我们一直秉持着“安全应该自动且免费地惠及所有人”的原则,构建公共网络的基础设施。此次量子转型标志着安全底层工作原理的一次世代变革。

随着工作的推进,我们将发布更多信息。在此之前,我们衷心感谢密码学家、浏览器工程师、IETF 工作组和证书颁发机构,正是他们的辛勤工作才使我们取得了今天的成就。

相关内容:

个人点评:

终于有一家CA 机构开始实验后量子证书了

感谢分享。另外,现在Chrome已经支持了,就等着服务端签发MTC证书。

1 个赞