我正在开发一个应用程序,其中将建立以下密码系统:
我在想,在密码散列和KDF阶段,是否存在使用双氪然后Argon2??的缺点??如果是的话,如何提高哈希的安全性呢?谢谢
发布于 2019-07-07 08:55:02
这种自制的建筑毫无意义,也没有必要的复杂,复杂性往往是脆弱性的根源。例如,在本例中,我敢打赌,当您将多个密码哈希链接在一起时,您不会安全地处理中间变量。
只需使用argon2并增加工作因素。“双氪”是相当没有意义的,因为氪星也有工作因素参数,可以简单地增加。
发布于 2019-07-08 00:37:21
你用错了KDF。Argon2和scrypt (以及bcrypt和PBKDF2等相关结构)的唯一目的是减缓字典和暴力攻击人类创建的密码的速度。在使用ECC交换的随机生成的密钥上使用它是不正确的,因为密钥是强的。
你用错了盐。salt的目的是减少彩虹表攻击,并使针对多个用户密码的并行攻击更加困难。你撒在密码系统上并不是为了让它更安全,而是一种魔法尘埃。对于随机生成的密钥,您不需要盐。
这就是为什么使用一个现成的库来为你做这一切是如此的重要。
https://crypto.stackexchange.com/questions/71801
复制相似问题