RSA加密体系的安全假设近期遭遇实质性挑战。加州大学圣地亚哥分校(UC San Diego)与法国国家信息与自动化研究所(INRIA)的研究团队成功展示了一种新型攻击方法:在不分解模数的前提下,伪造1024位RSA密钥的签名。该攻击所需的计算资源远低于传统通过因数分解破解同等密钥的标准估算。

理论落地:效率提升数个数量级

这项研究复活了Antoine Joux等人于2007年提出的理论构想。此前该理论仅停留在纸面,此次则是首次在全尺寸1024位密钥上大规模运行该算法。攻击过程在学术集群上耗时五个月,总算力成本为1,380个CPU核心年。相比之下,分解一个1024位模数通常需50万至100万个核心年,新方法效率高出数个数量级。

大部分计算工作(约1,200个核心年)用于依赖公钥的预计算。一旦完成,伪造新签名的边际成本仅需约180个核心年。这种时间分配意味着攻击者可针对特定目标进行前期投入,随后快速生成签名。

攻击机制:将临时访问转化为永久控制

该攻击的核心在于将临时访问权限转化为永久性控制权。其工作原理如下:

  • 预言机交互:攻击者需获取公钥,并能反复访问执行原始、无填充RSA签名或解密操作的设备(即“预言机”)。
  • 数据收集:向预言机输入精心构造的值并收集结果。在本案例中,查询次数约为43亿次。
  • 离线伪造:积累足够数据后,攻击者即可在离线状态下伪造任意签名,无需再次接触预言机,也无需恢复私钥。

研究人员针对硬件安全模块(HSM)演示了这一过程。HSM在此充当了无意识的预言机。论文指出:“我们利用HSM作为签名预言机执行攻击,证明了可通过黑盒API交互冒充HSM,而无需导出密钥。”该方法依赖于变体数域筛法,当预言机提供部分工作时,其行为类似于更快的特殊数域筛法。

影响评估:安全模型面临重估

这并非对RSA的全面突破。标准填充格式(如PKCS#1 v1.5或PSS)因不提供所需的清晰预言机接口,可阻止此类攻击。因此,目前广泛部署的TLS证书、代码签名和大多数Web加密不受影响。

然而,以下场景面临风险:

  • 使用盲RSA的系统;
  • 某些隐私协议(如Cloudflare和Apple部署的Privacy Pass);
  • 配置不当的1024位密钥HSM。

安全等级显著下降。基于传统因数分解估算,1024位RSA的安全性约为80位,新方法将其降至约65位;2048位密钥从约112位降至90位;4096位密钥从128位以上降至119位。这些推演基于实验结果,且研究团队未使用GPU或AI辅助,进一步优化可能导致数值继续降低。

行业启示:警惕遗留系统风险

尽管恐慌并无必要——毕竟无人公开成功分解过真实的1024位RSA密钥,且NIST等机构早已将2048位设为新系统最低标准——但这一发现迫使业界重新思考。密码学家长期将RSA安全性绑定于因数分解成本,新结果表明该模型在存在预言机时可能过于乐观。

硬件供应商和协议设计者需重新审计任何暴露原始RSA操作的系统,包括隐私技术中的盲签名、智能卡实现及旧版HSM配置。迁移至椭圆曲线签名或后量子算法可提供更长期保障。研究团队已在GitHub开源代码,以加速验证与防御测试。随着现代硬件和自动调优技术的发展,攻击成本进一步降低已成必然,保持对基础算法的警惕至关重要。