3

阅读了 Rob Napier 关于使用 CommonCrypto 正确加密的博客文章后,我仍然无法理解为什么增加散列迭代次数会使攻击者“浪费一些时间”。

CCKeyDerivationPBKDF的手册页将轮次描述为:

要使用的伪随机算法的轮数。

这里的原理是攻击者试图通过一系列猜测来破解密码,但是为了将密码变成密钥以查看它是否有效,他们自己必须迭代轮数?

4

3 回答 3

3

这是一个原则。另一个好处是,潜在目标之间不同的回合数使得一刀切的攻击更难奏效。就像盐一样,加密中的多样性和附加工作使得攻击者不得不对每个目标进行昂贵的攻击。此类障碍可能会阻止攻击者攻击您的站点:他或她注意到有更容易定位和移动的站点。

如果您的网站很重要,那么实际情况是攻击者通常会绕过加密而不是钻研它。Bruce Schneier 指出加密通常是最强的链接。他们更有可能拥有您的盒子或利用他们的网络应用程序中的缺陷。一旦他们拥有控制权,他们就可以拦截或操纵他们想要的任何数据。因此,最好只使用加密的最佳实践配置,然后将大部分精力用于寻找应用层的问题。

于 2013-04-13T19:17:01.037 回答
2

是的,这是正确的。随着硬件随着时间的推移变得越来越快,计算大量潜在输入的关键值变得更便宜、更容易。增加需要执行的迭代次数允许计算密钥的成本随着硬件变得更好而随着时间的推移而增加,而不必切换到全新的、更昂贵的算法。

于 2013-04-10T17:15:01.070 回答
2

是的,攻击者还必须做相同数量的回合,增加他的工作和时间。

于 2013-04-10T17:12:55.897 回答