Featured image of post 谷歌的 HTTPS 抗量子方案:如何将 15kB 的数据“塞进” 700 字节?

谷歌的 HTTPS 抗量子方案:如何将 15kB 的数据“塞进” 700 字节?

Google 与 Cloudflare 正在推动 Merkle Tree Certificates (MTC) 技术,旨在解决抗量子加密带来的证书体积膨胀问题,确保 Web 安全平滑过渡。

阅读时长: 3 分钟
共 1358字
作者: eimoon.com

量子计算的威胁正从理论研究一步步逼近现实。虽然目前我们还没看到能瞬间破解 RSA 加密的“神级”量子计算机,但密码学界已经达成共识:现有的加密体系在 Shor 算法面前弱不禁风。

为了应对这个未来的挑战,谷歌近期披露了 Chrome 浏览器的一项关键计划:通过一种巧妙的数学结构——默克尔树证书(Merkle Tree Certificates, MTC),在不拖慢互联网速度的前提下,实现 HTTPS 的抗量子化。

“巨型”证书带来的性能危机

目前的 Web 安全基石是 X.509 证书链。一个典型的证书链大约包含 4KB 的数据,主要由几个不到 100 字节的椭圆曲线签名和公钥组成。这种结构非常精简,适合在握手阶段快速传输。

然而,抗量子算法(如 ML-DSA)生成的密钥和签名体积非常庞大。如果直接套用现有的 PKI(公钥基础设施)框架,抗量子加密所需的材料将使证书链膨胀到 15KB 左右,是现在的 40 倍。

这不仅仅是数据量变大的问题。Cloudflare 首席研究工程师 Bas Westerbaan 指出,证书体积的剧增会导致握手延迟显著增加。更糟糕的是,互联网路径上大量的“中间盒”(Middle boxes,如防火墙和路由器)往往对数据包大小有严格限制,过大的证书包可能会直接导致连接中断。如果用户发现开启新加密方案会导致网页加载变慢甚至打不开,他们会毫不犹豫地关掉这项保护。

默克尔树:化繁为简的艺术

为了打破这个僵局,谷歌和 Cloudflare 转向了默克尔树(Merkle Trees)——这种在区块链和文件校验中广为人知的技术。

在传统的证书体系中,浏览器需要验证一串长长的签名链。而在 MTC 模式下,证书颁发机构(CA)不再是为每一个证书单独签名,而是将成千上万个证书组织成一棵默克尔树。

CA 只需要对这棵树的“树头”(Tree Head)进行一次抗量子签名。当你的浏览器访问某个网站时,服务器不再发送完整的签名链,而只是发送一个轻量级的“包含证明”(Proof of Inclusion)。

这就好比你向别人证明你是某本书的作者:你不需要背下整本书给对方听,你只需要展示书的封面(树头)以及一个能证明你的这一页(证书)确实属于这本书的数学指纹。

通过这种方式,抗量子证明的数据量被极大地压缩。Westerbaan 表示,利用这些数学技巧,MTC 能够将抗量子证书的体积维持在 4KB 左右,与现在的经典证书相当。

现状与未来:已经动起来的生态

谷歌的这项计划并非停留在纸面上。目前,Chrome 浏览器已经内置了对 MTC 的支持。Cloudflare 正在测试环境中为大约 1000 个 TLS 证书启用该技术,以评估其在真实网络环境中的稳定性。

目前的测试由 Cloudflare 充当分布式账本的角色,但长远来看,这需要整个 CA 行业的跟进。为了推动标准化,互联网工程任务组(IETF)专门成立了一个名为 PLANTS(PKI, Logs, And Tree Signatures)的工作组,负责协调各方制定长期解决方案。

这次升级本质上是为 Web 安全打补丁。谷歌将其称为“抗量子根存储计划”(Quantum-resistant root store),旨在为现有的 Chrome 根存储提供双重保障。即使 Shor 算法真的在未来几年内突破了经典加密,这层抗量子防护也能确保用户通信的隐私。

这种从底层协议到应用端的全方位演进,反映出技术社区在“后量子时代”来临前的焦虑与从容——焦虑在于威胁的确定性,而从容则源于我们还有时间通过像 MTC 这样优雅的工程手段,在用户毫无察觉的情况下完成这次事关互联网命脉的更迭。

关于

关注我获取更多资讯

公众号
📢 公众号
个人号
💬 个人号
使用 Hugo 构建
主题 StackJimmy 设计