研究人员发现 Kyber 后量子密钥封装机制 (KEM) 存在漏洞

阅读量56708

发布时间 : 2024-06-05 10:26:55

一位安全研究人员在 Kyber 密钥封装机制 (KEM) 中发现了一个可利用的定时泄漏,该机制正在被 NIST 采用为后量子加密标准。

PQShield 的 Antoon Purnal 在一篇博客文章和社交媒体上详细介绍了他的发现,并指出该问题已在 Kyber 团队的帮助下得到解决。该问题出现在基于模块格子的密钥封装机制 (ML-KEM) 的参考实现中,该机制正在被采纳为NIST 后量子密钥封装标准。

Clang 编译器引入侧通道漏洞
Purnal 写道:“实施安全的一个关键部分是抵御侧信道攻击,侧信道攻击利用加密计算的物理副作用来推断敏感信息。”

为了防范旁道攻击,加密算法必须以某种方式实施,以便“攻击者可观察到的执行效果不会取决于它们处理的秘密”,他写道。在 ML-KEM 参考实施中,“我们关注的是几乎所有加密部署场景中都可观察到的特定旁道:时间。”

当编译器优化代码时,可能会出现此漏洞,在此过程中会悄悄撤销“熟练实施者采取的措施”。

在 Purnal 的分析中,发现 Clang 编译器在密钥封装和解封装所需的 ML-KEM 参考代码的poly_frommsg函数中发出了一个易受攻击的秘密依赖分支,与 expand_secure 实现相对应。

“在解封装过程中,poly_frommsg 只使用一次。整个解封装过程需要超过 100K 个周期。这个分支产生的时间差异肯定太小而无足轻重吧?”Purnal 反问道。

“……经验丰富的本地攻击者可以执行高分辨率缓存攻击,以分支预测器为目标来了解哪些分支被采用,或者减慢库的速度来放大时间差异,”他回答道。“因此,谨慎的做法是修补。”

他说,测量完全解封装所需的时间“足以让攻击者拼凑出密钥”。

Purnal 在 GitHub 上发布了一个名为“clangover”的演示,展示了计时漏洞在恢复 ML-KEM 512 秘密加密密钥中的作用。他写道:“该演示在作者的笔记本电脑上不到 10 分钟就成功终止。”

关键的后量子密钥漏洞
Purnal 指出,虽然并非所有编译器、选项和平台都会受到影响,“但如果某个二进制文件受到影响,安全影响可能非常严重。因此,保守的做法是认真对待这个问题,并留意加密提供商提供的补丁。”

通过在单独的文件中将相关条件移动作为函数实现,对参考实现进行了修补。“这一变化使 Clang 无法识别条件标志的二进制性质,从而无法应用优化,”他说。

“值得注意的是,这并不排除其他基于参考实现但不逐字使用 poly_frommsg 函数的库可能存在漏洞的可能性——无论是现在还是将来,”他总结道。

本文转载自:

如若转载,请注明出处: https://thecyberexpress.com/kyber-post-quantum-key-vulnerability/

安全客 - 有思想的安全新媒体

分享到:微信
+14赞
收藏
安全客
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66