研究人员发现错误实现中的比特币,以太坊和波纹数字签名漏洞
研究人员最近发现了比特币,以太坊和Ripple的加密签名中的漏洞,攻击者可以利用这些漏洞计算私钥,从而窃取该钱包中的任何加密货币。研究人员总共使用这种独特的加密分析形式计算了数百个比特币私钥以及数十个以太坊,Ripple,SSH和HTTPS私钥。. 在纸上 有偏的即席感:针对加密货币中弱ECDSA签名的格点攻击, 研究人员利用一种通过分析比特币签名来计算私钥的方法。研究人员还能够将这些技术应用于以太坊和Ripple. 也就是说,这些漏洞仅在开发人员无法正确实现代码的极端情况下发生,或者可能是由于多签名硬件故障而发生的。该研究强调了加密货币使用的加密方案的弹性,并强调了正确实施的重要性. 研究背景 每当加密持有者进行交易时,都要求他们使用椭圆曲线数字签名算法(ECDSA)创建加密签名。在此算法中,软件提供了一个任意数字,该数字仅用于通信一次,该数字称为随机数。. 该软件必须使用不同的随机数对每个交易进行签名,这一点至关重要,否则,黑客可以(而不是轻易地)找到并计算签名者的私钥。甚至有证据表明,黑客会不断监视区块链中此类重复的随机数,从受到破坏的密钥中提取资金。. 鲜为人知的是,攻击者可以根据使用不同但相似的随机数的签名来计算密钥。例如,如果随机数在签名的开头具有相似的字符,或者随机数在签名的末尾具有相似的字符,那么将发生一些大的可怕的可怕事情. 研究人员怎么说 CryptoSlate与该论文的两位作者联系:Nadia Heninger博士是加利福尼亚大学计算机科学副教授。约阿希姆·布雷特纳(Joachim Breitner)是 尊严. 根据Heninger博士的说法,该漏洞描述如下: “ ECDSA数字签名算法要求为每个签名生成一个随机数,通常称为“随机数”(这与加密货币挖掘中使用的随机数不同)。如果在签名中使用的这些随机值未正确生成,则在某些情况下,攻击者可以计算出专用签名密钥。我们利用的随机数漏洞的类型是实现产生的值远比其应有的值短的值,或者共享最高或最低有效位的值的实现。” 并且,通过使用一些称为“格”的高级数学方法,两者能够破解其中一些钱包地址并找到私钥: 对于听众中的书呆子,格子算法使我们能够找到线性方程组约束不足的小型解决方案。有许多低温分析技术将晶格算法用作构建模块。” 如本文所述,这些签名随机数的生成中的任何不均匀性都可以揭示私钥信息。有了足够数量的签名,黑客就可以计算私钥并获得对用户钱包的访问权限并耗尽其资金. 加密用户需要担心吗? 根据Heninger和Breitner博士的说法,绝大多数加密货币用户无需担心: “发生这种情况的唯一原因是数字签名代码中是否存在某种类型的错误。” 此外,只要开发人员使用适当的技术和书面方法来确保用户安全,就可以认为签名方案是安全的: “据我们所知,如果正确实施,ECDSA是一种安全的数字签名算法。我们得出这样的结论,因为在我们检查的近十亿个比特币签名中,我们仅发现了几千个易受攻击的签名,所以这些都不是常见的实现。” 此外,这些漏洞仅“特定于不同的实现。此外,作者推测错误的实现方式可能是由于一些多因素安全设备导致的: “提到多因素安全性是针对我们在比特币区块链上使用64位随机数发现的签名的情况。几乎所有这些都属于多重签名地址的一部分,这在区块链上并不常见,因此我们猜测其来源。从那以后有一些 进一步猜测 关于具体的实施方式。” 现在,有 方法 使开发人员可以实现ECDSA,而没有本文所述的漏洞,即使对于硬件设备也是如此。根据Breitner的说法: “官方的区块链客户可以正确使用其加密货币……自2016年以来,比特币客户使用确定性签名(RFC6979),从而完全消除了过程中的随机性需求(消除了研究人员采用的那种攻击的可能性)。如果使用的是非标准库,或者编写自己的加密例程,则应确保它们使用RFC6979。对于嵌入式设备或硬件令牌来说,这尤其重要,因为这些设备或硬件令牌可能很难获得良好的随机性。” 对攻击者有利可图? 最终,考虑到进行这些攻击所需的时间,电力和计算能力,即使是将这种新工具添加到其武器库中,此类攻击也不具有成本效益: “鉴于攻击者已经在利用其他加密漏洞来破坏钱包,看来这很可能会被添加到他们的武器库中。但是,如果必须支付计算时间来进行计算,考虑到我们发现与易受攻击的密钥相关的余额,这可能不是一种具有成本效益的攻击。” 归根结底,这项研究向加密货币用户保证,强调比特币和其他数字货币的加密技术是正确的。成千上万的人在仔细检查这些系统的基础代码,这证明核心安全方案(如果使用得当)仍可以充分保护用户,目前.

Facebook
Twitter