OpenSSH后量子加密警告解析:为何出现及是否需要升级"

目前 Debian 12 官方仓库中的 OpenSSH 版本仍为 9.2,尚未默认支持后量子算法(PQC),因此普通用户无法通过常规升级启用 mlkem768x25519-sha256。这意味着在大多数生产环境中,OpenSSH 后量子加密的全面落地还需等待发行版更新周期。

以下全文转载自OpenSSH: Post-Quantum Cryptography

OpenSSH支持多种被认为可抵御量子计算机攻击的加密密钥协商算法。我们建议所有SSH连接都使用这些算法。

OpenSSH自9.0版本(2022年)起默认提供后量子密钥协商(KexAlgorithms)功能,最初通过sntrup761x25519-sha512算法实现。最近,在OpenSSH 9.9版本中,我们新增了第二种后量子密钥协商算法mlkem768x25519-sha256,并在OpenSSH 10.0版本中将其设为默认方案。

为鼓励迁移到这些更强的算法,OpenSSH 10.1版本将在选择非后量子密钥协商方案时向用户发出警告,消息如下:

** WARNING: connection is not using a post-quantum kex 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选项禁用。

背景

量子计算机(QC)是一种能够对以量子态编码的信息进行计算的设备。此类设备可快速解决现有“经典”计算机难以处理的特定问题。

许多加密算法的数学基础正属于量子计算机被认为能够有效解决的问题。这意味着,足够强大的量子计算机(即“具有密码学意义的量子计算机”)将能够破解这些算法。受影响最大的是用于密钥协商和数字签名的密码学,这两者在SSH中都扮演着重要角色。

幸运的是,足以破解密码学的量子计算机尚未发明。基于该领域的进展速度,关于具有密码学意义的量子计算机何时出现的估计范围为5-20年,许多观察人士预计它们将在2030年代中期出现。

SSH连接的整个保密性依赖于加密密钥协商。如果攻击者能够破解密钥协商,他们就能解密并查看整个会话。攻击者无需实时执行此攻击;他们可以现在收集加密的SSH会话,然后在获得量子计算机后解密它们。这被称为“存储现在,解密以后”攻击(也称为“捕获现在,解密以后”攻击)。

OpenSSH支持后量子密码学,以保护用户流量免受此类攻击。

常见问题解答

我收到了ssh的警告,指向了这个页面。我该怎么办?

如上所述,OpenSSH 10.1版本开始在连接使用不安全的量子加密时向用户发出警告。如果您收到此类警告,说明您连接的服务器未提供两种正在为SSH协议标准化的后量子密钥协商算法之一:mlkem768x25519-sha256sntrup761x25519-sha512

理想的解决方案是将服务器更新为至少支持其中一种算法的SSH实现。OpenSSH 9.0及更高版本支持sntrup761x25519-sha512,9.9及更高版本支持mlkem768x25519-sha256。如果您的服务器已运行这些版本,请检查KexAlgorithms选项是否禁用了它们的使用。

如果您无法更新服务器,或者希望接受继续使用量子不安全加密的风险,可通过ssh_config(5)中的WarnWeakCrypto选项关闭警告。我们建议选择性关闭,例如:

Match host unsafe.example.com  
    WarnWeakCrypto no  

量子计算机还不存在,为什么要这么麻烦?

因为上面提到的“存储现在,解密以后”攻击。除非使用后量子密钥协商,否则当前发送的流量可能面临日后解密的风险。

那签名算法呢?你说它们也有风险。

是的,大多数当前使用的签名算法(包括RSA和ECDSA)都可能被量子计算机破解。但这种情况下,现有流量没有风险(即不存在类似的“存储现在,解密以后”问题)。签名算法的唯一紧迫性在于,确保所有经典签名密钥在具有密码学意义的计算机成为现实之前淘汰。OpenSSH将在未来添加对后量子签名算法的支持。

我不相信我们会造出量子计算机。这是浪费时间。

有些人认为,将现有量子计算机扩展到能够解决密码学问题的程度在实践中是不可逾越的。这是一种可能性。然而,具有密码学意义的量子计算机面临的大多数障碍是工程挑战,而非基础物理问题。

如果我们关于量子计算机可行性的判断正确,我们将保护大量用户数据。如果判断错误,我们也只是转向了具有更强数学基础的加密算法而已。

这些后量子算法是新的。我们确定它们没有被破解吗?

我们也对此保持警惕。尽管后量子密钥协商算法在过去几年中受到了集中的密码学关注,但仍有可能发现新的攻击方法。

为应对这种情况,我们选择了具有良好安全余量的后量子算法。这意味着,即使它们的实际强度低于预期,仍可能足以满足使用需求。

此外,OpenSSH实现的所有后量子算法都是“混合”算法,即将后量子算法与经典算法结合。例如,mlkem768x25519-sha256结合了后量子密钥协商方案ML-KEM和经典密钥协商算法ECDH/x25519(后者曾是OpenSSH首选的默认算法)。这确保了即使后量子算法未来被密码分析完全破解,混合算法也不会比之前最好的经典算法差。

您可能感兴趣的文章

发现更多精彩内容