泄密门,大家发现天涯这类大网站直到2009年还使用明文存放用户密码,于是杯具了。
那么网站使用md5加密,是否更加安全呢?我们来做个测试:
假设我的密码是lovemybaby,我们生成32位大写md5串的样子,使用这个网址,如下图
MD5码是:DCE24495C43E06221928F3CE8C501856
然后来到MD5解密网址,(这只是一个演示站,真正的黑客数据库要强大的多) 如下图
解密MD5后得到密码:lovemybaby,破解成功!
破解原理:
第一点:利用MD5字典对照破解
MD5摘要是采用不可逆方式存储,上述网站并非找到了可逆的算法,利用MD5字典对照破解。这和暴力破解是有区别的,暴力破解是先有明文密码字典,然后将第一条明文密码转换成MD5串,和现有的MD5串对照,如果不同再进行第二条密码对比。这种方法破解效率是很低的。上述MD5破解站,一般拥有一个数据达上亿条(甚至上万亿)的MD5数据库,破解时直接比对MD5串,相当于执行一句 select * from md5_table where md5_code = this_md5_code一条语句,如果服务器快,上亿条查询可能只用几十毫秒。
第二点:一个MD5串可能对应多个明码,增加了泄密的可能
MD5的不可逆加密方式,意味着一个MD5串可能对应多个明文密码。这相当于上述破解工作的效率会数倍、数十倍提升。
即使用户想出了一个超级复杂的密码A也白搭,因为A加密成MD5后,也许会很快被破解为密码B,而且这个密码也同样有效。
MD5串安全么?
1. 在网站数据库没有泄露的情况下,MD5串基本安全。
原因很简单:数据库没泄露,意味着黑客不知道你的MD5串。那么黑客只能用暴力破解的方法不断用明文尝试密码。设想一下,某黑客通过不断调用天涯登陆界面来试密码,不知道猴年马月才能试出来一个用户的密码。除非这个黑客是傻的或跟你前世有仇,他们不会这么做的。设想另一种情况,黑客控制了天涯的web服务器但还没搞掂天涯数据库(这种情况很少发生,因为web服务器通常会包含访问数据库的方法),只要一天黑客没有得到MD5串,黑客只能通过web服务器去修改你的密码,而无法直接获取用户现有密码。
2. 在网站数据库泄露的情况下,MD5密码形同虚设
我们看到网上公开的信息,有些网站用户的密码是MD5加密的。按照前文所述,黑客只要采用MD5字典简单查询,就可以匹配绝大多数用户密码。按照 http://www.cmd5.org/ 所说的,93%的MD5串都可以用破解。所以被爆库但采用MD5加密的网站,不要沾沾自喜,大多数用户的密码实际上相当于已经泄露!
作为普通用户,我们该怎么办?
1. 区分网站规模大小,密码分级
第一类密码:新浪搜狐腾讯淘宝这样的大型互联网公司,采用比MD5更高级的加密方法,如SHA1/256/512或数字证书,破解比MD5麻烦很多。
第二类密码:个人相关,但网站规模中等。招聘网站、大多数购物网站、交友网站、SNS社区。
第三类密码:中小网站。不管你们信不信得过,反正我是不信的。
2. 支付密码绝对不要和其他密码类似或相同
支付密码,网上银行密码,这类密码需要最谨慎,尽量单独设置。
采用MD5加密方式的网站拥有者该如何?
1. 各个环节,严防死守,保障服务器安全。
被爆库是不可饶恕的罪,无论你是MD5还是SHA加密。这就不多说了。
2. 用户密码不要直接转MD5,要结合用户名、用户ID,生成复合型MD5密码。
这样黑客虽然破解MD5串,但也无法得到真实用户密码。当然你的编码规则不能让黑客了解。假如网站采用PHP明文写代码,黑客如果侵入了web服务器,很容易得到MD5编码规则,所以要对代码进行加密。如果采用.net编译后的代码,最好用混淆工具处理一下,增加黑客的难度。
3. 尽可能将MD5串升级为SHA级别
补充于:2011年12月30日中午:
澄清一下,上面的md5破解网址 http://www.hash-cracker.com 严格来说不算破解站,充其量只是一个网络安全普及站。在网页上查询3秒钟就出来了,估计数据量很少,可能连1000万md5数据都没有。所以复杂一点的密码查不出来。
真正黑客使用的md5数据库的数据量,普普通通的都有上千亿条数据,而且里面的密码来自于现实中多个已经破解的数据库,匹配到密码的机会很大。更何况,真正的黑客集团,当然不会傻到将数据公开给大众查询。
一旦类似天涯或csdn的整站数据库被盗,即使密码使用md5加密的,用上千亿条md5加密数据查询核对,匹配的机会相当大。90%的用户,使用的都是数字加字母的简单密码,在这样的海量匹配面前不堪一击。
作者: 谭砚耘@用户体验与可用性设计-科研笔记
版权属于: 谭砚耘 (TOTHETOP至尚国际 )
版权所有。转载时必须以链接形式注明作者和原始出处
http://www.webusability.cn/how-safe-for-md5-encryption-or-dangerous-793/
如果你希望与作者交流,请发送邮件到 tanyanyun/at/163.com 别忘了修改小老鼠

