新闻加密货币研究人员在未提取私钥的情况下伪造1024位RSA签名

研究人员在未提取私钥的情况下伪造1024位RSA签名

作者: Cryptopolitan·

要点速览

  • •加州大学圣地亚哥分校与Inria的研究人员在未提取私钥的情况下伪造了1024位RSA签名,向硬件安全模块上的原始无填充签名预言机发送了约43亿次查询。
  • •此次攻击在五个月内消耗了1,380个CPU核年,远低于分解同一密钥估算所需的500,000至1,000,000个核年,且预计算完成后,后续伪造应仅需约180个核年。
  • •该技术需要原始、无填充的RSA签名接口,因此标准PKCS#1 v1.5和RSA-PSS签名实际上并不易受攻击,而依赖secp256k1 ECDSA和Schnorr签名的比特币和以太坊不受影响。
  • •1024位密钥长度自2013年起已被NIST禁止用于数字签名,底层算法可追溯到2007年,研究人员在实践中的实现才是新颖之处。
  • •对于加密资产托管机构而言,这一发现表明,如果签名API和审批流程被入侵,仅靠安全硬件并不足够——EY的2026年调查和ESMA于7月8日针对密钥与存储管理的监管行动都反映了这一风险。
研究人员在未提取私钥的情况下伪造1024位RSA签名

加州大学圣地亚哥分校的一个研究团队证明,通过向硬件安全模块(HSM)发送大量查询——HSM是一种专为生成和存储加密密钥而设计、并将密钥材料隔离在内部的加固设备——可以在从未提取设备中私钥的情况下伪造1024位RSA签名。

这一发现指向加密资产托管机构面临的一类独特风险:如果攻击者入侵了被授权使用密钥的系统,仅将密钥存储在防篡改硬件中并不足够。

伪造密钥从未签署过的签名

在IACR ePrint 2026/2131中,加州大学圣地亚哥分校的Laura Shea、Miro Haller、Adam Suhl和Nadia Heninger与Inria的Emmanuel Thomé共同描述了临时访问原始RSA签名预言机——即一个按照提交内容原样签署任意数据、不应用任何填充的接口——如何最终使攻击者能够离线伪造签名。

此次攻击涉及2^32次基本签名请求——略多于43亿次查询——在五个日历月内消耗了1,380个CPU核年的计算时间。相比之下,根据研究人员的项目资料,分解同样的1024位RSA模数大约需要500,000至1,000,000个核年。其中大部分工作仅在预计算阶段执行一次;此后,伪造选定签名应需要约180个核年。

1024位这一目标本身已经过时:NIST指南自2013年起已禁止将1024位RSA密钥用于生成数字签名。

底层算法可追溯到2007年。变化之处在于该团队实际在现实中执行了这次攻击,正如Bruce Schneier在9月28日所指出的:

"What is new is the implementation." — Bruce Schneier

为什么无填充签名是整个攻击的关键

这类攻击存在一个关键限制条件:它需要访问原始、无填充的RSA签名或解密预言机。使用PKCS#1 v1.5或RSA-PSS的标准RSA签名不会暴露此类接口,因此该技术并不构成对正确实现的RSA的实用攻击。这一区别的意义远超本次演示:RSA仍然是被最广泛部署的公钥算法之一,用于保护TLS握手、代码签名和支付系统。

正如Decrypt所指出的,研究人员在HSM上禁用了经认证的FIPS模式——即根据美国联邦密码标准验证的配置——并使用了自己的测试密钥。

根据该论文,原始签名访问仍可能出现在HSM API和RSA盲签名系统中。论文援引RFC 9474作为示例,描述了服务器在不接触原始消息的情况下签署盲化消息的场景。

为说明并发请求积累的速度有多快,该研究使用了苹果公司23亿台活跃设备的数据。按每分钟一个令牌计算,单台设备需要大约1,700万年才能达到2^43次查询。但如果分散在23亿台设备上,同样数量的请求只需约2.3天即可完成。

签名接口是安全边界的一部分

对于加密资产托管机构而言,将私钥锁在安全硬件中并不能带来完全的安全。调用密钥的、审批流程和自动化系统本身也带有风险。

行业已经在反映这一担忧。根据EY的2026年调查,数字资产安全以及密钥签署流程在托管机构选择过程中已变得更加重要。ESMA于7月8日启动的共同监管行动同样将审查重点放在密钥与存储管理、交易控制以及事件响应上。

根据研究人员的说法,暴露于签名预言机之下的RSA,对于典型的1024至4096位密钥而言,其安全性比基于分解的估算低15-30位。在这一模型下,4096位RSA甚至无法提供128位加密的安全性。

并非比特币或以太坊的破解

这项研究仅涉及RSA。以太坊使用secp256k1 ECDSA,而比特币依赖secp256k1 ECDSA和Schnorr签名,因此所演示的攻击不适用于它们的交易签名系统。

然而,更广泛的托管风险问题并非全新。Cryptopolitan在9月20日的一份报告描述了被入侵的签署权限如何被用来从Fetch.ai和NuNet抽走约200万美元。那起案件涉及个人获取密钥本身;而新的研究表明,攻击者可能在不持有密钥的情况下获得签署权限。