研究人员未破解私钥即实现伪造RSA签名 传统安全假设遭遇挑战

摘要:

一项最新研究显示,攻击者在不分解RSA公钥模数、也不提取私钥的情况下,仍可能伪造有效的RSA数字签名。研究团队已经在1024位RSA密钥上完成了实际演示,这一结果动摇了“破解RSA必须先分解大整数”的长期认知。

image.png

这项研究由美国加州大学圣迭戈分校和法国国家信息与自动化研究院的研究人员完成,成员包括劳拉·希娅、米罗·哈勒、亚当·苏尔、娜迪娅·赫宁格和埃马纽埃尔·托姆。研究成果目前以预印本形式公开,论文题为《以接近特殊数域筛法的速度伪造1024位RSA签名》。

RSA的安全性通常建立在大整数分解难题之上。按照传统估算,分解一个1024位RSA模数需要约50万至100万个CPU核心年,通常只有国家级机构或拥有大规模计算资源的企业才有能力尝试。研究团队此次采用了另一条路径:他们没有直接求出RSA私钥,而是利用一个能够执行原始RSA签名操作的“签名预言机”,结合数域筛法的改进算法,最终获得了离线伪造签名的能力。

该方法的数学基础早在2007年就已被提出,但此前一直停留在理论层面。此次研究首次将其扩展到大规模实际运行。实验过程中,研究人员把硬件安全模块作为签名预言机,在约五个月内消耗了约1380个CPU核心年,并发起了约2的32次方次查询,相当于超过40亿次原始RSA签名请求。完成主要预计算后,攻击者不再需要继续访问目标设备,伪造任意指定签名大约还需要180个核心年,而且这一过程可以反复离线进行。

这意味着,即使私钥始终留在硬件安全模块内部,攻击者也可能通过持续调用设备的接口,最终获得等同于掌握私钥的签名能力。攻击者可以借此伪造身份验证信息、生成虚假授权文件,或冒充合法服务进行通信。

不过,这项研究并不意味着所有RSA系统已经失守。攻击成立的前提是目标系统暴露了原始、未加填充的RSA签名或解密接口。如今互联网证书、TLS连接以及大多数软件签名机制通常采用PKCS#1 v1.5或RSA-PSS填充方式,而研究人员表示,这些常见部署并不会直接受到该方法影响。

真正需要关注的是部分硬件安全模块、原始PKCS#11接口以及盲签名协议。盲签名允许服务方在不知道具体消息内容的情况下完成签名,Privacy Pass等隐私认证系统就使用了类似机制。研究人员指出,如果攻击者能够持续获得足够多的签名响应,某些盲签名系统可能成为潜在目标。不过,实际攻击所需的查询规模极其庞大,密钥定期轮换也能够显著降低风险。

研究团队根据实验结果推算,在拥有签名预言机的攻击模型下,RSA的实际安全强度可能比传统基于分解难度的估算低15至30位。对于1024位、2048位和4096位RSA密钥,攻击成本分别约相当于2的65次方、2的90次方和2的119次方次计算,均低于现代密码系统通常要求的128位安全水平。研究人员还表示,他们的实验没有使用GPU或人工智能工具,未来若引入更高效的硬件和软件,攻击成本可能进一步下降。

密码学专家认为,这项成果的重要性主要在于它揭示了RSA安全模型中的一个盲点:签名伪造并不一定需要先获得私钥,也不一定必须完成传统意义上的大整数分解。不过,当前攻击仍需要大量计算资源和特殊接口,短期内不会对广泛使用的标准化RSA证书和常规HTTPS连接构成直接威胁。

安全机构和系统运营者仍应检查硬件安全模块是否开放不必要的原始RSA操作,限制签名接口的调用权限,缩短盲签名密钥的轮换周期,并逐步迁移到更现代的签名算法和后量子密码体系。研究人员指出,随着传统密码算法距离理论和实践上的安全边界越来越近,企业不应继续把扩大RSA密钥长度视为永久解决方案。

了解更多:

https://github.com/ucsd-hacc/NSNFSSSFSFN

查看评论
created by ceallan