背景:量子计算威胁与 TLS
量子计算机的快速发展对现有加密体系构成了潜在威胁。Shor 算法能够在多项式时间内分解大整数和计算离散对数,这意味着当前的 RSA、ECDSA 等公钥密码系统将可能被破解。SSL/TLS 协议中依赖的密钥交换和数字签名都可能受到影响。
虽然大规模量子计算机尚未出现,但"现在收集,以后解密"(harvest now, decrypt later)攻击已经是一种现实威胁 —— 攻击者可以预先收集加密流量,等待量子计算机足够强大时进行解密。
面对这一威胁,TLS 协议社区开发了混合密钥交换(Hybrid Key Exchange)方案,在传统算法基础上叠加后量子算法,实现"双重保险"。
什么是混合密钥交换
混合密钥交换同时使用两种不同的密钥交换算法,将其结果组合生成最终的会话密钥:
|
|
这种方案的优势在于:
- 兼容性:至少一个算法是传统经典算法,确保与旧系统兼容
- 安全性:即使量子计算机破解了其中一种算法,攻击者仍无法获得完整密钥
- 渐进性:可以逐步在网络中部署后量子算法
X25519MLKEM768 详解
X25519MLKEM768 是 TLS 1.3 中最常用的混合密钥交换组合:
| 组件 | 类型 | 算法 |
|---|---|---|
| X25519 | 传统 | Curve25519 ECDH |
| ML-KEM-768 | 后量子 | Kyber-768 (NIST Level 3) |
X25519
X25519 是基于 Curve25519 曲线的椭圆曲线 Diffie-Hellman 密钥交换协议,目前被广泛使用。它提供 128 位的安全强度,已被包括 Apple、Google 在内的主要厂商采用。
ML-KEM-768
ML-KEM(Module-Lattice-Based Key-Encapsulation Mechanism)是 NIST 后量子密码学标准中的密钥封装机制,基于 Kyber 算法。它提供约 192 位的安全强度(NIST Level 3),能够抵抗量子计算机攻击。
组合原理
在 TLS 1.3 握手过程中,X25519MLKEM768 的工作流程如下:
|
|
这种设计确保了即使量子计算机能够破解 X25519,也无法破解完整的握手密钥,因为还需要 ML-KEM 的密钥材料。
支持状态
截至 2026 年,以下软件已支持 X25519MLKEM768:
| 软件 | 支持版本 |
|---|---|
| OpenSSL | 3.2.0+ |
| Nginx | 1.26.0+ (配合 OpenSSL 3.2+) |
| BoringSSL | Chrome 131+ |
| Apple Secure Transport | iOS 26+, macOS 26+ |
| Go | 1.24+ (实验性) |
Apple 已在 iOS 26 和 iPadOS 26 中将 X25519MLKEM768 作为 TLS 1.3 的默认密钥交换算法,这是业界首次大规模部署后量子 TLS。
OpenSSL 配置示例
OpenSSL 3.2+ 支持使用 X25519MLKEM768 混合密钥交换。
检查支持
|
|
启用混合密钥交换
在客户端配置中,可以通过 groups 参数启用:
|
|
查看服务器支持的密钥交换组
|
|
Nginx 配置示例
Nginx 1.26+ 配合 OpenSSL 3.2+ 可以启用 X25519MLKEM768 支持。
在 Nginx 配置中启用后量子密钥交换:
|
|
配置说明
ssl_groups:指定允许的密钥交换组,按优先级排序x25519mlkem768:最高优先级,启用混合密钥交换- 如果客户端不支持,服务器会自动回退到传统算法(如 secp256r1)
测试验证
使用 testssl.sh
|
|
使用 openssl 查看握手
|
|
如果配置成功,你应该能在 ClientHello 和 ServerHello 中看到两个密钥共享(X25519 和 ML-KEM)。
注意事项
性能考虑
ML-KEM 的计算成本高于传统 ECDH。在性能敏感的场景中,可以考虑:
- 仅对高安全需求的端点启用混合密钥交换
- 使用硬件加速(如支持 ML-KEM 的 CPU 指令)
兼容性
混合密钥交换目前仍处于早期部署阶段。如果服务器启用后量子算法但客户端不支持,握手会回退到传统算法。建议监控握手成功率,确保回退机制正常工作。
长期安全
X25519MLKEM768 提供约 256 位的安全强度(传统 128 位 + 后量子 128 位),能够满足长期安全需求。如果未来出现更强大的量子计算机,可以通过升级到更高安全级别的后量子算法(如 ML-KEM-1024)来应对。
总结
后量子 TLS 已成为 TLS 安全的必然演进方向。X25519MLKEM768 混合密钥交换方案通过结合传统 ECDH 和后量子 ML-KEM,在保证兼容性的同时提供对抗量子计算攻击的能力。
随着 Apple 在 iOS 26 中默认启用这一技术,预计主流浏览器和服务器将加速支持。提前了解和学习这一技术,有助于在量子计算时代到来前做好安全准备。