Let's Encrypt 的后量子未来:默克尔树证书
- #后量子密码学
- #TLS
- #Web PKI
- #Hacker News
- #letsencrypt.org
正文
Let's Encrypt 致力于构建后量子安全的 Web PKI。我们计划采用的路径是默克尔树证书(MTC),这是一种在不牺牲 TLS 速度和可靠性的前提下为 Web 添加后量子认证的新方法。这篇文章将介绍这些计划以及我们为何相信 MTC 值得作为后量子未来的关键。
日益紧迫的问题
过去几年中,关于后量子密码学的讨论主要集中在加密方面。理由很直接:攻击者今天记录加密流量,未来量子计算机可能破解底层数学后解密。认证——TLS 中确认服务器身份的部分——一直不那么紧迫。量子计算机需要实时伪造签名,而非事后,因此认证威胁依赖于密码学相关量子计算机(CRQC)的存在。
但这种安心感正在消退。在美国,NSA 的 CNSA 2.0 套件自 2022 年起就指示国家安全系统在 2030-2035 年时间表内转向后量子算法;NIST 的过渡指南草案将淘汰 RSA-2048 和 P-256(2030 年后弃用,2035 年后禁用)。欧盟路线图则瞄准 2030 年底前的高风险系统,2035 年前广泛迁移。这些指令不直接约束公共 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 握手超过 10KB。Cloudflare 的研究表明,在这种规模下,相当一部分 TLS 连接在真实网络中会失败,其余连接变慢。更大的握手会影响所有 TLS 连接,不仅限于失败的。它们意味着带宽受限、连接变慢、用户体验下降,而换来的却是对尚未实现的威胁的防护。默认启用这样高昂的代价是不明智的,而默认设置才是真正推动 Web 安全规模化的要素。
默克尔树证书
过去一年出现了一种不同的设计——默克尔树证书(MTC),我们相信它是后量子 Web PKI 的强有力路径。MTC 证书颁发机构不是逐一签发证书,而是批量签发,用一个签名覆盖整批。浏览器通过独立于 TLS 握手的渠道来更新这些批量签名(称为“地标”)。
在常见情况下,MTC 握手中的整个认证路径是一个签名、一个公钥和一个包含证明。这甚至比今天的 Web PKI 握手还小,尽管使用的是后量子算法。另一种情况是“独立”形式,当客户端的地标过时时会使用稍大的握手作为回退。
MTC 的优势不止大小优化。由于每个证书都是已发布默克尔树的一部分,透明度成为签发本身的属性。当前的证书透明度生态是事后附加的:CA 签发证书,然后单独记录,并在 TLS 握手中附带额外签名来证明记录。而 MTC 中,证书无法存在于默克尔树之外,证书透明度是内建的。
这对我们来说并非全新领域。Let's Encrypt 自 2019 年起就运营证书透明度日志。这些日志是仅追加的默克尔树,正是 MTC 所基于的核心数据结构,也是我们多年来大规模生产运行的东西。Cloudflare 和 Chrome 目前正在进行基于真实互联网流量的 MTC 可行性实验。IETF 的 PLANTS 工作组正在标准化该设计。Chrome 已宣布 MTC 是其为公共 Web 添加后量子证书的首选路径。
我们的计划
我们计划支持默克尔树证书,作为后量子 Web PKI 的前进方向。我们目标是 2026 年底前搭建可签发 MTC 的预演环境,2027 年前投产。这并非小工程。以 Let's Encrypt 的规模签发 MTC 需要对整个技术栈进行重大改造:签发基础设施、订阅者获取证书的 ACME 协议、吊销和操作工具,以及 MTC 所取代的透明度日志基础设施。
我们一直在参与 IETF PLANTS 和 ACME 工作组的标准制定工作。与 MTC 工作并行,我们也在跟踪 X.509 中 ML-DSA 签名的标准(RFC 9881)和 TLS 中的标准(draft-ietf-tls-mldsa),以及依赖的生态工作,如 Go 标准库对 ML-DSA 的支持。Web PKI 向后量子安全的过渡需要所有这些在浏览器、库和 ACME 客户端中落地,无论最终交付的证书是 MTC 还是 ML-DSA 签名的 X.509。
如果您使用 Let's Encrypt,这意味着什么
今天什么都不会改变。您当前的 Let's Encrypt 证书将继续按照一贯的方式签发和续期。当 Let's Encrypt 提供后量子证书时,它们将以我们一贯的方式免费、自动化、任何人只要有 ACME 客户端即可获取。
过渡需要时间。标准仍在最终确定,根程序仍在定义要求,工程工作还需要在更广泛的生态(浏览器、库、ACME 客户端)中落地,这一切才能规模化。随着工作推进和时间表确定,我们会及时通知社区。
如果您维护 ACME 客户端或运行 ACME 驱动的证书流水线,现在是关注 PLANTS 工作组工作和 mtcs@chromium.org 邮件列表讨论的好时机。即将到来的一些变化需要客户端支持,当签发端就绪时,已准备好的客户端将使生态受益。
关于更广泛的后量子过渡的说明
对于更广泛的互联网社区:后量子加密是更紧迫的问题,因为任何没有后量子密钥交换的 TLS 连接都可能被截获用于日后解密。如果您运行服务器,请确保支持混合后量子密钥交换(X25519MLKEM768)。主要浏览器和操作系统已经支持,在服务器端启用是今年最高杠杆率的行动之一。
结语
自 2013 年以来,我们一直基于“安全应免费、自动、人人可用”的原则为公共 Web 构建基础设施。量子过渡是安全底层机制的一次代际变革。
支持我们的工作 ISRG 是一个 501(c)(3) 非营利组织,100% 依靠与我们共享普遍、开放互联网安全愿景的人们的慷慨支持。如果您愿意支持我们的工作,请考虑参与、捐赠或鼓励您的公司成为赞助商。
评论