我的工作场所使用这些为您提供临时密码的 SecurID 令牌,该代码将在短时间内过期。我一直对这些东西很着迷,因为似乎计算下一个数字的所有逻辑都必须在物理上位于设备内部。
给定对令牌的物理访问权限,是否可以预测数字?如何?如果没有物理访问,理论上是否可以从先前的数字预测未来的数字,无论是否了解种子?
*我不是试图破解它,只是出于对数学的好奇!
我的工作场所使用这些为您提供临时密码的 SecurID 令牌,该代码将在短时间内过期。我一直对这些东西很着迷,因为似乎计算下一个数字的所有逻辑都必须在物理上位于设备内部。
给定对令牌的物理访问权限,是否可以预测数字?如何?如果没有物理访问,理论上是否可以从先前的数字预测未来的数字,无论是否了解种子?
*我不是试图破解它,只是出于对数学的好奇!
SecurID令牌所做的不是完全公开的;RSA(该公司)非常不愿意发布细节。可以推断如下:
在这些假设下,那么:
2011 年 3 月,一些系统在 RSA 中受到攻击,攻击者似乎很可能设法窃取了一个或几个主种子(这些设备是建立在“家庭”中的,因此有几个主种子是合理的)。RSA 已声明必须更换 4000 万个 SecurID 令牌。如果您知道代币的序列号(可能印在代币的外面),您可以使用Cain & Abel@dls 指向的工具;据推测,该工具实现了泄露的算法和主种子,因此可以产生未来的令牌输出(我没有尝试过)。这仅适用于仍接受要替换的 4000 万批令牌的服务器。我不知道 RSA 及其客户在这个过程中走了多远,所以这种攻击可能不再起作用了。这实际上取决于管理您攻击的服务器的人员的反应。
(如果这些系统管理员在九个月后还没有更换受感染的设备,那么他们很可能在安全问题上相当松懈,服务器可能还有很多其他可远程利用的安全漏洞。)
如果你有它的秘密信息,你可以像它一样生成数字。如果你不这样做,理论上可以根据你所看到的做出预测,因为这些数字在数学上是相关的。然而,它们的关系非常复杂,以至于人们认为这样做在计算上是不可行的。也就是说,进行该预测所需的计算量将比令牌的生命周期花费更多的时间。例如,如果一个平均令牌每 10 年更换一次,那么在所有已知计算机并行运行时,计算其秘密信息或其一系列值的算法在实践中将无济于事。
这种计算上的不可行性是所有有用的数学密码系统的基础。但在所有情况下,我们所拥有的只是加密工具,在这些工具中,逆向它们或解决它们的秘密信息被认为在计算上是不可行的。新的发现可能表明,一些计划比人们认为的更容易破解。
我在 RSA 从事 SecurID 项目。前面的答案是正确的。
如果您知道种子,您就有机会计算出密码(显示的临时密码)。但是所有设备在制造时都被赋予了一个随机种子,并且种子值不会存储在任何地方。
即使您拥有身份验证管理器,也无法猜测密码,因为只有管理员才能上传令牌列表。此列表中的信息对于生成特定 SecurID 或软令牌的密码是必需的。如果启用了按需身份验证,用户可以通过 SMS 或电子邮件请求密码,但密码仍然基于分配给用户的令牌。