1. 引言
若现在不使用量子安全算法来加密数据,能够存储当前通信的攻击者最快十年内就能对其解密。这种先存储后解密的攻击是当前采用后量子密码学 (post-quantum cryptography,PQC) 背后的主要动机,但其他未来的量子计算威胁也需要一个深思熟虑的计划——将当前的经典密码算法迁移到PQC。
本文探讨优先考虑量子威胁的主要考虑因素是:
- 所讨论的量子攻击的可行性。
- 存在先存储后解密攻击。
- 需要具有数十年使用寿命的固定公钥的应用场景。
- 需 对可能需要大量重新设计才能与后量子算法配合使用的系统进行探索性研究,特别是在需要更广泛的行业协作的情况下。
量子计算机主要通过两种算法威胁密码学:
- 用于分解整数和求解离散对数的 Shor 算法
- 可反转黑盒函数的 Grover 搜索算法。
如前所述,确定优先级的一个主要考虑因素是:
- 若对手将来能够访问量子计算机,那么当前的系统是否已经面临风险。现在存储密文并稍后解密是一个典型的例子,需要在量子计算机出现之前就部署 PQC。
基于此,可将密码学大致分为四种不同的技术:
- 非对称加密和密钥协商:使用私钥/公钥对建立可用于对称加密的密钥。受 Shor 算法影响,容易受到“先存储后解密”攻击。
- 数字签名:使用私钥/公钥对来验证数据并提供不可否认性。受 Shor 算法影响,但不容易受到“先存储后解密”攻击。
- “Fancy”密码学:此类取决于特定算法和用例,但许多隐私保护技术(如 盲签名、 Oblivious pseudorandom function, ORPF等)将受到 Shor 算法的影响,且部分容易受到“先存储后解密”的影响。其中许多技术需要进一步研究。建议仔细评估量子威胁对这些计划的影响。
- 对称密码学:使用单个密钥来加密和验证数据。目前认为对称密码学不会在所有实际用途上受到量子计算机的影响。Grover 算法可用作攻击手段,但目前认为即使对于medium-term量子计算机也是不可行的。(详情参见2017年论文Reassessing Grover’s Algorithm。)
2. 密码学算法及混合部署
NIST一直致力于标准化新的量子安全算法,以解决非对称加密和密钥协议以及数字签名问题。相关算法有:
算法 | 类型 | 公钥大小 | 密文/签名大小 |
---|---|---|---|
ECDH(经典算法) | 密钥协商 | 32字节 | 32字节 |
ECDSA(经典算法) | 数字签名 | 32字节 | 64字节 |
Kyber-768/ML-KEM-768 | 密钥协商 | 1184字节 | 1088字节 |
Dilithium3/ML-DSA-65 | 数字签名 | 1952 字节 | 3309字节 |
SPHINCS±128s/SLH-DSA-128s | 数字签名 | 32字节 | 7856 字节 |
NIST 计划发布更多密钥协商和签名标准,详情见:
- Post-Quantum Cryptography PQC Round 4 Submissions
- Post-Quantum Cryptography: Digital Signature Schemes
以便制定基于更广泛的数学假设的方案,并允许在公钥大小和密文/签名大小之间进行不同的权衡。
虽然目前提出的 PQC 算法在过去十年中已接受了大量的密码分析,但它们仍然不如经典密码学成熟,建议是以混合方式来使用经典密码学和PQC,这要求攻击者同时破解经典算法和后量子算法。
3. 密码学应用场景
经典密码学广泛应用于现代软件和基础设施中。后量子密码学将影响许多现有的部署。接下来将针对不同的用例给出了建议,但请注意,标准仍在制定中,这些标准将成为使用哪种算法的更明确的指导。
3.1 传输中的加密
传输中的加密主要包括 TLS、SSH、安全消息传递(如RCS, Messages End-to-End Encryption Overview和 MLS中使用的 Signal )以及 Google 的 ALTS。这里的主要威胁是先存储后解密。
因此,部署像 Kyber(ML-KEM、FIPS 203)这样的 PQC 密钥封装方案迫在眉睫。
为了减轻这种威胁:
- 只需要在初始密钥协议中添加一个临时 PQC 密钥即可。
- 长期 PQC 密钥(如公共或私有 CA)属于公共密钥基础设施,并且需要社区达成共识才能进行有意义的部署。
传输中加密的好消息是堆栈数量有限。与 Google 最相关的有:
- TLS, Protecting Chrome Traffic with Hybrid Kyber KEM
- SSH, Secure Shell (SSH) Key Exchange Method Using Hybrid Streamlined NTRU Prime sntrup761 and X25519 with SHA-512: sntrup761x25519-sha512
- Signal, The PQXDH Key Agreement Protocol
- ALTS, Securing tomorrow today: Why Google now protects its internal communications from quantum threats
在撰写本文时,这些都已开始推出 PQC 算法。传输中加密所需的密钥的短暂性,使得这个用例虽然最紧迫,但出于技术和社会原因也是相对最简单的。
当前对传输中加密的建议是使用 Kyber768 与 X25519 或 P256 混合进行密钥协商。
3.2 固件签名
固件签名用于保护 安全启动信任链的根。这些签名的公钥通常必须被刻录到硅芯片中,或以其他方式防止被更改和篡改。
这使得在大多数情况下无法更改此用例的签名方案。对于寿命长达十年或更长的设备,最终会遇到与“先存储后解密”攻击类似的情况,现在需要实施量子安全算法,因为无法稍后对其更改。由于加密算法的硬件实现通常涉及较长的生产时间,这使得情况变得更加复杂。
当前对固件签名的建议是使用基于无状态哈希的签名方案 SPHINCS+(FIPS 205、SLH-DSA)。
3.3 软件签名
软件签名与固件签名类似,需要保证安全启动并使部署能够防止二进制文件和源代码被篡改。与固件签名不同,软件签名的公钥通常可以更新,并依赖较低级别的签名来确保真实性。最重要的是,二进制文件和源代码通常都相当大,并且签名和验证都不是特别受资源限制。这为该应用场景提供了最大的灵活性和相对宽松的时间表。
该应用场景正在大量开发,尽管时间表相对宽松,但将 PQ 签名包含在当前正在编写的标准中可能是有意义的。
对此,当前的建议是:
- 使用 Dilithium3(FIPS 204、ML-DSA)与 ECDSA/EdDSA/RSA 混合,或使用 SPHINCS+(FIPS 205、SLH-DSA)。
3.4 公钥基础设施
公钥基础设施是用于为传输中的加密提供真实性以及机器和人员的可靠身份的基础设施。
PKI 通常依赖于证书链,即带有附加签名的公钥,该签名可由链中较高级别的密钥验证。这使得当前形式的 PKI 极易受到后量子方案规模增加的影响。单个 Dilithium3 签名 + 公钥大于 5kB,使得任何带有中介的 PKI 部署都非常昂贵。特别是对于 Web PKI,当数据包增长超过 10 - 30 kB 时,某些设备就会开始出现故障(详情见2021年11月8日博客Sizing Up Post-Quantum Signatures)。这个问题可能是可以解决的,但无论如何都会造成严重的性能损失。
有几种替代方法可以简单地用量子安全签名替换经典签名,这可以解决 PKI 的性能问题。目前正在寻求在这个领域进行试验,以收集数据以提供更可靠的建议。
3.5 token
数字签名的另一个广泛使用是无状态非对称令牌,如JSON Web Token(JWT)。使用对称加密技术或使用状态技术作为纵深防御措施的令牌不会受到量子威胁的影响。对于非对称令牌来说,主要困难是它们经常带来的大小限制。如,应该保存为 cookie 的令牌对于整个令牌可用的上限为 4096 字节。若以二进制编码,Dilithium3 签名将占用其中的 3309 个字节,而在采用 Base64 编码时,则需要4412 个字节将不符合此要求。
无状态令牌具有独立的安全问题,转向有状态令牌是谨慎的做法,只是为了确保系统更健壮。NIST 竞赛的第二个入口中的一些方案具有非常小的签名,但却又很大的公钥——可为解决令牌场景的另一种工具。
建议是:
- 尽可能使用有状态令牌,因为它们具有额外的安全优势。
此外,希望在这个领域进行试验,收集数据以获得更可靠的建议。
3.6 其它
还有一些不属于以上分类的其它应用场景,如:
- 在某些情况下,文档必须进行非对称加密,与传输中的加密分开。该用例主要包括通过 S/MIME 加密和签名的电子邮件,但也包括使用 HPKE 或 PGP 的各种协议,或直接使用数字签名。
另一种更重要的非对称加密协议是 HSM 的密钥导入。
这些用例对密文大小不太敏感,因此将 Kyber (FIPS 203/ML-KEM) 与 ECDH/X25519 混合使用应该不会带来太多挑战。特别是对于 S/MIME,多收件人设置可能会产生额外的困难。
与上面讨论的 HSM 相关但不等同的另一个用例是硬件信任根,如安全密钥或 TPM,它们在硬件限制方面面临着自己的困难。
隐私保护和其他更奇特的方案将需要额外的研究才能安全部署。
4. 威胁者和时间表
缺乏量子安全机密性和缺乏量子安全真实性都可能被威胁者利用。虽然对机密性的威胁更为直接,但对真实性的威胁往往影响范围更广,更具破坏性。
4.1 威胁者:国家
国家最有可能首先实现与密码相关的量子计算机。他们很可能会尝试以可否认的方式部署量子计算机,以避免向对手透露其能力。国家最有可能针对其他国家客户的云部署,并可能针对政治异见人士和其他监视目标。国家也可能出于军事或经济原因而针对谷歌或其他基础设施提供商。
虽然构建与密码相关的量子计算机很困难,但一旦机器建成,破解任何给定的公钥应该不会太昂贵。考虑到传输密钥加密的短暂性,最有可能的第一个目标将是 PKI 等所需的更多静态密钥,以及破坏被认为高度感兴趣的存储通信。随着量子计算机变得越来越便宜,它们可能会瞄准越来越多的受害者。
一些人担心国家可能会试图对 NIST 发布的算法进行后门或削弱,就像过去在 Dual_EC_DRBG, Dual EC: A Standardized Back Door的情况下所做的那样。为了消除此类担忧,NIST 标准是在 公开竞赛中设计的。此外,如果大多数部署都是混合方式,那么在量子计算机问世之前,单独破解 PQC 算法将无济于事,这让公众有几年的时间来发现任何潜在的后门。
4.2 威胁者:内部威胁
谷歌和其他公司正在致力于构建量子计算机,该计算机最终可能与密码学相关。与其他珍贵技术一样,内部威胁仍然是一个媒介。为此,公司需要采取必要的预防措施来保护他们的皇冠上的宝石,以避免被国家威胁和其他有动机的攻击者盗窃或利用。
4.3 威胁者:勒索软件和其他出于经济动机的威胁者
对于出于经济动机的威胁者来说,主要考虑因素是量子计算机的可用性。如果量子计算机的用例仍然有限,那么对于出于经济动机的威胁者来说,访问它们可能会太困难。如果它们可以直接或通过云部署以相对便宜的价格获得,很可能会看到它们通过利用尚未迁移到量子安全协议的领域来提取赎金或进行工业间谍活动。
4.4 威胁者:监管环境
PQC 已成为美国多项行政命令的热门话题,要求美国政府努力部署量子安全密码技术。CNSA 2.0, Announcing the Commercial National Security Algorithm Suite 2.0等监管框架 要求在相当短的时间内使用 PQC,FIPS 等其他合规框架也将很快跟进。除美国之外, 德国BSI 和 法国ANSSI 也一直活跃在这一领域,并开始要求提供 PQC 路线图以进行长期部署。
4.5 量子威胁时间表
全球风险研究所, 2023 Quantum Threat Timeline Report在上图中总结出所拥有的量子计算机风险的最佳总体时间线估计 。
根据这个时间表,并得到谷歌量子计算团队 Google Quantum AI的证实,与密码相关的量子计算机的主要风险是在 10 到 15 年的时间范围内。我们预计到 2030 年该领域将取得显着进步,这应该作为时间表的一个良好的中点检查。
不过,Steve Weis 2024年3月12日twitter Google’s threat model for post-quantum cryptography中指出,其认为谷歌评估“与加密相关的量子计算机的主要风险在 10 到 15 年的时间范围内”的可能性不大。需要增加约 4-5 个数量级的量子位,并将错误率降低约 2 个数量级。但不是每两年就有 10Xing 量子位。
5. 结论
尽管距离密码学相关的量子计算机的普及还有很长的时间,希望通过本文给出的概述能够帮助了解哪些领域面临的风险最大,以及目前应该开始关注的地方。
参考资料
[1] Steve Weis 2024年3月12日twitter Google’s threat model for post-quantum cryptography
[2] LANDSCAPE OF QUANTUM COMPUTING IN 2023
[3] 2024年3月11日博客 Google’s Threat model for Post-Quantum Cryptography