我的 SIM 卡容易受到 DES 破解吗?

信息安全 移动的 GSM 德斯
2021-08-28 16:18:31

Srlabs 最近发表了一篇文章,指出可以利用 DES 中的漏洞利用许多 SIM 卡:

[...] 虽然存在使用最先进的 AES 或有点过时的 OTA 3DES 算法的选项,但许多(如果不是大多数)SI​​M 卡仍然依赖于 70 年代的 DES 密码。[...]

显然,运营商需要一些时间才能采取纠正措施并准备更换过时的 SIM 卡。但是,我想尽快知道我的立场。

我可以在没有运营商帮助的情况下检查我的 SIM 卡是否容易受到此类攻击吗?如果是这样,我会怎么做?

2个回答

虽然细节尚未公布,但目前已知的信息指向以下几点:一些敏感操作受到一些加密和 MAC 的保护,两者都依赖于运营商特定的算法和密钥长度选择。然而,一些运营商显然依赖于密钥大小相对较小(56 位)的DES,使得专用组甚至业余爱好者都可以进行密钥恢复(有一些预算,但据说可以通过使用彩虹表来共享这项工作) .

重要的词是“特定于运营商”,运营商不太可能真正披露他们正在使用的内容。默默无闻的安全反应是根深蒂固的,尤其是在传闻危机的时候。


一般说明:从密码学家的角度来看,有易处理的难处理的这通常是一个连续体:更大的密钥使攻击变得越来越昂贵,并且存在一个特定于攻击者的阈值,超过该阈值攻击成本使其不再值得付出努力。预计算表(例如彩虹表)在适用时可以将“易处理”转换为“便宜(从长远来看)”,这意味着两个世界之间存在巨大差距:现在存在“牢不可破”与“每个人都可以做”它”。

但是,可以设计易于处理的算法(可以使攻击起作用)但不能使用预先计算的表进行优化。通常,使用盐的密码散列属于该类别。尽管对 SIM 卡攻击的合理解决方法是切换到强大的算法(甚至 3DES 也可以完成这项工作),但运营商可能会实施短期解决方案,其中涉及一些具有公共值的随机化——使得他们的 SIM 仍然可能受到攻击,但每个受攻击的 SIM 卡的成本很高(2 56穷举搜索,虽然可行,但仍然很昂贵;在您的 PC 上试试吧!)。


关于性能:彩虹表是关于探索N 个的空间,但仅存储其中的N/t,其中t是在表构建时选择的“链长”。使用表时,需要执行t 次查找(并且每次攻击有t 2成本)。一个机械硬盘每秒可以处理大约 100 次查找。我们谈论的是 2 分钟的攻击,因此是 120 秒,攻击者可能带来了,比如说,10 个磁盘来跳舞。这允许t等于 120000 左右——比如说 131072 ( 2 17 ) 以使计算更容易。N = 2 56 时,攻击者仍然需要存储2 39 个元素,每个元素的成本为 10 字节:我们说的是 5 TB 左右,按照今天的标准来说是便宜的。CPU 成本是攻击时的2 34次加密,这可能在 120 秒的时间范围内在一对多核PC 上的软件中实现(有一些漂亮的优化)。

因此,公布的数字是合理的,预算很少。但是,最初的表格构建需要更多的精力(租用集群需要几个月);现有的彩虹表倾向于专注于密码散列函数,而不是原始加密。通用 DES 上的彩虹表必须存在于某个地方(这是全世界特勤局都会引以为豪的计算壮举),但业余爱好者可能不容易获得。

这取决于您的 SIM 卡的版本,但通常如果它不超过 10 年(这大约是所有 SIM 卡开始使用 3DES 的时间),您应该没问题。不幸的是,这完全取决于您的运营商,并且没有简单的方法可以找到。

您可以根据fortinet 上非常扩展的文章自行检查。但我认为询问您的运营商会更容易。