扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共3页)
在文章的开头,让我们假设,你正在登录一大堆各种各样的网站:Facebook、Gmail、eBay、PayPal,或者是一些网上银行,也可能是论坛之类。这个时候,让我们考虑几个问题:
1. 你总能为不同的网站设置完全不同的密码,以保证自己不会把同一个密码重复使用吗?如果答案是肯定的,那么你能把这种好习惯永远保持下去吗?
2. 你的密码总是用不同的细节类型加以巩固吗,例如采取大、小写字母结合或加入数字及标点符号?它们的密码"强度"高吗?
如果在这些问题上,你的答案不都是肯定的,那么你很可能会面临一些问题。而且事实上,你根本没办法完全记住自己那些充满特性、具备极高强度的密码。并且你越早意识到这一点,你就能够越早地采取措施,为自己找到更安全的加密系统解决方案。
请允许我用实例说明一下上述问题,我会告诉大家当你重复使用或创建一些与现实生活中的数据相关的低强度密码时,会对安全方面造成哪些不良影响。我还会告诉大家怎样通过一款优秀的密码管理器来克服这些不良影响,借此来亡羊补牢,除非你打算完全凭脑力来记忆那些复杂难辨的密码。
管理多个账户时的烦恼
设想一下,大家在互联网上有多少个账户?十个?二十个?还是五十个?可以确定的是,我自己目前已经有九十个左右的账户因为忘记密码而无法登录了。而且即使常用账户只有十个,如果大家试图分别为其创建高强度、各不相同且便于记忆的密码,那么结果无疑只能是失败。
当人们采取一种特定的模式来创建密码时--例如在密码中包含自己的姓氏、宠物名字、个人爱好或者其它一些自然情况--这种有规律可循的密码设置模式会导致什么后果呢?这种设置模式绝对是一把双刃剑,一方面它使我们的密码更便于记忆,但另一方面,就算是我们通过一些手段对其加以掩饰,一旦思路被他人掌握,安全性的问题无疑是得不到保障的。
那些包含规律的模式及可推测得出的字符不够安全,但相比起来更糟糕的就是重复使用同一密码。这种方式能为我们轻松解决该死的密码记忆问题。好吧,轻松是有了,安全性呢?完全没戏。
结构简单的密码所带来的问题
首先,什么样的密码可以被确切地称为简单的密码?
让我从另一个角度--分析高强度密码的特点--来解答这个问题:一个高强度的密码应该具备高度的我们称之为"熵"的特性,或者简单来说,应该是尽可能由一个长效的、完全由随机内容(如大小写字符及序列)所构成的模式。正如"熵"这个名词的链接中所解释的:
人们在利用熵的特性来产生优良的安全密码方面,向来是非常失败的。
备注:熵,是一种衡量系统中无序或无效状态的度量,代表事物在不确定性方面所表现出的强度。
请允许我说明几个最近发生的,由于上述密码安全问题所导致的事件。首先说说Gawker,去年十二月份安全攻击的受害者 ,该事件导致了数百万用户的账户被公开。更糟糕的是,这些账户被直接张贴在网上,任何访问者只要愿意,都能够直接查看到哪些用户已登录以及他们的密码内容是什么。
有趣的是,在那些公开的信息中,我们看到拙劣的密码设定仿佛已经成为一种趋势。看看下面这些密码吧:
123456, password, 12345678, qwerty, abc123, 12345, monkey, 111111, consumer, letmein, 1234, dragon, trustno1, baseball, gizmodo, whatever, superman, 1234567, sunshine, iloveyou, fuckyou, starwars, shadow, princess, cheese
上述二十五个密码在Gawker账户中共计被使用了一万三千四百一十一次。单单是第一个密码:123456,就被使用了超过两千五百次。
另一个情况类似的例子是上个月rootkit.com所遭受的攻击。反数据库的密码分析显示,使用频率最高的前二十五个密码为:
123456, password, rootkit, 111111, 12345678, qwerty, 123456789, 123123, qwertyui, letmein, 12345, 1234, abc123, dvcfghyt, 0, r00tk1t, ì??ê?à, 1234567, 1234567890, 123, fuckyou, 11111111, master, aaaaaa, 1qaz2wsx
似曾相识吧?更糟糕的是,你可以很轻易地通过用户名推断这些密码的归属,只要你知道在哪里能查看到这些用户名(我把名称部分做了模糊处理,但其原件在网上不难找到):
但这两个实例中真正关键的部分是为我们指明了密码强度的重要性--尽管所有这些数据都是经过加密之后储存在数据库中的。抛开密码学角度的概念解析,这两个事件中的症结所在,其实是密码设定方式太过儿戏。
当一个数据库--例如rootkit.com的情况--直接暴露在网络环境中,又缺乏强有力的加密保护,黑客们就可以通过常用密码索引的反馈及尝试将其与数据库内容实施比较的方式来进行匹配,借以重现密码内容。加密保护可能意味着上述尝试过程需要被重复上无数次,但这种暴力破解是完全自动化的,黑客们只需要静静等待结果即可。
密码索引非常常见且易于获取(看看其中有没有你自己的密码?),而软件则借助该索引对反数据库展开攻势。这一过程中最大的限制在于,计算机需要具备足够的运算能力来执行这一超级消耗资源的处理过程。但我们都知道,计算机的运算能力迅猛发展,我们可以很容易地获取足够的处理资源以便在一秒钟内进行四十万次密码测试,而经济成本,每分钟只需二十八美分。
而密码设置的底线是,如果你的密码需要符合可识别的模式,那么你仍然有机会选用到密码索引或普遍猜测无法破解的内容(例如你妻子或孩子的名字)。而如果你的密码长度很短,或是其中的字符间的变化很小,那么大量的随机尝试将很有可能将密码猜中,而你的安全信息也就成了触手可及的待宰羔羊了。