加州大学圣地亚哥分校研究:无需提取私钥即可伪造RSA签名
加州大学圣地亚哥分校(UC San Diego)的研究团队展示了一种新的攻击方式:通过向硬件安全模块(HSM)发送多个查询请求,可以伪造1024位RSA签名。在此过程中,攻击者从未从设备中提取出私钥。这一结果意味着加密资产托管人面临另一种形式的风险:如果攻击者入侵了被授权使用该密钥的系统,仅仅将密钥保存在防篡改硬件中是不够的。
伪造从未签过名的签名
在IACR ePrint 2026/2131论文中,来自加州大学圣地亚哥分校的Laura Shea、Miro Haller、Adam Suhl和Nadia Heninger,以及Inria的Emmanuel Thomé描述了如何通过对原始RSA签名预言机(signing oracle)的临时访问,最终使攻击者具备离线伪造签名的能力。
该攻击过程包括$2^{32}$次基本签名请求,总计超过43亿次查询,并在五个月的时间跨度内消耗了1,380个CPU核心年的计算时间。相比之下,根据研究人员项目材料的计算,分解相同的1024位RSA模数大约需要50万至100万个核心年。大部分工作仅在预计算阶段完成一次;此后,伪造选定签名仅需约180个核心年。
所使用的算法早在2007年就已发明。正如Bruce Schneier在9月28日所指出的,变化在于:“新的是实现。”——Bruce Schneier
无填充签名的关键所在
此类攻击存在一个关键限制:它要求能够访问原始的、无填充的RSA签名或解密预言机。使用PKCS#1 v1.5或RSA-PSS的标准RSA签名不提供这种访问权限。因此,这种攻击不能被视为对正确实现的RSA的有效攻击。
正如Decrypt报道的那样,研究人员关闭了HSM上的认证FIPS模式,并使用了他们自己的测试密钥。根据论文所述,原始签名访问可能出现在HSM API和RSA盲签名系统中。论文进一步指出,例如RFC 9474解释了服务器对盲消息进行签名而无需访问原始消息的场景。
研究利用苹果公司的23亿活跃设备数据展示了并发请求堆积的速度。如果每分钟产生一个令牌,单个设备需要约1700万年才能达到$2^{43}$次查询。但如果考虑全部23亿台设备,同样的查询数量只需约2.3天即可完成。
签名接口作为防御边界的一部分
对于加密资产托管人来说,将私钥锁在保险箱里并不能提供完全的安全保障。利用私钥的API、审批流程和自动化系统本身也带来了潜在危险。
这一担忧已在行业中得到反映。根据EY的2026年调查,数字资产的安全性以及密钥签名程序在托管商选择过程中的重要性显著增加。欧洲证券和市场管理局(ESMA)于7月8日启动的共同监督行动也重点关注对密钥和存储管理、交易控制及事件响应的审查。
研究人员指出,对于典型的1024-4096位密钥,带有签名预言机的RSA提供的安全性比基于分解估计的低15-30位。在该模型下,4096位RSA甚至无法提供相当于128位加密的安全性。
并非比特币或以太坊的漏洞
该论文针对的是RSA。以太坊使用secp256k1 ECDSA,而比特币使用secp256k1 ECDSA和Schnorr签名,因此所演示的攻击不适用于它们的交易签名系统。
关于托管风险的更大问题并非新鲜事。Crypto报于9月20日报道称,受 compromising 的签名机构已从Fetch.ai和NuNet中盗取约200万美元。虽然上述案例涉及个人获取密钥,但该报告显示,攻击者可能在从未获取密钥的情况下获得签名权限。

