Google正在更新Chrome中的后量子加密技术,用NIST标准化的模块格密钥封装机制(ML-KEM)取代实验性的Kyber,以增强对量子计算攻击的防护。
Google Chrome将从Kyber切换到ML-KEM,以实现后量子加密。
ML-KEM源自CRYSTALS-KYBER KEM,专为安全密钥交换而设计。
此次转变是保护系统免受量子计算威胁的重要举措之一。
此更改将于2024年11月初即将发布的Chrome 131版本(当前版本为128)中生效。
据了解,Google于8月份开始测试后量子安全TLS密钥封装机制,并在Chrome 124版本中默认启用新的抗量子X25519Kyber768封装机制。
但当时出现了一些问题,一些Web应用程序、防火墙和服务器在ClientHello TLS握手后断开连接。
近日,Google Chrome团队(包括David Adrian、David Benjamin、Bob Beck 和 Devon O’Brien)提到,当时混合密钥交换使用了前量子X25519算法和新的后量子算法Kyber,Kyber的NIST标准化过程尚未完成。
如今,Kyber算法已经过标准化,并更名为ML-KEM。
Chrome团队表示,其在Google的加密库BoringSSL中实现了ML-KEM ,这使得它能够被依赖于此库的服务部署和使用。
对ML-KEM最终版本的更改使其与之前部署的 Kyber 版本不兼容。
因此,TLS中用于混合后量子密钥交换的代码点从Kyber768+X25519的0x6399更改ML-KEM768+X25519的0x11EC。
为了解决这个问题,Chrome团队将在Chrome 131中进行以下更改:
Chrome将从支持Kyber转向支持ML-KEM
Chrome将为混合ML-KEM(代码点0x11EC)提供密钥份额预测
PostQuantumKeyAgreementEnabled标志和企业政策将适用于Kyber和ML-KEM
Chrome 将不再支持混合Kyber(代码点 0x6399)
Google指出,两种混合后量子密钥交换方法本质上是不兼容的,这促使其放弃Kyber。
Google解释道,必须完全取消对Kyber的支持,因为与前量子算法相比,后量子加密涉及的数据量要大得多。
例如,基于Kyber的密钥交换可能占用超过1000 个字节,而ML-DSA等后量子签名甚至更大——导致典型的握手中超过14000个字节。
如果谷歌决定除了ML-KEM之外还继续支持 Kyber,那么Chrome上的网络性能和效率将受到严重损害。
谷歌指出,服务器运营商可以暂时支持这两种标准,以维护更广泛客户端的安全性,并帮助尚未升级的客户端更顺利地过渡,但ML-KEM应该是所有利益相关者的最终目标。
“我们不想让任何客户端的后量子安全性退化,所以我们要等到Chrome 131才进行这一改变,以便服务器运营商有机会更新他们的实现。”
从长远来看,Google希望通过新出台的密钥共享预测IETF草案来避免后量子密钥共享预测的“先有鸡还是先有蛋”问题。这样一来,服务器就可以在DNS中广播它们支持的算法,客户端就可以预测服务器已知支持的密钥共享。
如此客户端就可以从一开始就使用适当的密钥,避免握手期间的额外往返。在使用大型后量子算法时,这种风险尤其昂贵。
Google博客原文:
https://security.googleblog.com/2024/09/a-new-path-for-kyber-on-web.html
声明:本文来自公钥密码开放社区,版权归作者所有。文章内容仅代表作者独立观点,不代表沃通CA立场,转载目的在于传递更多信息。如有侵权,请联系删除。