CVE-2016-1000341 影响 BouncyCastle 的影响分析

信息安全 电子签名 cve dsa
2021-09-09 06:31:14

我正在分析 CVSS 得分为 7.5 的 CVE-2016-1000341 的影响,并描述“DSA 签名生成易受时间攻击。在可以密切观察签名生成时间的情况下,1.55 或更早版本中缺乏致盲可能允许攻击者获取有关签名 k 值以及最终私有值的信息。”。BouncyCastle 在这里承认这一点:https ://www.bouncycastle.org/releasenotes.html 。

我对这行感到困惑:“DSA 签名生成容易受到定时攻击”。虽然我了解什么是定时攻击,但我对“DSA 签名生成”条款感到困惑。这个词的确切含义是什么?以下哪两项或其他哪项是正确的?

  1. 如果应用程序使用公钥/私钥通过 BouncyCastle 库对数据进行数字签名和验证,它是否会因为此漏洞而易受攻击?或者
  2. “DSA 签名生成”是否意味着生成用于数字签名验证的私钥和公钥?

这里的任何指导将不胜感激!

亲切的问候,沙希

1个回答

TLDR:1a。

DSA 签名生成正在生成一个签名(用于数据)。正如你所引用的

...获取有关签名的信息 [原文如此 - 应该有一个撇号] k 值,最终也是私有值。

k 是为每个签名随机选择的值,它不是密钥的一部分,因此它不能是密钥生成的一部分(或在 DSA 中经常混为一谈的参数生成,包括在 Java/JCE/BC 中)。为了有风险价值,操作必须是签名生成。

验证签名(称为签名验证)不受影响,因为它不使用作为包括时间在内的侧信道攻击目标的私钥。