数百万个RSA加密密钥存在重大缺陷

2025年4月11日

在数字世界里,RSA密钥就像是一把“电子锁”,用于保护我们的信息安全。它通过两个大素数的组合生成一个“公钥”和“私钥”,确保数据的加密和解密过程安全。然而,RSA密钥的安全性依赖于这两个素数的随机性和保密性。如果在生成密钥时,随机数不够强大,或者多个密钥共享了相同的“因子”,这把锁就很容易被破解了。

最近的一项研究揭示了一个严重的安全漏洞——许多RSA密钥在生成时,竟然使用了相同的秘密数字(也就是“因子”)。这种问题通常是由于随机数生成器不够安全或设计不当,导致不同的密钥之间有了相同的素因子。一旦攻击者发现这一点,利用因式分解轻松破解多个密钥简直就像切开黄油一样简单。

特别是物联网(IOT)设备,由于硬件资源有限,生成的随机数往往不够强,导致它们的RSA密钥更加脆弱,成了黑客的“香饽饽”。

研究发现:数百万个密钥存在漏洞

Keyfactor在其发表的题为《Factoring RSA Keys in the IoT Era》的论文中指出,研究人员分析了7500万个RSA密钥,并结合了通过CT日志获得的1亿个证书,最终发现至少有43.5万个证书存在弱点,容易通过数学攻击而受到破坏,这相当于数百万个密钥。

Factoring RSA Keys

该漏洞主要影响物联网(IoT)设备,但对于使用不当生成的RSA密钥,甚至其他加密方案(如椭圆曲线密码术(ECC))的任何系统都存在风险。

Keyfactor的乔纳森·基尔加林(Jonathan Kilgallin)和罗斯·瓦斯科(Ross Vasko)表示:“凭借有限的资源,我们能够获得数亿个用于保护互联网上真实流量的RSA密钥。”

研究表明,攻击者只需通过一个云托管虚拟机和已知的算法,在几天内就能破解每200个证书中的一个。破解后的私钥可以被用来冒充合法证书持有者,造成严重的安全隐患。

为什么IOT设备易受攻击?

研究人员表示,他们发现的受损证书中几乎有一半都包含某个大型网络设备制造商的名称,但由于他们无法识别或通知所有制造商,因此无法确定该制造商的名称。

那为什么物联网设备更容易受到攻击?

研究发现,主要原因有:

1.物联网主要由轻量级设备组成:这种设备生成RSA密钥的方式本身并不不安全,但相关研究发现,轻量级设备特别容易受到此攻击的威胁,因为它们处于低熵状态。设备中的熵是防止随机数生成变得可预测的关键。

研究人员发现,当去除熵时,生成的“随机”输出是确定性的。由于缺乏足够的输入数据,轻量级物联网设备特别容易处于低熵状态,同时,经济地集成硬件随机数生成也存在挑战。因此,轻量级物联网设备生成的密钥可能不够随机,这增加了两个密钥共享因子的可能性,从而使密钥更容易被破解。大多数被破解的密钥来自“低资源”设备。只有两个证书上的两个密钥是公开受信任的,并且这两个证书都已过期。

2.攻击在分析更多质因子时变得更加成功:随着发现的证书数量的增加,用于分析共享因子的证书对数会呈平方增长。物联网环境大大增加了网络中设备的数量,这一趋势预计还将持续,尽管不同的估计和预测差异较大。

3.物联网设备更难修补:在一个网络中修补许多物联网设备对用户来说可能是一个繁琐的过程。用户需要考虑和管理许多独立的设备,且这些设备通常没有跨设备的集中自动化。在某些情况下——例如原始设备设计不支持修补,或设备无法访问——修补可能是不可能的。此外,由于某些物联网设备的生命周期较长,可能会在不再由制造商主动支持的设备上发现漏洞。这意味着密钥泄露的漏洞可能会存在更长时间,且更难以修复。

4.计算和扫描资源更易获取:云服务如今随时可供租用,使得攻击者能够高效地获取和分析数据。攻击者真正面临的唯一障碍是实施细节。攻击本身已经得到了充分研究和理解,执行该攻击所需的资源现在以低廉的成本也能轻松获得。

例如,本研究在开发和计算资源上的开销(不包括数据获取)不到3000美元。此外,预先收集的证书和密钥数据集可以购买或免费下载,这将减少攻击者执行计算的时间和成本。

如何应对?

随着物联网设备数量的激增,它们的安全性已经成为数字世界中不容忽视的重要议题。从RSA密钥生成的随机性问题,到设备身份验证的挑战,每一个细节都关系到网络的整体安全。

尽管大多数设备在设计初期具备一定的安全保障,但随着时间的推移,潜在的漏洞仍然存在,尤其是当设备的设计没有遵循最佳安全实践时。

为了解决这些问题,设备制造商、开发者和安全专家必须携手合作,提升物联网设备的整体安全性。首先,可以考虑集成硬件安全模块(HSM)或者使用外部熵源,提高随机数生成的质量,从而增强密钥的安全性。

这里还有一个关键点:设备认证证书。很多人可能不太意识到,数字证书不仅仅是一个身份验证工具,它在物联网设备中起着非常重要的作用。通过设备认证证书,设备能够在网络中证明自己是可信的,保证通信过程中的数据不被篡改或者伪造。没有证书的设备就像是没有身份证的人,别人无法确认它的身份,容易被黑客利用。因此,确保你的设备能够使用证书进行身份验证,是确保网络安全的重要一步。

另外,记得遵循密码学最佳实践,确保每一个密钥都是独一无二且足够安全的。尽管设备在最初设计时可能没完全达到最佳安全标准,但只要后续能够通过安全更新修复漏洞,就可以及时应对新出现的安全威胁。

最重要的是,物联网的安全不仅仅是设备制造商的责任,它是一个系统性的挑战,需要整个行业共同应对。随着物联网的持续发展,新的威胁和挑战也会不断涌现。只有持续关注安全问题,并在设计、开发、运营过程中贯穿安全理念,才能确保我们的设备和数据始终处于可信赖的保护之下。

来源|Keyfactor

图源|AIGC

编辑|公钥密码开放社区

免责声明

1、本文部分内容来源于网络,不代表本网站立场。本网站对上述信息的来源、准确性及完整性不作任何保证。在任何情况下,本文信息仅作参考。

2、文章重在分享,如有原创声明和侵权,请及时联系本站,我们将在24小时之内对稿件作删除处理。

相关阅读

QQ
微信
微信
公众号
公众号
在线咨询
电话

联系热线:400-080-0149

返回顶部