【发布时间】:2014-01-23 16:14:54
【问题描述】:
一位同事经过大量研究(包括听取https://crackstation.net/hashing-security.htm 的建议)实施了我们的密码哈希代码
生成的密码哈希包括盐(应该没问题,并且是验证密码所必需的),还包括迭代计数,这对于密钥拉伸来说很高。
很高兴将迭代计数保存在数据库中,因为可以在单元测试中使用较低的计数,并且如果我们更改计数,则仍然可以验证现有保存的密码哈希。但是我想知道包含这个数字是否安全,因为如果知道迭代次数,蛮力攻击会不会更容易?在我看来,这将防止对增量测试的每个迭代计数进行大量额外检查。
【问题讨论】:
-
如果迭代次数不是太少,那无论如何也无助于攻击者。
-
如果您不想直接存储迭代计数,您可以只保存一个指示哈希方案和设置的数字,并使用它来确定 PBKDF、盐大小和迭代计数。但总的来说,迭代次数可能是公开的知识。
标签: passwords cryptography password-encryption