红帽企业 Linux(RHEL)中的后量子密码学(PQC)转型工作正在稳步推进。2025 年 5 月,RHEL 10 正是发布,在 OpenSSL、GnuTLS 和 NSS 三大主流密码库中提供了后量子密钥交换算法,使后量子密钥交换可用于 TLS 1.3 连接。随后推出的 RHEL 10.1 进一步将新的密钥交换算法设置为 TLS 中的默认算法,并为 RPM 软件包引入了后量子签名。
Secure Shell(SSH)协议也紧随其后。RHEL 10 随附 OpenSSH 9.9,支持两种混合后量子密钥交换方法:sntrup761x25519-sha512 将经典的 X25519 密钥交换与基于格的精简 NTRU 素数算法(SNTRUP)相结合;mlkem768x25519-sha256 则将 X25519 与由美国国家标准与技术研究院(NIST)标准化实施、基于模块格结构的密钥封装机制(ML-KEM)相结合。从 RHEL 10.1 开始,除非另行配置,否则 OpenSSH 在建立连接时会优先采用后者。
RHEL 10.2 中 SSH 的新增功能
RHEL 10.2 集成了 SSH 的更多 PQC 相关功能。
FIPS 模式下的后量子 SSH 密钥交换
互联网工程任务组(IETF)的 Secure Shell 维护(SSHM)工作组目前正在对 mlkem768x25519-sha256 的 RFC 草案进行最终定稿,该算法正越来越多地被各种 SSH 实施所采纳。但是,该草案还指定了另外两种混合密钥交换算法:mlkem768nistp256-sha256 和 mlkem1024nistp384-sha384。这两种算法将 ML-KEM 变体与基于 NIST 推荐曲线(P-256 和 P-384)的椭圆曲线 Diffie-Hellman(ECDH)密钥交换相结合,而非使用 Curve25519。
由于 ML-KEM 以及基于 P-256/P-384 的 ECDH 均已获得 FIPS 认证,红帽企业 Linux 10.2 将仅提供 mlkem768nistp256-sha256 和 mlkem1024nistp384-sha384 这两种兼容 FIPS 标准的后量子 SSH 密钥交换算法。尽管上游 OpenSSH 维护人员决定不实施这两种额外的混合算法,但借助红帽开发人员提供的 OpenSSH 下游补丁,红帽客户可以开始在 FIPS 模式下将后量子密码学应用于 SSH。
libssh 中的后量子密钥交换支持
这些混合密钥交换结构也终于正式引入 libssh 0.12.0(SSH C 语言库)。与 OpenSSH 行为保持一致,在 RHEL 10.2 中,针对 libssh 构建的 SSH 客户端和服务器现在默认优先选用 mlkem768x25519-sha256 密钥交换算法。这意味着,运行基于 libssh 的自定义服务器的客户只需进行升级,即可防范“先窃取,后解密”攻击。
SSH 的未来展望
更多 PQC 功能仍在标准化进程中,红帽也参与其中。
纯 ML-KEM 密钥交换与后量子 SSH 密钥
我们正密切关注在 SSH 中标准化使用纯(非混合)ML-KEM 密钥交换的相关工作。当前的草案尚未获得 IETF SSHM 工作组采纳,因为尚未就其是否合适而达成共识(反对者认为 ML-KEM 不够成熟)。
业内也在探讨在 SSH 中采用 ML-DSA(NIST 标准化的后量子签名算法系列),目前已有多个竞争性的 RFC 草案:draft-rpe-ssh-mldsa 和 draft-sfluhrer-ssh-mldsa 均致力于在 SSH 公钥中标准化使用纯 ML-DSA,而 draft-sun-ssh-composite-sigs 和 draft-josefsson-ssh-ed25519mldsa65 则旨在标准化使用复合 ML-DSA 签名(例如与经典的 EdDSA 签名相结合)。实施其中任何一个草案,都将允许 SSH 客户端和主机使用后量子公钥进行身份验证,从而防范利用量子计算机实施的中间人攻击。
基于后量子密码学的 GSSAPI 密钥交换
最后,我们正在推进将混合 PQC 方法(即三种混合 ML-KEM 方法)引入 GSSAPI 密钥交换的标准化工作,并在 OpenSSH 和 libssh 中实施。红帽提出的 RFC 草案基于 RFC 4462 和 RFC 8732,采用该草案将使 SSH 中的 Kerberos 身份验证具备量子安全性。
结语
随着 RHEL 10.2 的发布,无论您是在 FIPS 模式下运行,还是使用基于 libssh 的自定义 SSH 应用,均会默认启用后量子 SSH 密钥交换。 建议您将系统升级到最新的 RHEL 10 版本,以帮助缓解“先窃取,后解密”之类的威胁。
展望未来,红帽工程师将继续深度参与 IETF 和上游社区,帮助定义下一阶段的量子安全 SSH,包括后量子主机密钥支持和后量子 GSSAPI(Kerberos)身份验证。随着新的 SSH 标准日趋成熟并达成共识,我们将继续在未来的 RHEL 版本中实施并提供相应支持。
关于作者
Wearing the Red Hat since 2022. RHEL Crypto Team member since 2025.