你以为你以为的好密码就是好密码?

什么是好密码?几乎每一个网站都给出了差不多一样的标准:

长度得8位以上;需含大小写字母、数字及符号;不要用任何出现在字典里面的词,包括部分替换(如用p@ssword或fai1也不好)。

只要你的密码满足了这些标准,基本上网站都会奖励你一个绿色的强密码标示—好密码。但是实际上你和网站都错了。为什么?原因首先要从密码是如何被破解讲起。

黑客如何破解密码

网站是通过比对输入的密码与数据库中的密码来验证用户的。但是一般这些密码都不是以明文的方式存放,而是用哈希算法对保存的密码进行单向加密,输出 的结果是无法逆向工程出来的。比方说“123456”经过SHA-1哈希算法得出的结果是 7110eda4d09e062aa5e4a390b0a572ac0d2c0220,通过这个结果是无法知道原始密码的。

然后用户登录时输入的密码也会被利用同样的哈希算法计算出哈希值,再与存放在数据库中的正确密码哈希值比对,一致则说明输入密码正确。

拿到哈希密码文件的黑客可利用暴力破解法比对哪个账号与哪个密码相关。他们可以从简单一点的密码开始,这些密码可以从之前的攻击字典库查找,也可以从一般的字典上查找,然后进行单词组合。

如果密码长度较短,采用的字符集仅仅是大小写的话,破解的速度会快很多。黑客可以用彩虹表(预先计算的哈希值)来加速暴力破解的速度。按理来说上述采用复杂不常见的密码应该是不错的选择(比方说像Spooning1!,因为生僻,很难被列入彩虹表)。但实际上并非如此。

因为现在的计算能力已经非常强大,用普通计算机结合显卡阵列的GPU能力,暴力破解法每秒钟可处理10亿到千亿用SHA-1算法加密的密码。不过尽 管如此,如果密码有11、12位或以上,并且完全是在所有可能的字符中随机生成出来的话,哪怕有这么强大的计算能力暴力破解法也是很难破解的。

讲故事,设密码

但问题是大部分人都不是用随机生成的密码的。当然,大家不用随机密码也是有原因的,因为随机密码难记(大脑机制就这样,很难记住随机字母数字符号组合)。可麻烦就麻烦在这里,因为那些“好密码”规则已经被黑客熟知。Markus Jakobsson指出,其实这就是密码设置的安全性与可用性的矛盾。

在研究中Jakobsson发现,有人因为喜欢苹果,所以密码就用了“apples”,但是网站要求有大写字母,所以他就把第一个字母改成了A,可 能网站说这样不安全,还必须有数字和字母,通常用户就会选择满足规则的最简单方式,在后面加个1再加个!—“Apples1!”。按照前面密码的设定规 则,“Apples1!”无疑是一个好密码(至少跟那些糟糕的密码相比)。

但是黑客在破解时往往也会如法炮制,利用字典加上个别字母替换,以及上述常见的数字、符号扩展来缩短破解时间(如利用马尔可夫链技术来预测)。2013年中三位安全专家就利用了某一泄露的数据库进行过测试,其1小时成功率为60%,而20小时成功率更是达到了90%。

作为替代,Jakobsson建议用户采用所谓的“快速写词”法来设置密码,即用几个单词来组织成一个故事,从 而构成密码组合。比方说,跑步时踩到一只松鼠,可以快速记忆为“running forest squirrel”。这种办法因为有故事情节所以方便记忆,但是由于所用字符数通常超过了10到12个,暴力破解法是很难破解的,除非破解者采用单词组合 等其他技术。但是单词组合的可能性近乎无限,对于暴力破解来说差不多是无解的。

话虽如此,在设置密码时故事也不能乱讲。研究者发现,用“快速密码”法设置的密码的安全性取决于所用组合在语料库中出现的概率。比方说,常见的“I love you honey”在微软的语料库Web N-gram Services中的出现频率为2/100000000,相对而言这属于很糟糕的密码。而讲述工作路上不小心踩扁了一只青蛙的“frog work flat”的出现几率却只有百万的3次方份之一,强度非常之高。所以,要想取好密码,关键得讲好你的故事。

不过密码专家认为,相对于仅仅在密码设置上下功夫,更好的办法是广泛采用双因子认证的方式来确保安全,这样不安全的密码就不会成为抵御攻击的唯一屏障了。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-08-22 21:40:52

你以为你以为的好密码就是好密码?的相关文章

ubuntu root默认密码(初始密码)

ubuntu root默认密码(初始密码) ubuntu安装好后,root初始密码(默认密码)不知道,需要设置. 1.先用安装时候的用户登录进入系统 2.输入:sudo passwd  按回车 3.输入新密码,重复输入密码,最后提示passwd:password updated sucessfully 此时已完成root密码的设置 4.输入:su root 切换用户到root试试.......

windows-在Windows下更改用户密码时,有什么方法可以获取到旧密码、新密码、确认密码吗?求各位大神指教

