行业新闻与博客

LadderLeak:利用旁通道安全漏洞来破解 ECDSA 加密





研究人员已经证明了如何通过利用侧信道漏洞来改进针对 ECDSA 密码算法的现有攻击,以减少所需的随机数泄漏。



椭圆曲线数字签名算法(ECDSA)是 RSA 的替代方法,它以较小的密钥大小提供了更高的安全性。



没有一种算法可以防止每种形式的利用,并且在 ECDSA 的情况下,可以利用在签名过程中生成的随机数。



但是,许多攻击都至少依赖两位随机数偏差来提取或恢复完整密钥。



奥尔胡斯大学,坎皮纳斯大学,阿德莱德大学,NTT 和 Data61 的学者们现已提出了一种新的方法,该方法能够用不到一分的随机数泄漏打破 ECDSA。



爬梯子

该论文(PDF)于 5月25日发表,由迭戈·阿拉纳(Diego Aranha),菲利佩·罗德里格斯·诺瓦斯(Felipe Rodrigues Novaes),高桥明(Akira Takahashi),梅赫迪·提布奇(Yehval Yarom)和尤瓦尔·雅洛姆(Yuval Yarom)撰写。



“由于作为签名算法一部分生成的 [nonce] 的非常敏感的性质,众所周知,原则上任何少量的随机数暴露或随机数偏差都可以导致完整的密钥恢复:因此,密钥恢复是特定的研究人员解释说:“这是 Boneh 和 Venkatesan 的隐藏数问题(HNP)的实例。”



ECDSA 系统(包括一些旧版本的 OpenSSL)中存在蒙哥马利阶梯实现中发现的一类新型的旁通道漏洞(一种用于计算椭圆曲线中标量乘法的方法)。



该团队说,这些漏洞仅泄漏了不到一点的随机数信息,“从某种意义上说,它揭示了随机数的最高有效位,但是概率小于 1”,否则该因素将导致这些漏洞无法被使用。旨在破坏 ECDSA 的加密攻击。



但是,通过修改利用 192 位和 160 位椭圆曲线上的一位泄漏的先前技术,学者们能够“切实地”打破 LadderLeak 脆弱的 ECDSA 实现。



曲线的前方

关键因素是优化傅立叶方法(基于 Bleichenbacher 攻击程序(PDF))以解决 HNP,同时还使用合理的计算资源。方法包括利用较小的时间差异,使用“刷新 + 重新加载”策略的缓存定时攻击以及 FR-Trace 程序。



选择的目标是在 NIST P-192 和 sect163r1 上实例化的 ECDSA。创建了统一的时空数据折衷公式,以找到针对小组规模和给定数量的随机数偏差的“最佳攻击参数选择”。



至少从理论上讲,该漏洞会影响许多 ECDSA 实施,包括广泛部署的 NIST P-256 曲线。



“我们的分析还极大地改善了超过 1 位泄漏的数据复杂性,允许旁道攻击者在很多情况下(即使在某些情况下,仅提供几千个签名,在某些情况下甚至数百个),即可恢复 ECDSA 密钥。”纸质状态。



根据研究人员的说法,这可能是第一次发生 192 位 ECDSA 破损一次或更少的泄漏,而 P-224 破损为一位泄漏或 P-256 破损为两位泄漏-使用“相对适中的数据复杂性”是可能的。



放弃过时的参数

Aranha 在接受 Daily Swig 采访时说,由于必须收集使用同一密钥制作的许多签名来发动攻击,因此该研究应被视为“学术兴趣”,而不是现实世界中的攻击探索。



研究人员补充说:“对于较大的参数,例如广泛部署的 NIST P-256 曲线,原则上适用这种攻击,但计算上仍然过于昂贵。”



该团队向 OpenSSL 开发团队报告了他们的发现。然后创建了补丁来修复版本 1.0.2 中的问题。



相同的错误“原则上”也适用于 OpenSSL 的 FIPS 模块-因为它基于相同的分支-但数据复杂性意味着成功进行攻击将需要更多的时间。



重构的 1.1 分支不受影响。



Aranha 说:“如果在选择或处理算法的秘密随机数时泄漏 / 偏差很小,那么无论使用哪种侧信道进行攻击,Blechenchenbacher 的攻击(以及未来的潜在改进)都将再次成为威胁。”



“我们目前正在调查其他图书馆。我们的实用建议是:升级 OpenSSL,放弃过时的参数。”



本文由机器译制

需要帮助吗?联系我们的支持团队 在线客服