当前位置:网站首页 >> 游戏

你的密码还安全吗

时间:2019-04-10 22:11:36 来源:互联网 阅读:0次

密码安全是一个系统的基本安全要素,读者这次投递的稿件论述只用MD5进行密码HASH并不安全,如果将这个HASH数值保存在数据库中,有可能会被人破解。我认为,比较安全的密码保存方法是MD5(用户名+用户密码+随机数),这个HASH数值不仅无法反向破解,而且无法替换,完美的解决了读者的这个疑问。以下是读者的投递文章。

你的密码安全吗?你觉得你的密码已经很复杂了?密码再复杂,都有可能被破解掉。

让我们做个实验吧,你手里有数据库吗?如果有,用数据库的函数计算你的密码md5值。

如果没有,可以到这个站去计算。为了你的密码安全,不要用 真 的密码去试,虚拟一个密码吧。我拿密码 goodday 来试验。在上面的站计算goodday的md5值(32位)。得出结果0CF21CE35322D2E56D745E319B933470

我们拿这个值到这个站去破解吧。得到的结果是什么?goodday!说明这个密码并不安全。

为什么这么说?假如你是某论坛的用户,因为这个论坛管理不当,或其它人为原因,导致数据库被 偷 。那你的用户名和密码就被hacker拿去了,他们可以通这类似的站 破解 你的密码。有了你的用户和密码,可以在这个论坛以你的名义发贴,修改。可以查你相关的资料,然后以相同的密码试你在其它应用上的帐号,比如说,facebook之类的。

md5的反算是相当麻烦的,甚至可以说是不可行的(据说山东某大学的女博士破解了它,但破解方法有多少人懂?)。但为什么可以通过md5值 破解 掉密码呢?其实cmd5这个站做得相当的简单,它只是不是用数据库两个字段而已,一个字段保存原来的字符串,一个字段保存字符串的md5值。它通过存储过程(或其它程序)插入一些字符串(如密码字典),md5值由数据库生成。页面查找只是查找相关记录而已。

然后,这个字符串添加的渠道就是个问题了。这些站似乎还没有意识到这个利益。

假如说,这些站提供用户查询功能,包括md5的正向运算,用户好奇要算算自己密码的md5值。算完后,站 顺便 把它的密码和md5值保存起来,日积月累,那这个数据库就相当于一个超大的密码字典,卖出去肯定值钱。

如果有人以这个数据库作为密码字典写破解程序,破解起来就容易多了。

我觉得,这些都应该引起sysadmin,DBA,技术总监和络警察的注意。

传统密码离它死去的日子还有多远?

作者:TonyLiao 原文出处

另外,对加密系统感兴趣的同学可以参考我的一篇文章《加密技术在企业数据安全中的应用》。

大家好,我是原作者。

我几个月前写的这编文章,说真的,没写好,没把意思表达好中医按摩培训

md5的破解分为两部分:一是密码的收集,对黑客来说溧阳运输公司
,只要诱惑你输入(用户名)密码就行了(比如说注册色情论坛)。二是盗用数据库,这个要看黑客的本领,如果他面对的是不严谨的系统管理员或数据库管理员,那他机会就大了。

现在很多商业软件开发的时候使用md5作为用户密码,因为他们认为:md5是很安全的,即使被你偷去了,看到的也只是一些md5值,客户的保密没有问题。

很明显,md5也会被暴力破解的。

可以做个例子

我现在开一个站,用什么激情聊天,免费注册字样,吸引人注册。用户注册时输入注册用户名和密码,而我将它保存在数据库里,数据库表A只有三个字段:user_name char(10),password_ori char(10),password_md5 char(40) default md5(password_ori)。

如果我现在偷到一个收费论坛的数据库,表B有用户名和密码.

select ssword_ori,er from A,B where ssword_md5=ssword

查出来的就是论坛的用户名和密码原型。接下来你想干嘛就干嘛去TonyLiao 于 13:37:42 回复大家有没有考虑过用动态密码开发?这是个密码算法的问题了。路人 于 16:25:42 回复做过这一块的人都能看得懂你的文章。正如月光在文首添加的解释,现在稍微讲究一点的站,保存密码时都是要加salt的。

比方说用户输入的密码是 123,存的时候并不是直接把 123 的MD5值存起来,而是先随机产生一个salt值(假设随机生成的salt=abcdef),然后针对 123abcdef 计算MD5值。存储的时候,把salt值和的MD5值一起存起来,下次登录的时候是用用户输入的密码添加salt后重新计算MD5与数据库中的做比对。

因为salt值是随机产生的,则即使有两个用户使用相同的密码,数据库中存储的数据也是完全不同的。

2009/8/4 12:35:17 支持(12)反对(6) 回复

这就是所谓的弱密码的安全性问题

个人认为,只要多做两部,弱密码也是安全的。

1.将密码进行MD5散列

2.随便加个什么算法,对一次散列后的MD5进行重组

3.对重组后的MD5再次散列

这样的话:

1即使得到了重组算法也无法进行逆向处理;

2各个站不会用同样算法对MD5进行重组,所以MD5站不能存储存贮足够的信息,这样通过大型数据库来破解也不可行

2010/7/30 14:32:42 支持(12)反对(6) 回复

主流的论坛早就在改了,在MD5中加salt是迟早的事.

