为什么人们建议使用像bcrypt/pbkdf2 2这样的键拉伸算法来计算更长的时间(故意),而不是使用更快的算法,这些算法也是安全的,比如盐渍沙-256或沙-512,并使用节流机制来限制暴力攻击?
节流不受CPU限制,对于暴力攻击也会提供同样的“延迟”,而对于普通用户来说仍然是快速的。另一方面,bcrypt/pbkdf2 2是CPU绑定的,并且总是慢的。
发布于 2015-02-27 08:00:24
当您使用键拉伸,然后您准备的情况下,攻击者已窃取哈希从您的数据库。然后,攻击者可以以GPU/CPU的全速启动离线攻击和暴力攻击,以破解密码。
因此,只有计算哈希的绝对必要代码才是重要的,因为所有其他代码(如节流)都可以忽略不计。要设置每个散列的最小时间,您必须使问题本身很难解决。这是关键的延伸,没有更便宜的方法来计算所有回合的散列,得到一个可比的散列。
有些算法,如BCrypt/SCrypt,是以某种方式设计的,因此它们很难用GPU解决。
https://stackoverflow.com/questions/28759551
复制相似问题