量子计算的快速发展对现代密码学构成了前所未有的威胁。当前广泛使用的 RSA、ECDSA 等公钥密码算法依赖于大整数分解或离散对数问题的计算难度,但量子计算机的 Shor 算法可以在多项式时间内解决这些问题。这意味着当大规模量子计算机成熟时,现有的 SSL/TLS 证书、SSH 密钥、数字签名都将面临被破解的风险。

什么是后量子密码学

后量子密码学(Post-Quantum Cryptography,PQC)是指能够在经典计算机上运行,但能够抵御量子计算机攻击的密码学算法。这些算法不依赖量子力学原理,而是基于量子计算机也难以高效求解的数学问题,如格密码(Lattice-Based)、编码密码(Code-Based)、多变量密码(Multivariate)等。

与量子密钥分发(QKD)不同,PQC 是软件层面的解决方案,可以在现有硬件和网络上部署,无需专门的量子通信设备。

NIST PQC 标准化进程

美国国家标准与技术研究院(NIST)自 2016 年启动后量子密码学标准化项目,经过多轮筛选,于 2024 年 8 月发布了首批三个最终标准。

首批发布的三个标准

标准名称 类型 底层技术 用途
ML-KEM 密钥封装机制 模块格(Module-Lattice) 密钥交换、TLS 握手
ML-DSA 数字签名 模块格(Module-Lattice) 证书签名、代码签名
SLH-DSA 数字签名 哈希(Hash-Based) 替代签名方案

ML-KEM(原 Kyber)是基于格理论的密钥封装机制,将取代传统的 Diffie-Hellman 密钥交换,用于 TLS 1.3 握手阶段的密钥协商。

ML-DSA(原 Dilithium)是基于格理论的数字签名算法,将作为主要的签名方案,用于 SSL/TLS 证书、代码签名等场景。

SLH-DSA(原 SPHINCS+)是基于哈希的签名算法,作为备份方案,安全性基于哈希函数的抗碰撞性。

正在标准化的候选算法

除了首批三个标准,NIST 还在评估以下算法:

  • Falcon:基于格的高效签名算法,签名更短,适用于带宽受限场景
  • HQC:基于编码的密钥封装机制,提供额外的安全保障

实际影响与迁移时间线

对 TLS/SSL 的影响

当前的 TLS 协议使用 RSA 或 ECDSA 进行身份验证,使用 ECDHE 进行密钥交换。迁移到 PQC 后:

  1. 密钥交换:从 ECDHE 迁移到 ML-KEM
  2. 数字签名:从 ECDSA/RSA 迁移到 ML-DSA

混合方案(Classical + PQC)将在过渡期共存,确保即使 PQC 算法出现问题,传统算法仍能提供安全保障。

关键时间节点

  • 2035 年:NIST 计划在此之前淘汰易受量子攻击的算法
  • 高风险系统:应在 2030 年前完成迁移
  • 现在开始:企业应盘点现有系统中的易受攻击算法,制定迁移计划

OpenSSL PQC 支持现状

截至本文写作时,OpenSSL 3.0.x 系列尚未内置 PQC 算法支持。预计在 OpenSSL 3.2+ 版本中会添加 ML-KEM 和 ML-DSA 的原生支持。

1
2
3
4
5
6
7
8
# 检查当前 OpenSSL 版本
$ openssl version
OpenSSL 3.0.19 27 Jan 2026

# 查看当前支持的密钥封装机制
$ openssl list -kem-algorithms | head -20
ECDHE                              # 传统的 ECDH 密钥交换
X25519Kyber768                     # 混合式:X25519 + Kyber (如果已支持)

如果使用支持 PQC 的 OpenSSL 版本,可以使用以下命令生成 ML-KEM 密钥:

1
2
3
# 生成 ML-KEM-768 密钥对(需要 OpenSSL 3.2+)
openssl genpkey -algorithm ML-KEM-768 -out kem_private.pem
openssl pkey -in kem_private.pem -pubout -out kem_public.pem

如何准备 PQC 迁移

1. 盘点现有系统

识别所有使用 RSA、ECDSA、DH 算法的系统和服务,包括:

  • SSL/TLS 证书
  • SSH 密钥
  • 代码签名证书
  • VPN 密钥交换
  • API 签名密钥

2. 建立清单

记录以下信息:

  • 证书类型(RSA/ECDSA)
  • 密钥长度
  • 所属系统
  • 到期时间
  • 业务重要性

3. 选择混合方案

在过渡期,优先采用传统算法与 PQC 的混合方案:

  • TLS 1.3 握手可以使用混合密钥交换
  • 证书链可以同时包含传统签名和 PQC 签名

4. 测试与验证

在测试环境中验证 PQC 算法的兼容性,确保:

  • 客户端和服务器都支持新算法
  • 性能影响在可接受范围内
  • 与现有系统的互操作性

总结

后量子密码学不是遥远的未来技术,而是正在发生的现实。NIST 首批 PQC 标准的发布标志着密码学新时代的开始。虽然大规模量子计算机可能还需数年才能实现,但"现在收集,以后解密"(Harvest Now, Decrypt Later)攻击已经存在——攻击者现在开始收集加密数据,等待量子计算机成熟后解密。

对于安全从业者,现在正是开始规划 PQC 迁移的最佳时机。关注 OpenSSL、Nginx、Go 等关键组件的 PQC 支持进度,在过渡期采用混合方案确保平滑迁移。


参考来源