一项研究表明,1%的密码可以在4次之内猜中。
怎么可能?简单!尝试四个最常见密码。password,123456,12345678,和qwerty,这就打开了1%的大门。
好吧,你是那99%的人之一,但你还要考虑到而今黑客软件的速度。John the Ripper是一款免费的黑客软件,每秒钟能测试数百万密码。还有一款商业软件本来是用在刑侦领域里(在查封的电脑中寻找儿童色情或者恐怖分子的信息),号称每秒能测试28亿密码。
一开始,破解软件会运行一套穷举式的、时常更新的流行密码表,然后再是整个字典,包括所有的常见人名,昵称和宠物名。而今我们这些用户,在反复羞辱和威胁之下,大多学会了往我们的密码里加数字、标点和奇怪的大小写,这叫“重整”(mangling)。理论上,这能让密码变得难猜许多——实际上,效果远没有那么好。几乎所有人的思维都会遵循那些早已被踏平的熟门熟路。如果网站要求你的密码里必须有数字,那password变成password1或者password123的频率会让你吃惊的。而要求你必须大小写同时出现的密码就会产生Password或PaSsWoRd。必须有特殊符号的结果则是password!和p@ssword。你以为$pider_Man1这种密码真的有看起来那么安全?每个人都觉得自己很机智,最后都机智到一块去了。
而且我们还有理由担心,因为网站强制采取重整,会逼迫用户去使用那些简单好记的密码作为重整的“底子”——因为重整本身很难记。它带来的安全感是虚假的。
RockYou事件
之所以我们对这些愚蠢密码有所了解,很大程度上来自于2009年12月4日的RockYou.com安全漏洞事件,他们是一个Facebook游戏发行商。一位黑客公布了这个网站32603388位用户的账号名和明文密码。此前和此后都有很多安全漏洞,但是这一起事件的超大规模使得它成为密码研究的关键数据组——无论是对好人还是对坏人而言。
“123456”和“password”是非常受欢迎的密码。
在RockYou.com里最受欢迎的密码是“123456”,使用者人数高达290731人。不同年龄段和性别的人爱用的密码有很多差异,对于30岁以下的男性,许多受欢迎的密码来自性和秽语: pussy,fuck,fucking,696969,asshole,fucker,horny,hooters,bigdick,tits,boobs等词汇位居前列。年纪大的人(不分男女)更倾向于使用昔日流行文化里的老梗。“Epsilon793”本来不是一个很糟的密码——假如它不是《星际迷航:下一代》里Picard舰长的密码的话。七位数字“8675309”常见到不可思议的程度,因为它是当年一首流行歌曲里面的电话号码。
只有记不住的才是安全的?
密码安全领域的每一项新方案最后不可避免都要招致冷眼旁观的专家的评论——在他们看来,任何常见的密码管理行为都是没用的。许多专家奉行“写下来”的原则,“很简单,足以抵御住字典式攻击的长密码已经长到人们记不住的程度了,如果人们选取一个又长又复杂、完全记不住的密码然后写在纸上,那才算安全。”这是咨询家布鲁斯•歇奈尔(Bruce Schneier)在2005年写下的,在数字时代这简直是上古先知了。“我们都很擅长保管小纸片,我建议人们把密码写在纸上,然后把那张纸和其他有价值的纸放在一起——钱包里。”
即便可以将密码记在纸上,但敲出一个长而难记的密码也是烦人的事。移动设备的虚拟键盘?祝你好运。专家建议和现实场景的鸿沟在我爸的方法上体现得再明显不过——他把密码写在即时贴上,再把即时贴贴在电脑旁。密码并不复杂,只是一个两字短语,没有数字或者奇怪的标点符号。现实中的人不光会选择不安全的密码,他们连这样的密码都不大记得住。
而在网上漫游中,许多用户像蜗牛一样留下一串又一串都差不多的密码轨迹。他们会给每个网站都使用一样的密码,风险?见鬼去吧。有些网站会手把手地带用户,强迫他们遵循一些无厘头的密码规则,用户不得不修改自己的常用密码——然后他们下次登录的时候又不记得是怎么修改的了。
那怎样的密码才算安全?
创造一个安全密码简直是世界上最简单的事情:一串完全随机的字符就是了。靠自己的脑子是无法达成完美随机的,但你也不需要这样苛求自己:许多网站和应用可以拿环境噪声的数据给你提供完全随机的密码。这里是我在random.org上获得的一些密码例子:
Vk54z6XG
Px7YZrm3
NfdeKYsY
FryVMwMk
BVfqbRQb
问题解决?对于那些有迫害妄想的记忆狂人,或者那些用指纹识别来保障密码管理软件安全的人来说,确实如此。剩下所有人都甭指望能记住这堆字母汤。他们还说每个账户要有不同的密码!
比起专家来说,大多数用户都更在乎密码的方便好记,而不那么在乎安全性。我不知道哪一方更正确。你家里有紧急避难室吗?十有八九是没有吧,但那些装了避难室的人肯定会告诉你这玩意儿有多重要。但在你飞奔向避难室之前,也许确保自己始终锁好前门是更佳的选择。
密码面对的三种威胁
在现实中密码会受到来自以下三个方面的威胁:日常、群体和定向。
“日常威胁”指的是你认识的人。爱管闲事的同事或者亲人可能想要登录你的账号。他们会通过自己对你的了解来猜测你的密码(而不是靠暴力破解软件)。日常的打探者也许会知道你的高中球队是野猫队(Wildcats)然后尝试这个密码,不过wildCatz1很可能足以打败他。
“群体威胁”就像垃圾邮件一样,不针对个人。职业身份窃贼并不是在专门针对你的账号搞破解,他对你的个人情况一无所知,他的目的是汇集一套破解过的账号密码清单,通常是拿去再卖钱。密码窃贼则使用破解工具,会先从安全防护措施较低的网站下手——通常是那些允许你猜很多次的网站。这也许是没有什么经济价值的网站,比如游戏网站。等软件猜对了之后,它再用同样的密码及其变体去猜你的更加安全的账号,比如银行。
“定向威胁”意味着使用软件的私家侦探或警探。假如一个训练有素的人想黑进你的账号,假如金钱、时间(甚至法律)都站在他那边,那他很可能会成功。唯一的反制手段就是使用随机密码,长到足以保证其搜索时间抵得上你的预期寿命,甚至更久。
不要觉得你不会成为这种目标,哪怕是小企业的竞争对手也可能愿意花费资源去偷一台笔记本电脑。离婚案件里身价颇高的另一半也可能这样做。黑客可能会讨厌某个人的企业或者政治立场。推特的全站,就曾经陷落过,注意不是某个用户而是全站,原因只是一位管理员傻乎乎地选择了happiness作为密码。2009年一位黑客在字典攻击中发现了这个密码,把它贴在了Digital Gangster上面,结果是巴拉克•奥巴马,布兰妮•斯皮尔斯,脸书和福克斯新闻等等大账户的推特都被盗用了。
短语记忆法的问题
正如生命里所有别的事情一样,鱼和熊掌不能兼得,你不能同时拥有最高的安全性和最高的易用性。常见的策略里最好的一条之一是,把一个短语或者句子变成密码。你挑选一句话,一个词组或者一句歌词,用它们的首字母来作为密码。比如如果你要用May the force be with you(愿原力与你同在)这句话,密码就是Mtfbwy。
但刚才那句话最好不要用,而这就是问题所在。你肯定会想起某个电影、某首校歌或者南方公园里的众人皆知的句子。你有几个八词以上的短语能原样背下来的?随便一个句子甚至不见得比随便一个词更难猜。而且很少有人费心去重整他们的句子生成的密码——看起来已经很随机了嘛!
一个理想的密码方案即便所有人在用也不会失效。但如果句子变密码这个方案流行开来,那所有的大众文化习语变来的密码都会进入常见密码清单,破解软件会先尝试这些密码。而且习语缩写词一般都是字母,比起同样长度的多种字符混合密码要更危险。
这个办法的有些缺点可以解决。比如,永远不要用名句。一个办法是用私人笑话。还记得科苏梅尔岛上餐厅里侍者对布伦达说的那句超好笑的话吗?你记得,布伦达记得,也许侍者还记得,再没有别人知道了。如果你选择这句话作为你的密码句,那么你很有可能是地球上唯一用这个句子的人。
但密码本身是不是还那么独一无二,就不那么确定了。不同句子的首字母缩写也有可能是相同的,产生同样的缩写密码。有些字母更容易成为一个单词的首字母,而黑客软件可以利用这个特点。
反向短语法
运用密码-句子对应的最佳办法,是把传统的方案颠倒过来。不是找一个句子把它变成密码(这样的密码不会很随机),而是先找一个真正随机的密码,然后把它变成好记的句子。
我以前一直用简单愚蠢的密码。后来我被盗号了,网站给了我一个由随机数字和字母组成的临时密码,我刚准备把它改掉,突然意识到其实我不用改,这种随机的密码我还是记得住的。
我们的大脑非常擅长在随机的数据中寻找规则,这也是我们记住电话号码和身份证号的办法,这也同样可以用于记忆像RPM8t4ka这种随机密码,这是我刚在random.org上得到的。尽管这个密码确实是随机的,但我们的眼睛和大脑却可以立即从中找到记忆的规则。比如这个密码的