大数分解的城墙没塌,但有些锁芯确实被人从侧面撬开了。

一份来自加州大学圣地亚哥分校等机构的密码学预印本论文引发了恐慌,有报道直接冠以比以往任何方法都更快攻破 RSA 的惊悚标题,仿佛支撑现代金融与互联网通信的底层大厦一夜归零。真实的技术事实要冷峻得多:研究团队没有攻克大整数分解难题,也没有拿到私钥,他们利用硬件安全模块暴露的无填充原始预言机接口,把针对 1024-bit RSA 的签名伪造开销压到了 1,380 个 CPU 核心年。这在学术上是一次漂亮的工程落地,但在现实世界里,绝大多数网站与普通用户的通信依然固若金汤。

事实澄清:学术攻击与实际网络防御边界 公众恐慌的误区 • 误以为经典算力彻底破解大数分解 • 误以为黑客已能随意提取服务器私钥 • 误以为全网 HTTPS 与网银加密失效 结论:完全脱离实际攻击约束条件 真实的技术现状 • 核心机制为免分解的签名伪造 • 严苛前提:必须能无限制调用裸签名接口 • 广泛使用的加填充体系(PSS等)天然免疫 结论:局部协议承压,整体地基未动

从百万年到一千三百年的算力鸿沟

RSA 的安全性长期锚定在普通数域筛法(GNFS)的计算壁垒上。要从公钥模数反推私钥,常规估计需要耗费 500,000 至 1,000,000 核心年的算力。对一个早已被主流安全机构弃用的 1024 位密钥而言,这种门槛通常只有国家级算力或超大跨国机构在极高预算下才可能尝试。

Laura Shea、Miro Haller、Adam Suhl、Nadia Heninger 与 Emmanuel Thomé 组成的研究团队把目光绕开了大数分解本身。其论文《Forging 1024-bit RSA signatures in nearly SNFS time》被密码学预印本档案收录,核心在于将签名伪造转化成对特殊数域筛法(SNFS)渐进复杂度的逼近。这项数学理论基础早在 2007 年就由 Joux、Naccache 和 Thomé 提出,但十九年来始终停留在纸面模型,从未有人在大规模工程中完整跑通。

研究人员把一台真实的硬件安全模块(HSM)作为预言机,在持续 5 个日历月、消耗 2³² 次预言机查询 和约 1,380 个 CPU 核心年 后,成功完成了针对 1024-bit 模数的离线代数筛分。一旦初始数据表构建完成,后续为任意自选消息生成合法伪造签名,仅需要额外投入 180 核心年。这标志着工程实现首次将千级核心年的常规商用算力,变成了攻破特定 RSA 签名的现实工具。

1024-bit RSA 计算开销断崖式下降 传统 GNFS 模数分解 50万-100万 核心年(国家级门槛) 本研究工程伪造预计算 1,380 核心年(实际部署落地) 单次任意自选消息伪造 180 核心年(常规机房可承载)

必须满足的裸露锁孔

密码学界有一条颠扑不破的铁律:教科书上的 RSA 绝不能直接搬到生产环境使用。

原始的裸 RSA 算法具备代数乘法同态性质。若攻击者能让系统对两个数字分别签名,就能轻易推导出它们乘积的有效签名。为了堵死这种结构漏洞,现代数字证书与 Web 传输协议早在数十年前就引入了抗延展性的填充标准,最典型的就是 PKCS#1 v1.5 与 RSA-PSS。这些填充机制会在待签名的原始消息前后拼入高强度的随机填充块与哈希摘要,打碎数学结构,彻底消灭乘法同态特性。

不去拆毁大数分解的城门,只要找到一处不设防的裸运算接口,攻击者就能借力打力。

这项攻击成立的关键前提,是目标系统必须提供一个不加任何填充的原始 RSA 签名预言机接口。只要系统运行着合规的 PKCS#1 v1.5 或 PSS 机制,这种攻击路径就会立刻失效。这也是为什么独立密码学者 Karsten Nohl 明确指出,这项成果在理论上是重要突破,但绝不代表广泛部署的 RSA 基础设施发生普遍溃败。


盲签名协议与裸接口的真实阵痛

真正受到震动的,是极少数依仗代数结构特性的前沿协议和设计不良的遗留设施。

盲签名协议为了保障客户端的隐私,允许用户把数据经过盲化掩盖后送交服务端签名,服务端在不知晓具体内容的前提下返回签名,用户再在本地完成去盲处理。像苹果与 Cloudflare 采用的 Privacy Pass 这类零知识凭证系统,底层曾重度依赖盲签名技术。由于盲签名必须保留特定的代数运算空间,填充机制很难按照常规模式施加,系统更容易退化成攻击者梦寐以求的预言机。

在实际业务环境中,对 Privacy Pass 发起攻击需要攻陷特定服务端并取得约 2⁴³ 次签名调用权,尽管这个数字与大型 CDN 厂商单日处理的流量规模相当,而且厂商通常具备定期轮换密钥的防御机制,但这确实让以往不可逾越的数学安全裕度出现了松动。

  • 风险.任何允许用户通过 API 直连底层 HSM 硬件且开放未填充签名能力的系统,必须立刻封堵裸预言机调用,严格校验填充规范。

关于 2048 位与 4096 位密钥的安全评估,论文给出了约为 2⁹⁰ 和低于 2¹²⁸ 次操作的估算。必须理清的是,这些数字只是基于算法复杂度的理论外推估算,团队从未在真实环境中完成对 2048 位密钥的实测攻破。2⁹⁰ 的计算复杂度对于实际工业黑客而言,依然是一堵高不可攀的计算高墙。

NIST 持续推动的后量子密码(PQC)迁移,防范的是 Shor 算法在量子计算机成熟后造成的全局性毁灭打击。这次经典计算下的工程奇袭,没有杀死 RSA,它给所有系统架构师敲响的警钟非常纯粹:系统最薄弱的环节往往不是数学基础本身,而是为了兼顾某些特殊功能时,悄悄给裸露运算开的那扇后门。