安全 · · 阅读约 7 分钟

嵌入式设备上的后量子密码:FIPS 203、204 和 205 带来了什么变化

ML-KEM、ML-DSA 和 SLH-DSA 现已成为标准。它们对内存、功耗和更新路径受限的设备意味着什么,以及做选择前应该问的问题。

2024 年 8 月,NIST 发布了首批三项后量子密码标准。对于云服务来说,采用它们主要是更新库和协议的问题;对于嵌入式设备来说,这是一个设计问题。

本文面向产品和工程负责人,是一份概览,而不是密码学课程。我不是密码学家,Shorium 有真正的密码学专家。我的工作是帮助那些需要与这些选择长期共处的团队理解它们。

三项标准,各一段话

FIPS 203,ML-KEM(源自 CRYSTALS-Kyber)。一种密钥封装机制,承担 RSA 或椭圆曲线 Diffie-Hellman 在建立共享密钥中的角色。它速度很快,但公钥和密文以千字节计,而不是几十字节。

FIPS 204,ML-DSA(源自 CRYSTALS-Dilithium)。一种通用数字签名方案,在大多数场景中最有可能取代 ECDSA 和 RSA 签名。签名大小为几千字节。

FIPS 205,SLH-DSA(源自 SPHINCS+)。一种无状态的基于哈希的签名方案。它的安全性建立在被充分理解的哈希函数之上,因而是一个保守的选择,代价是签名体积大、签名速度较慢。

对于固件,还有第四类值得了解:有状态的基于哈希的签名 LMS 和 XMSS,由 NIST SP 800-208 规定。美国国家安全局的 CNSA 2.0 套件将其指定用于软件和固件签名。

在资源受限的设备上有什么变化

算法本身是可行的。问题在于你的设备、协议和供应链能否承载它们。

体积。 密钥和签名远大于大多数嵌入式系统设计时所依据的 ECC 数值。这会影响闪存和 RAM 预算、证书链,以及任何对消息长度有严格限制的协议。

带宽和无线电时间。 在低功耗网络中,每次握手多发送几千字节并不是免费的。它会消耗能量、增加延迟,有时还受无线电占用时间法规的限制。

性能和内存峰值。 有些运算在纸面上很快,却需要小型微控制器无法提供的工作内存。

硬件加速。 许多设备依赖为 RSA 和 ECC 设计的密码加速器或安全元件。如果新算法以软件方式运行,就需要重新关注时序和侧信道防护。

状态。 LMS 和 XMSS 高效且保守,但每个私钥只能签名有限数量的消息,签名方绝不能重复使用某个状态。在管理良好的签名基础设施中这是可控的;在任何状态可能被复制或回滚的地方,这都是严重风险。

混合模式是过渡工具,而不是终点

在过渡期间,许多协议将经典算法与后量子算法结合使用,只要其中一个仍然安全,连接就安全。混合密钥交换在 TLS 中已经很常见。

对于设备来说,混合模式能争取时间、降低风险,但也会增加体积和复杂度。把它当作一座你计划要走过的桥,并在对岸写上日期。

做选择前要问的问题

在任何人选定算法之前,我希望先得到这些问题的明确答案:

  • 设备究竟用公钥密码做什么?安全启动、固件更新、设备身份还是会话密钥?每种用途都有不同的最佳方案。
  • 设备会被支持多长时间?在此期间它的信任根能否更新?
  • 当前硬件版本以及下一个版本,在内存、闪存、功耗和带宽方面的真实余量是多少?
  • 链条中哪些部分由我们掌控,哪些属于供应商:芯片厂商、模组厂商、云平台、证书颁发机构?
  • 如果选错了,我们将如何更改?

最后一个问题最重要。标准还很新,实现会不断改进,指导意见也会演变。能够度过这个十年的设备,不是在 2026 年选中了完美算法的设备,而是为改变而设计的设备。

从哪里开始

先盘点公钥密码在你的产品中用于何处,并坦率评估到 2030 年你仍将出货的设备的硬件余量。其他一切,包括算法选择,都取决于这两个答案。

继续阅读

通讯: Brownfield AI (在新标签页中打开)