← 最新论文
💻 computer science

Resolving an Apparent Key-Dependent Timing Side-Channel in Bouncy Castle ML-DSA-65 Signing: A Pre-Registered Discrimination

本文表明,Bouncy Castle 的 ML-DSA-65 实现中看似存在的密钥依赖型时序侧信道,实际上是自然拒绝采样变化的统计伪影,当在以执行精确迭代次数为条件的预注册协议内进行时序分析时,该现象便会消失,从而证实了该实现在所有标准化参数集下的安全性。

原作者: Arpan Sharma

发布于 2026-09-09
📖 1 分钟阅读☕ 轻松阅读

原作者: Arpan Sharma

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在数字安全领域,最强大的锁往往是那些需要最长时间才能被破解的锁。几十年来,数学家们一直致力于设计依赖复杂问题来保护数据的加密系统。随着计算机变得越来越强大,以及量子计算机的承诺日益临近,科学家们正竞相构建即使是未来的机器也无法破解的新型锁具。其中一种最有前景的新设计被称为 ML-DSA。它是一种用于创建数字签名的方法,数字签名是合同或证书上手写签名的电子等价物。这些签名证明了一条消息来自特定的人,并且未被篡改。

然而,随着这些数学锁具的出现,一种新的危险也随之而来。这并非数学本身的缺陷,而是数学在计算机上执行方式的缺陷。这被称为计时侧信道攻击(timing side-channel attack)。想象一下,一个保险箱在输入正确组合时会发出稍微响一点的咔哒声,或者一扇门在用正确的钥匙开门时会多花零点几秒的时间。如果攻击者能够以极高的精度测量这些微小的差异,他们可能就能推导出秘密密钥。对于新的 ML-DSA 系统,设计者内置了一个安全特性:该过程涉及大量的尝试与错误。计算机尝试生成一个签名,检查其是否有效,如果不符合要求,它就会将其丢弃并重新尝试。由于尝试次数是随机变化的,生成签名所需的总时间也会随之变化。这种随机性旨在隐藏秘密密钥,使得人们无法判断特定的延迟是由密钥引起的,还是仅仅因为运气不好。

一位名叫 Arpan Sharma 的研究人员最近调查了名为 Bouncy Castle 的流行软件库中这一安全特性是否按预期工作。这个库被广泛用于保护从软件更新到安全网络连接的一切事物。当 Sharma 首先观察数据时,他看到了看起来像是泄露的迹象。通过比较二十个不同秘密密钥生成签名的耗时,他发现某些密钥始终比其他密钥耗时更长。这种差异很小——大约为 1.35%——但在安全领域,即使是极其微小且持续存在的差异,也可能是一个揭示秘密的信号。问题在于,这种差异是一个真实的漏洞,即代码中的缺陷导致秘密密钥影响了时间,还是仅仅是由系统的随机性质引起的统计错觉。

为了回答这个问题,Sharma 没有依赖简单的猜测或快速测试。他设计了一个严谨的、预先计划好的实验,以将信号从噪声中分离出来。他的方法核心在于观察计算机实际完成的工作量,而不仅仅是观察最终的完成时间。他开发了一个工具,记录计算机在找到有效签名之前究竟尝试并失败了多少次。这一点至关重要,因为生成签名所需的时间与计算机重试的次数直接相关。如果某个密钥碰巧得到了一组需要较少重试次数的“幸运”消息,它就会完成得更快,但这并不是因为密钥不同,而是因为当天的数学运算更容易。

Sharma 进行了一场大规模的实验,为二十个密钥中的每一个都生成了超过 120 万个签名。然后,他根据每次所需的精确工作量对签名进行了分组。他提出了一个简单的问题:如果两个签名需要完全相同的重试次数并经历了完全相同的步骤,它们是否仍然会根据所使用的密钥而呈现出不同的耗时?答案是肯定的否。一旦他考虑了重试次数,密钥之间的耗时差异就消失了。剩下的微小变化如此之小,以至于可以用计算机处理器和内存的自然、随机波动来解释,而不是由秘密密钥本身引起的。

这项研究进一步确保了结果并非特定计算机或软件加载到内存方式的偶然现象。Sharma 使用一组全新的密钥和一组全新的消息重复了实验。他还进行了一个对照测试,即打乱计算机处理数据的顺序。如果计时差异是由秘密密钥引起的,那么密钥的顺序将无关紧意;如果差异是由数据在计算机内存中的位置引起的,那么顺序就会改变结果。实验表明,计时差异并不跟随密钥,而是跟随内存布局。这证实了所谓的“泄露”只是计算机环境产生的伪影,而非代码安全性方面的缺陷。

研究还查看了代码中已知会因数据而略有不同的部分。软件在处理过程中会检查数字的大小,如果数字太大,它会立即停止对剩余列表的检查。这是一种标准的优化手段以节省时间,但这意味着计算机可能会针对某些输入比其他输入更早地停止。Sharma 测量了这种快捷方式的影响,发现它贡献的延迟仅约为一纳秒。一纳秒是十亿分之一秒,这个时间尺度如此之小,远低于攻击者能够实际测量或利用来窃取密钥的阈值。

研究结果也被应用于这些新型数字签名标准的所有家族,包括用于不同安全级别的较小和较大版本。在每种情况下,结果都是一致的。该软件实现非常干净。明显的计时差异并不是秘密密钥正在泄露的迹象。相反,它们是系统旨在通过改变其工作量来保护这些密钥的自然结果。研究结论认为,Bouncy Castle 库对于这种特定类型的攻击是安全的。最初引起警觉的 1.35% 的时间偏差,仅仅是二十个不同的密钥从随机分布中抽取二十个不同样本后的统计回声,而非安全漏洞。

这次调查提醒我们,证明一个系统是安全的有多么困难。在过去,研究人员可能会在看到第一个计时差异迹象时就停止,并宣布存在漏洞。这项研究表明,在复杂的随机系统中,第一个迹象往往只是系统正在履行其职责。通过仔细测量执行的工作量并控制环境,研究人员能够区分出真实的泄露与统计错觉。结果证实,新的数字签名是稳健的,而它们速度的随机变化是其特性而非缺陷。对于数百万依赖这些签名来保持安全的设备而言,信息很明确:锁很牢固,而转动钥匙所需的时间不会告诉你关于内部秘密的任何信息。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →