在简介中:
- 加州大学圣地亚哥分校和法国国家信息与自动化研究所(INRIA)的研究人员在一个硬件安全模块内的1,024位密钥上伪造了RSA签名,这是一种保管方用来保护加密密钥的设备类型,且过程中并未提取密钥。
- 比特币和以太坊使用ECDSA等椭圆曲线签名来签署交易,而非RSA,且该论文的主张仅涵盖RSA。
- 该攻击需要约2^32次签名请求(约40亿次)和1,380个CPU核心年的计算资源,作者表示这很可能不会对大多数使用填充方案的现代RSA部署构成直接威胁。

加州大学圣地亚哥分校和法国计算机科学研究所(INRIA)的研究人员冒充了一个硬件安全模块——一种存储私钥并在请求时进行签名的防篡改设备——且从未将其密钥提取出来。他们于9月20日向IACR密码学EPrint档案提交了关于该攻击的论文。

但不要惊慌,加密持有者。这并不是针对比特币或以太坊的攻击。比特币使用椭圆曲线数字签名算法(ECDSA)。(其曲线也支持Schnorr签名。)以太坊以及大多数大型区块链都使用相同的算法。这篇论文讨论的是Rivest-Shamir-Adleman(RSA)加密技术,这是一种不同的签名方案。

尽管如此,这一结果是对密钥如何被保护的压力测试。据BitGo称,机构托管提供商使用硬件安全模块——一种公司用来保护密钥的防篡改盒子——以便密钥从不存在于设备之外。在这里,密钥从未离开设备,但研究人员仍然伪造了签名。

他们关闭了硬件安全模块的FIPS模式(一种经过认证的安全设置),使其能够签署未格式化的数字,并使用了他们自己的测试密钥。

他们要求该盒子对其选择的约40亿个数字进行签名,然后对答案进行数学处理。可以把这想象成一个永远不打开的保险库,但它会盖章你从门下滑入的任何空白纸张。问得足够多次,你就能学会自己制作这个印章。

什么是签名?
每次你确认一笔交易时,你的钱包都会使用私钥对其签名。这个数字签名是密钥持有者已批准该交易的证明,也是交易在传输过程中未被篡改的证明。

RSA是构建这种证明的一种方式,由Ron Rivest、Leonard Adleman和Adi Shamir(姓名的首字母“S”)于1977年创建。

RSA的核心思想是,将两个巨大的质数相乘很容易,但将结果拆分回去(称为因数分解)却极其困难。作者写道,RSA的安全性通常被认为建立在这一难度之上,尽管破解RSA从未被证明等价于因数分解。该团队此次并未对任何数值进行因数分解。

受影响范围
标准的RSA签名会应用填充——即在执行数学运算之前进行的一种扰乱和格式化步骤,如PKCS#1 v1.5或PSS——而带有填充的签名不会产生可利用的预言机。作者表示,该攻击可能对大多数现代RSA部署不构成直接的操作威胁。该论文目前仅为预印本。

有些系统有意提供这种预言机。基于RSA的盲签名允许服务器在不知情的情况下签署某些内容,这也是Privacy Pass的一种变体工作原理。Cloudflare表示,Apple使用Privacy Pass的一个版本,使用户能够在不透露身份的情况下证明他们通过了检查(如CAPTCHA)。

盲签名具有加密学的根源。密码学家David Chaum在1989年创立DigiCash时就使用了这项技术。

更大的威胁仍是量子计算
“RSA已被破解”的标题屡见不鲜。2023年1月,中国研究人员声称一种威胁RSA的量子方法,但仅分解了一个48位的数字,专家对此不予理会。这次展示的是一个实际的1,204位密钥,但带有一个像预言机一样大的星号。

作者称他们的结果是向后量子过渡期间放弃RSA的经典证据,即转向能够抵御量子计算机的加密技术。

对于比特币,量子问题在于椭圆曲线签名。加州理工学院的研究人员在3月底估计,10,000到20,000个量子比特(比特的量子版本)可能足以运行Shor算法,而该方法正是威胁这些签名的手段。

谷歌已将2029年设定为其完成向自身系统迁移至后量子密码学的截止日期。