原文: OpenSSH Post-Quantum Cryptography
作者: OpenSSH
OpenSSH 支持多种被认为能安全抵御量子计算机攻击的加密密钥协商算法。我们建议所有 SSH 连接都使用这些算法。
OpenSSH 自 9.0 版本(2022年4月)起已默认提供后量子密钥协商(KexAlgorithms),最初通过 sntrup761x25519-sha512 算法实现。近期,在 OpenSSH 9.9 中,我们增加了第二个后量子密钥协商算法 mlkem768x25519-sha256,并在 OpenSSH 10.0(2025年4月)中将其设为了新的默认方案。
为了鼓励向这些更强的算法迁移,OpenSSH 10.1 将在用户选择了非后量子密钥协商方案时发出警告,显示如下信息:
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to “store now, decrypt later” attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
此警告默认显示,但可通过 ssh_config(5) 中的 WarnWeakCrypto 选项关闭。
背景
量子计算机是一种能够以编码为量子态的信息执行计算的设备。这种设备可以快速解决现有“经典”计算机难以处理的特定问题。
量子计算机被认为能够有效解决的难题中,包括支撑许多密码算法的数学基础。这意味着一台足够强大的量子计算机(即“密码学相关”量子计算机)将能够破解它们。受影响最大的是用于密钥协商和数字签名的密码学,这两者在 SSH 中扮演着重要角色。
幸运的是,目前尚未发明出足以破解密码学的强大量子计算机。基于该领域的发展速度,对密码学相关量子计算机何时到来的预测范围在5到20年之间,许多观察者预计它们将在2030年代中期出现。
SSH 连接的整个隐私性都依赖于加密密钥协商。如果攻击者能破解密钥协商,他们就能解密并查看整个会话。攻击者无需实时进行此攻击;他们可以现在收集加密的 SSH 会话,然后在拥有量子计算机后再解密它们。这被称为 “现在存储,稍后解密” 攻击(也称为“现在收获,稍后解密”)。
幸运的是,人们已经设计出改进的 “后量子”密码算法。这些算法依赖于不同的基础数学问题,据信不会被量子计算机攻破。
OpenSSH 支持后量子密钥协商已有数年,旨在防止“现在存储,稍后解密”攻击,并且自 2022 年发布的 OpenSSH-9.0 起已成为默认设置。
常见问题
-
我收到了 ssh 发来的指向此页面的警告。我该怎么办? 如上所述,当连接使用的密码学无法抵御量子计算机时,OpenSSH 10.1 开始警告用户。如果您收到此类警告,意味着您连接的服务器未提供 SSH 协议正在标准化的两种后量子密钥协商算法之一:
mlkem768x25519-sha256和sntrup761x25519-sha512。 理想的解决方案是将服务器更新为支持至少其中一种算法的 SSH 实现。OpenSSH 9.0 及更高版本支持sntrup761x25519-sha512,9.9 及更高版本支持mlkem768x25519-sha256。如果您的服务器已在运行这些版本之一,请检查KexAlgorithms选项是否已禁用它们的使用。 如果您无法更新服务器,并且/或者您愿意接受继续使用非量子安全密码学的风险,可以通过ssh_config(5)中的WarnWeakCrypto选项静音警告。我们建议有针对性地执行此操作,例如:1 2
Match host unsafe.example.com WarnWeakCrypto no -
量子计算机还不存在,为什么还要这么麻烦? 因为上文提到的“现在存储,稍后解密”攻击。除非使用后量子密钥协商,否则今天发送的流量仍面临被解密的风险。
-
签名算法呢?你说它们也有风险。 是的,目前使用的大多数签名算法(包括 RSA 和 ECDSA)都能被量子计算机破解。然而,这不会对现有流量构成风险(即没有类似的“现在存储,稍后解密”攻击)。对于签名算法的唯一紧迫性在于,确保在密码学相关量子计算机成为现实之前,所有传统签名密钥都已退役。OpenSSH 未来将增加对后量子签名算法的支持。
-
我不相信我们会有量子计算机。这是在浪费时间。 有些人认为,将现有量子计算机扩展到足以解决密码学问题的程度,在实践上是不可逾越的。这确实是一种可能性。然而,实现密码学相关量子计算机的大多数障碍似乎是工程挑战,而非基础物理问题。 如果我们关于量子计算机会实用化的判断是正确的,那么我们将保护海量的用户数据。如果我们判断错误,我们所做的也只是迁移到了数学基础更强大的密码算法上。
-
这些后量子算法很新。我们确定它们不会被攻破吗? 我们对此也持谨慎态度。尽管后量子密钥协商算法在过去几年里受到了密码学界的大量协同关注,但仍有可能发现新的攻击方法。 为了防范这种情况,我们选择了具有良好安全余量的后量子算法。这意味着即使它们最终被证明比预期弱,很可能仍然足够强大,足以满足使用目的。 此外,OpenSSH 实现的所有后量子算法都是 “混合”算法,即将一种后量子算法与一种经典算法结合。例如,
mlkem768x25519-sha256结合了 ML-KEM(一种后量子密钥协商方案)和 ECDH/x25519(一种曾是 OpenSSH 首选默认的经典密钥协商算法)。这确保了组合后的混合算法至少不比先前最佳的经典算法差,即使后量子算法未来被密码分析完全攻破也是如此。
本文为基于AI技术的翻译改写,若需了解详细信息,请参考原文出处。