问题描述 在Windows下更改用户密码时,有什么方法可以获取到旧密码.新密码.确认密码吗?求各位大神指教 在Windows下更改用户密码时,有什么方法可以获取到旧密码.新密码.确认密码吗?求各位大神指教. 有什么DLL用来处理用户修改密码的事件吗? 有的话是不是可以hook这个DLL的函数来截获新密码? 解决方案 不知道你是准备做什么,用hook是可以截取键盘和鼠标的所有信息的,但是各种杀毒软件都会提醒用户键盘鼠标正被监听.hook函数慎重使用,不然你的电脑会经常死机的 解决方案二: 不是要截

帮助用户解决登录困难:忘记密码和找回密码的设计

文章描述:注册那点事之--忘记密码?还是找回密码? 上次我们聊到了关于用户来到你的网站,如何让用户心甘情愿注册,以及如何在注册中为用户设置与产品定位相符的注册填写项.今天我们来聊一个看似平淡无奇而事实上和每个用户账号息息相关的问题:用户无法登录自己的账号时该怎么办? 用户无法登录自己的账号,看到产品界面上硕大的红色"用户名或密码错误"之类的提示自然是心急如焚.好在当前涉及用户账号的产品都有完备的账号安全机制,无论用户的用户名忘了,还是不记得密码了,都提供了完善的应急机制.虽然看起来各个

Windows8使用图片密码和pin密码登陆

  图片密码和pin密码是Windows 8新增的一种登录方式,在Windows 8开发者预览版中大家已经可以体验到这一新功能.那又是如何运用的呢? 按win+I键然后回车,进入设置界面,左边选用户,然后进行设置,设置好以后以后就可以不用输复杂的微软live账号密码了,用自己设定的图片密码或者pin就可以登陆.         注:更多精彩教程请关注三联电脑教程栏目,三联电脑群:189034526欢迎你的加入

新扬天VKEB机型BIOS密码、硬盘密码设置与清除方法

  适用范围: V490 V480 M490 M480 B490 B480 E49 K49 K29 操作步骤: 注意:在设置BIOS密码前,请将设置的密码牢记,一旦忘记,只能送修联想售后服务站协助处理. BIOS超级管理员密码设置方法: 1. 开机不停敲击F1键进入BIOS,并使用左右方向键选中Security菜单项,如下图: 2. 使用上下方向键选择Password选项,并敲击回车键进入,从下图红框标记处可知,Disabled表示当前未设置BIOS超级管理员密码,如为Enabled,表示当前已

图片-鱼c光盘密码解压密码 ????

问题描述 鱼c光盘密码解压密码 ???? 解决方案 可以google下用破解工具破解 解决方案二: 需要VPN,可以找我,楼上的人,谷歌被墙了的啊 解决方案三: 需要VPN,可以找我,楼上的人,谷歌被墙了的啊 解决方案四: 程序员应该知道如何自由上网.要不然和民工兄弟有什么区别呢? 解决方案五: 有gfsoso也不错啊.. 解决方案六: 可以google下用破解工具破解 解决方案七: 鱼C光盘5张合集下载地址无密码http://download.csdn.net/detail/zengming0

Android自动连接指定的wifi,免密码或指定密码

原文:Android自动连接指定的wifi,免密码或指定密码 一.运行时的状态 遇到一个这样的要求:"不进行扫描操作,怎么对指定的免密码WIFI进行连接(之前没有连接过)",于是动手写了一个Demo,如图所示未连接成功时的状态,第一个编辑框让用户输入SSID,第二个编辑框输入密码,密码可以根据实例情况输入,也可以不输入密码,因为有些Wifi免密码.这里的免密码不是指可以破解wifi密码.注意图片中手机顶部的wifi图标,是没有的,说明此时并没有打开手机的wifi.在手机上运行状态如下所

苹果6S忘记密码 iPhone6S开机密码忘记了怎么办

苹果6S忘记密码 iPhone6S开机密码忘记了怎么iPhone解锁联系QQ号:[ 48645188]开锁率高达100% ,苹果id解锁QQ号:[48645188]百分之百成功率放心选择,无需拆机,无需邮寄机子,也不用远程操作.提供你的资料即可远程解锁.

管理员帐号 密码-Windows 10密码忘了怎么办

问题描述 Windows 10密码忘了怎么办 用360把Win7升的win10,之后输入以前win7的密码,竟然密码错误,求大神指点!!! 解决方案 进PE,有工具可以去除密码或者查看密码. http://www.bigbaicai.com/rjjc/syjc/1100.html 解决方案二: 是本地密码还是 microsoft账户密码? 前者可以用市面上的那种带启动工具的windows盘启动,进入pe系统,清除密码. 后者可以在网页上点找回密码,输入备用邮箱,密码提问,找回. 解决方案三: 我

js密码强度 Password密码检测函数

js密码强度 Password密码检测函数 function click_Password_input(thisinput) {  regPasswordinfo.className = "show exactness";  regPasswordinfo.innerHTML = "1.密码只能由英文字母a-z(不区分大小写).数字0-9._(下划线)组成.<Br>2.密码长度为6-20个字符. "; } function check_Password_