
Cloudflare 最近宣布了 Merkle 树证书(MTCs),这是向互联网工程任务组(IETF)提出的一项提案,该提案从根本上重新设计了网络公钥基础设施(WebPKI),以实现对后量子(PQ)密码学的无性能损失过渡。
通过这一举措,公司解决了一个关键的架构挑战。虽然存在 PQ 算法来保护 TLS 认证免受量子计算机的攻击,但它们庞大的体积目前造成了性能负担,阻碍了其广泛、默认的部署。
推动 PQ 密码学的发展对于减轻“先拦截后解密”的威胁至关重要,即今天截获的加密流量可能在以后被强大的量子计算机解密。
然而,由于尺寸影响,用新算法替换现有算法并不现实:ML-DSA-44 签名,这是一个由 NIST 标准化的性能良好的 PQ 算法,是 2,420 字节,而标准 ECDSA-P256 仅为 64 字节。此外,公钥的大小也显著增加。此外,现代 WebPKI 涉及长信任链和证书透明度(CT)要求,目前需要每个 TLS 握手最多五个签名和两个公钥。使用 PQ 算法,这会导致“每次握手产生数十千字节的开销”,从而严重降低性能和增加延迟。
这种开销使得 PQ 证书成为今天启用的一个困难选择,因为它们没有提供即时的安全优势,反而会显著降低用户体验。然而,Cloudflare 的MTC提议通过大幅减少 TLS 握手期间交换的数据量,依靠带外分发模型,解决了这一困境。
该架构不再传输完整的长证书链,而是转向了默克尔树包含证明。客户端需要验证默克尔树证书的所有信息都可以通过带外方式传播。如果客户端已充分更新,TLS 握手只需要一个签名、一个公钥和一个默克尔树包含证明。
这实现了以下关键架构转变:
极简握手:即使使用更大的 PQ 算法,也能将握手开销降至最低。
内置透明度:MTC 通过让每个证书颁发机构(CA)运行自己的日志,将证书透明度(CT)作为一等特性集成,从而简化了主要浏览器所需的审计过程。
预期性能提升:该协议预计将减少握手大小和 CPU 成本,即使与当前非 PQ 标准相比,也能导致整体延迟的减少。
(来源:Cloudflare博客文章)
该提议立即在 Hacker News 的帖子中引发了架构师和开发人员的讨论,主要集中在部署可行性和带外模型的影响上。
评论者 crote 提出了一个核心问题,即越来越依赖浏览器供应商提供关键的 TLS 生态系统组件,比如根存储和现在的 MTC Merkle 树。他们质疑了 evergreen 浏览器之外的客户端的命运,如 curl、自定义 HTTP 库、电子邮件客户端和嵌入式设备。
让我担心的是,我们越来越多地让浏览器供应商成为了 TLS 生态系统的关键部分……“互联网”比“谷歌 Chrome 浏览器上的某个网站”要大得多,我们应该注意,不要让所有其他用例变得不可能。
另一位受访者 Mcpherrinm(自称在 Let's Encrypt 工作,但非官方发言)澄清说,像 Windows 和 Mac 这样的主要操作系统上的“平台验证器”可以处理带外数据的获取和共享,并指出浏览器领导这一举措是因为“操作系统”没有跟上快速 PQ 部署的需求。
评论者 mtud 对 TLS 握手期间的元数据泄露表示担忧,他认为传输客户端拥有的树头可能会允许服务器或网络路径上的任何人根据客户端最近更新树头状态的时间来识别客户端。
我不喜欢给每个我通过 TLS 连接的服务器提供根据我最近(或不)获取 MTC 树头的指纹识别能力。
Cloudflare 工程师 Bwesterb 承认了这一担忧,但指出泄露将是最小的,可能只是在周末离线后重新打开笔记本电脑后的一两分钟,并建议进一步压缩树头信息的潜在方法。
该帖子还讨论了 MTCs 与替代解决方案(如 DANE——基于 DNS 的命名实体认证)的必要性,以及整体 PQ 过渡时间表。Mcpherrinm 表示,Chrome 已将 MTCs 指定为其“首选(或唯一)的后量子证书选项”,这表明在未来几年部署 MTC 的可能性很高。他们进一步强调了庞大的时间表,预计由于操作系统、发行版和客户端的更新周期,可能需要 10-15 年才能在整个生态系统中完全推出 MTC 支持。
Cloudflare 的 IETF 提案代表了一个重要的尝试,即在不牺牲网络对低延迟的需求的情况下,使后量子准备成为可能。
原文链接:
https://www.infoq.com/news/2025/11/cloudflare-merkle-tree-certifica/








评论