暴雪密码为何被破解39t像公司说的那样难破解

黑客从在线游戏帝国暴雪提取重要用户信息的周四消息的一线希望是,该公司表示,密码受到加密方案的保护,很难破解。我们报告说,使用加密盐使得从加密哈希导出明文密码的可能性极小。包括索非斯和因特戈在内的安全研究人员对此表示赞同。

但其他研究人员警告说,暴雪的建议夸大了案情,可能会给用户一种错误的安全感。研究人员指出,用于将明文转换为加密哈希的安全远程密码协议是一种已有十年历史的方案,其重点是在密码通过互联网时保护密码,而不是在密码静止时,即当密码存储在网站服务器上的数据库中时。一位花时间阅读协议作者撰写的正式SRP白皮书的博客作者甚至要求暴雪总裁迈克·莫海姆收回或澄清。

Blizzards声称SRP 旨在使得在验证者数据库被盗后提取实际密码非常困难是错误的, TapLink公司的创始人杰里米·斯皮曼在周五发表的名为 SRP不会保护blizards被盗密码的博客文章中写道。如果用户认为自己的密码实际上仍然是安全的,那么他们这样做充其量是误导和不准确的,也是危险的。暴雪代表在发给Ars的一份声明中写道:“那个博客中提到的具体实现不是我们所使用的。我们知道1998年发表的关于SRP的白皮书,其中的信息在我们实施我们的技术时被考虑在内。出于安全原因,我们不能更详细地讨论。

实际上,warter . net 2.0模拟器表明,至少有一些散列化的暴雪密码是使用1024位模数的SRP实现生成的,而不是白皮书中描述的256位模数。这一调整使得破解密码的时间比使用低位设置要长64倍。毫无疑问,这些措施远远超过了去年6月为LinkedIn和eHarmony甚至为私人情报公司战略预测公司提供的保护密码列表的措施。也就是说,如果没有暴雪拒绝提供的更多细节,它对破解受损散列的难度的保证是没有意义的。这就是为什么。

是的,白皮书中描述的默认SRP方案使用加密盐。salting的工作原理是在用户密码通过加密哈希函数(如SHA1算法)之前,在用户密码中添加一个唯一的随机字符串,这样即使两个用户碰巧拥有相同的密码,他们也将拥有唯一的密码哈希。破解咸哈希时,Hashcat和开膛手John等破解密码程序被迫逐个破解每个明文候选项,而不是一次攻击所有明文候选项。这意味着破解包含100万种独特盐的密码数据库的黑客将导致大约100万倍的减速。这种性能惩罚可以在大部分散列被破解之前购买被破坏的网站时间,特别是在存在数百万种独特盐的情况下。

100万倍甚至1000万倍的增幅听起来很大,但情况并不总是如此,特别是在密码破解的稀薄世界。一台运行单个AMD Radeon HD 7970 GPU的PC平均每秒可以对大型SHA1散列列表进行惊人的10亿次密码猜测。拥有100万种独特盐的攻击者,HD 7970仍然可以在16分钟内烧穿100万字的单词列表。拥有额外资源的黑客在一两个星期内破解大部分暴雪密码不会有什么困难。例如,使用Amazon的基于EC2云的服务,一个装备有10万字词典的黑客每天只需花费350美元就可以在1024位模数暴雪密码中刷40万个。

可以肯定的是,10万字的字典不会破解每一个密码,但会破解其中相当大的一部分。考虑到暴雪的密码不区分大小写,这一决定尤其正确,这可能会减少对公司支持团队的呼叫,但也会大幅减少黑客需要载入攻击字典的字数。此外,使用较弱的256位模数散列的任何密码破解速度都要快64倍。暴雪的建议中也遗漏了一点:盐腌并不能增加破解任何一个散列所需的时间,所以如果攻击者想要攻击暴雪众多名人中的一个ity用户——例如前魔兽世界投手T先生——这项措施根本没有效果。而且由于泄露的数据包含明文形式的用户电子邮件地址,所以破解者这样做并不是不可思议的。

平心而论,SRP是哈斯卡特或开膛手约翰不支持的一种不太为人知的散列方法。但这可能会改变。暴雪妥协的消息传出后不到24小时,开膛手首席开发者亚历山大·派斯克( Alexander Peslyak,又名太阳能设计师)约翰就已经开始考虑用破解验证者数据库( hash table )的能力来扩充程序,这是安全的远程密码术语。“这是我们开始支持SRP验证者的机会,”他周五写道。在Hashcat中添加SRP支持也不足为奇。

远比暴雪散列被腌制更重要的是公司不会讨论的关键细节——用于生成它们的特定密码功能。SRP白皮书所要求的SHA1等算法旨在以最小的计算能力非常快速地将明文转换为散列。这正是有人想要破解数百万个散列的最大目的。更好的算法是Bcrypt、scrypt或pbkd F2。与SRP不同,这些功能是专门设计用来在密码静止时保护密码的。他们使用各种方法来增加计算机生成最终散列所需的时间。例如,bcrypt通过Blowfish散列算法的多次迭代传递明文,交替使用salt和密码作为密钥。通过使散列过程任意缓慢,它有助于阻止对大量散列的破解攻击。如果像Twitter这样的网站可以使用Bcrypt、暴雪、LinkedIn等,那么肯定也可以这样做。

像周四暴雪咨询中的那种保证的问题是,它们为一些已经在寻找不麻烦更改密码的理由的用户提供了安慰。如上所述,受影响的用户每隔一小时或一天不更改密码,就会增加被入侵者破解的机会。

暴雪的散列方案使用盐是很好的。如果暴雪的SRP实现使用较慢的1024位模数,我们也应该为此鼓掌。但鉴于我们对SRP默认版本的了解,以及暴雪似乎对其实现所做的调整,对于破解这些散列密码非常困难的说法没有任何支持。相反,用户应该非常谨慎地操作,并假设其中很大一部分已经被提取。

莫海姆先生,我们等待您的澄清。