7

已经了解 AES 是首选的加密方法,如果可能的威胁是脚本小子级别,是否应该重写使用 DES 的现有代码?(例如,非计算机专业人员可以使用免费实用程序破解 pkzip 密码,那么 DES 也是这样吗?)快速的谷歌搜索似乎暗示即使已弃用的 DES 仍然需要超级计算机和大量时间——或者时间已经改变?

特别是,这个CAPTCHA 库使用 DES 来加密在视图状态中发送给用户的挑战字符串。

4

4 回答 4

12

DES 在存储敏感数据方面被破坏了,所以我肯定不会在任何新的东西中使用它,而是会在任何用于长期存储任何感兴趣的信息(某人将从国家安全利益中获利的数据)中替换它在偷窃)。

目前,使用价值不到 100,000 美元的定制硬件,可以在几天(或更短时间)内通过暴力破解 DES 消息。

但其中有一些关键因素:

硬件是定制的——用于快速破解 DES 密钥的芯片不是您在 PC 中找到的通用处理器。话虽如此,今天可能有空间使用一组 Playstation 3s 或带有 GPGPU 的当前一代显卡在合理的时间内破解 DES 消息,也许将成本降低到 15,000 美元左右。

另一个因素是时间 - DES 消息可以在一天内破解,但如果您的 CAPTCHA 库有一个时间戳为任何给定的 CAPTCHA 响应指定 30 分钟超时,它仍然有效(您可以扩展您的硬件,但是那么你说的是数百万)。

总的来说,我想说的是,对于非长期存储,DES 仍然可以安全地抵御“脚本小子”。

于 2009-07-31T13:49:58.367 回答
4

不,DES 破解不适合脚本小子,而且可能不会在不久的将来出现。

它需要如此巨大的处理能力,我们谈论的是FPGA处理器的负载。

例如,在CHES 2006 密钥挑战赛中的COPACOBANA使用了 128 个处理器中的 108 个,耗时 21 小时 26 分钟 29 秒,吞吐量为每秒 431.852 亿个密钥,并在搜索 4.73507% 的密钥空间后找到了密钥

现在,如果我们看一下摩尔定律,我们会看到,如果我们目前制造一台类似的机器,那么目前花费 1/4 的时间来获得相同数量的资金,或者 1/4 的时间来获得相同数量的资金时间。

于 2009-07-31T13:52:57.773 回答
2

DES 被加密社区的标准打破;但是打破它所需的时间通常足够大,以至于在这种应用中使用它是“安全的”。有一个假设:DES 密钥在会话之间发生变化。如果密钥没有改变,那么它很容易受到非常敬业的个人的攻击。现在,问题是,您的网站是否受制于那些将花费 10 天以上的时间来破解 DES 的人,而不是应用垃圾邮件行业其他人的经验教训来进行图像识别。

于 2009-07-31T13:58:33.007 回答
1

对于大多数用例来说,DES 可能仍然足够好。但关键是,通常有理由使用已知相当弱的算法(或者在这种情况下更确切地说:密钥强度)。 Wikipedia指出,即使使用特殊硬件,也需要 9 天左右才能进行详尽的密钥搜索。我不认为脚本小子可能会花费那么多 CPU 时间(即使他们有僵尸网络)只是为了破解验证码。(实际上,只要有足够的智能图片识别,破解验证码通常会容易得多……)

于 2009-07-31T13:47:44.627 回答