Cloudflare提出使用Merkle树证书来解决后量子时代的TLS性能问题

Source: InfoQ - Cloud

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/