但要知道防破解是一回事,如果人家已经到了能拿数据库的地步,那在你页上加一句嗅探也是很容易的,你就算加密再复杂,也没用

cmd5老早就在卖数据了,人家在这方面的研究已经很深了,卖数据不是你想象的那么简单,那么暴利.上有个120G的彩虹表,是免费下载的

2009/8/3 23:39:09 支持(14)反对(9) 回复

我们可以算算理论上一个16位字母字符数字组合格式的密码组合有多少组。

26+10+29的26+10+29次方=6.e+117

这么多个16位的密码需要多少一个多大容量的数据库来存储?

用来卖也不那么容易吧

2009/8/3 23:35:26 支持(11)反对(7) 回复

那个站是“破解”呢,还是根据一个已有的库“查询”呢?误导。转载时候可以注意一些这样的问题。Tonyliao 于 13:35:04 回复不是误解,按密码字典(库)来查找并不断尝试,也叫暴力破解。

比如我是A站的数据库管理员,我可以查到你的用户名user,密码是md5值,去cmd5站把它反查出字符串出来。再用这个用户和密码去B,C,D站去尝试登录(现在上有一些perl程序,自动读密码字典去尝试登录论坛的)

2009/8/5 0:25:27 支持(10)反对(7) 回复

由于sql注入、跨站脚本攻击、上传漏洞、以及一些管的粗心大意等原因,造成不少论坛被攻破,数据库被盗,这对用户的隐私和个人信息安全造成了很坏的影响。尤其是很多用户对多种络服务使用同一密码,如果论坛密码被窃,将威胁到用户的邮箱,即时通讯,银等一系列的安全。以至于出现了“一个密码引发的血案”。

现在常用论坛都是将用户密码用MD5等hash函数hash后,再存放在数据库中。这种做法在一定程度上提高了安全性。万一不法分子得到数据库后,只拿到用户密码的HASH值。但一般用户在设置密码时,为了怕忘记,大多数采用姓名拼音,生日,常用单词,数字串单独或组合使用的方式。所以,不法分子只需将这些数据及其hash值存放在数据库中,再通过查询hash值的方式,就能破解很多用户的密码。如果这个字典数据库足够大,并且字典比较符合人们的设置习惯的话,那威力是惊人。以至于现在上出现了MD5 hash串查询的站,号称用4T硬盘共存储md5记录4574亿条,能破译动论坛83%的密码。

那么如何防范这种字典攻击和上那种MD5 hash串查询攻击呢。salt是一随机字符串,它与口令连接在一起,再用单向函数对其运算,然后将salt值各单向函数运算的结果存入数据库中。如果可能的salt值的数目足够大的话,它实际上就消除了对常用口令采用的字典式攻击,因为不法份子不可能在数据库中存储那么多salt和用户密码组合后的HASH值。当然,他们仍可以对单个用户的密码进行暴破。所以用户不要在不同的地方使用相同的口令。但利用salt后的安全性还是有所示增加的。TonyLiao 于 13:41:47 回复月光说的正是我想说的。

如果我是cmd5站站长的话,会考虑把这些密码一次性卖掉,收入应该是可观的。

即使4TB的数据库,在数据库里加入index的话,查询还是非常快的

2009/8/5 9:11:59 支持(11)反对(9) 回复

2005年就已经出来xmd5破解站了,现在又拿出这种没技术含量的文章来,审核是不是质量应该高一点啊?一个月光粉丝之见TonyLiao 于 12:36:35 回复你知道破解方法?是说破解了,是用HPC破解的支票打印供应
,而且时间也不短,估计你一辈子都看不明白那破解方法

2009/8/4 10:06:26 支持(8)反对(8) 回复

MD5(用户名+用户密码+随机数)这个是什么意思?

传统的做法是把用户密码生成 MD5 串后保存在数据库,用户在登陆时再输入密码,在客户端根据密码生成 MD5 串发送给服务器(如果是直接发送密码到服务器端再生成 MD5 串再存入数据库,则管理员可以获得用户密码,但非法得到数据库的人无法获得密码。如果是在客户端生成 MD5 串再发送出去,则管理员和非法得到数据库的人均无法获得用户的密码)。服务器再把用户发送来的 MD5 串和数据库中的 MD5 串进行比较从而通过验证。

你这个随机数是什么意思?把随机数作为 MD5 串的一部分?这个没有说清楚。williamlong 于 17:40:59 回复就是把用户名和密码以及一个指定的字符串进行MD5,然后保存在数据库中,用户登录的使用根据这个进行比较。

2009/8/7 17:06:26 支持(10)反对(11) 回复

这期内容不错。。。 我也是月光粉丝。。。 新人。。 嘿嘿。。

密码可以随机化设定, 不用同一个密码对应同一个帐户。 随机数组、随机字符、随机数字、大小写随机用……

帐户尽量不用同一个。。 这样能安全许多。

密码设定心理过程隐藏好不被社工安全性就大大提高了。。

以上只是小N 读后所感,若有不对之处还请指教。

2009/8/4 21:55:19 支持(6)反对(9) 回复

(*)

验证(*)

相关文章

一周热门

热点排行

热门精选

友情链接: 专业的宝马汽车保养店 宏观
媒体合作:

Copyright (c) 2011 八零CMS 版权所有 Inc.All Rights Reserved. 备案号:京ICP0000001号

RSS订阅网站地图