谷歌在 Chrome 124 正式版中部署了 X25519KYBER768 抗量子加密算法,不过目前这个新机制似乎引起了一些问题,部分 IT 管理员反馈更新后一些网站或服务在 TLS 握手阶段失败导致无法正常访问。
X25519KYBER768 算法主要用于对抗未来的量子计算机解密,这种攻击也被称作是「现在存储稍后解密」攻击,其原理是现在存储浏览器的会话数据,未来使用性能强大的量子计算机解密数据。
现阶段 TLS 加密协议使用的算法包括 ECDSA 算法是难以暴力破解的,然而未来出现的量子计算机破解这类算法应该是很容易的事情,所以部署抗量子加密算法是一种未雨绸缪的做法。
Chrome 团队此前解释到,经过几个月的兼容性和性能影响实验时候,在 Chrome 124 版中推出了混合后量子 TLS 密钥交换策略,这可以保护流量免受现在存储稍后解密攻击。
X25519KYBER768 算法会在 TLS 封装中添加额外的数据,有 IT 管理员认为服务器的 TLS 握手出现失败主要原因可能就是服务器不知道如何处理客户端的 ClientHello 消息中的额外数据。
理论上说这并不算是 Chrome 的问题,主要还是服务器未能正确实现 TLS 以及无法正常处理封装 X25519KYBER768 算法额外数据的更大的 ClientHello 数据包,正常情况下当服务器无法处理这类数据应该会降级到经典加密才对,但现在的情况是没有降级。
这个算法是在 Chromium 中添加的,因此 Microsoft Edge 等其他使用 Chromium 引擎的浏览器也存在同样的问题,目前的临时解决办法是禁用抗量子加密算法。
下面是禁用方法:
适用于普通客户端:转到 Chrome://flags/#enable-tls13-kyber 将抗量子加密算法禁用
Chrome 策略:IT 管理员可以通过企业策略暂时禁用,路径为 Software > Policies > Google > Chrome,将 PostQuantumKeyAgreementEnabled 禁用。
最后 IT 管理员还需要与服务器软件供应商联系,看看是否有支持 Kyber 的软件更新,如果支持则可以更新后再到 Chrome 中启用并进行测试。