你的密码安全吗?小心那些隐藏的陷阱

D-Horse 2011-09-01 18:31:22

你忘记过密码吗?你的密码安全吗?你还在重复使用一个密码吗?经过二十年的努力,我们成功的走入一个误区:那就是把密码设的越来越难以记忆,却被计算机很轻松地就破解出来。面对这种窘境,本文在详细讲述了影响密码安全的因素之外,还告诉你一个优秀的密码是如何产生的。

美国国家安全局(NSA)为了破译恐怖组织的密码以挫败其阴谋,斥巨资建造了一台可以破解一切密码的机器:万能解密机。这是美国作家丹•布朗在其小说《数字城堡》中虚构的情节。以人类今日之科技实力,打造这样一台无坚不摧的“神器”还只是个遥远的梦想,但如何在网络社会中保护自己的个人隐私一直是个现实的问题。20多年来,现代人已经掌握了“数字城堡”——密码的构造方法,自认为可以高枕无忧,但事实远非如此。

越复杂的密码越安全吗

很不幸,答案是否定的。人们通常认为,把密码设得越复杂,别人就越难猜到,但这样一来无疑增加了记忆的难度。而对于那些企图窥探你秘密的人来说,他们也只是想不到,而非“猜不到”。现如今,还有几个人破译密码是靠大脑“猜”的呢?

http://img1.guokr.com/gkimage/5s/he/sw/5shesw.png

这就正如 XKCD 所说的那样:经过二十年的努力,我们成功地陷入一个误区,那就是把密码设的越来越难以记忆,然而却被计算机很轻松地就破解出来了。

保证密码强度的关键是什么

那保证密码强度的关键到底是什么呢?其实,上面的漫画已经给出了答案:密码长度。

这里引入信息学中的信息熵(我们常听人说这个信息多、那个信息少,对信息“多少”的量化就是信息熵),用它来作为密码强度的评估标准。信息熵计算公式为 H = L * log 2 N,其中,L表示密码的长度,N的取值见下表:

http://img1.guokr.com/gkimage/qj/wq/le/qjwqle.png

从上面的公式和表中,我们可以看到,密码强度 (H) 与密码长度 (L) 和密码包含字符的种类 (N) 这两个因素有关。然而它们对密码强度的影响是呈指数倍的关系。

举个例子,假设密码长度的单位为比特,8个比特即为一个字节(即输入密码时的一个字符,一个字节可以代表256个不同字符),如果某台超级计算机的计算能力为每秒能完成 2 56 次组合运算,破解8个字符组成的密码仅需4分16秒。当密码长度达到16个字符的时候,暴力破解它需要 149,745,258,842,898 年!要知道太阳的寿命也只有约10,000,000,000 年,而目前世界上速度最快的计算机K Computer也只能每秒完成约 2 53 次运算。当然,这只是一个极端化的例子。事实上,我们可以用来当密码使用的字符只有 95 个( 26 个小写字母 + 26 个大写字母 + 10个数字 + 33个标点符号)。

更大的风险所在 :万能钥匙

在现实生活中,我们都选择“一把钥匙开一扇门”。谁都不会希望有一把钥匙既能用来开家门,也能用来开车门、公司的门、宿舍的门,因为这把“万能钥匙”一旦丢失,损失将是惨重的。随着网络社会的发展,如今大多数人都握有十多个网站的账号,你是继续选择“一把钥匙开一扇门”的策略,还是改用“万能钥匙”的策略呢?如果是前者,那么无疑将增加你的记忆负荷,如果是后者,安全隐患是显而易见的。

http://img1.guokr.com/gkimage/5i/y2/g8/5iy2g8.png

图像来源:XKCD

而要说的是,许多人都意识到了这点,并且为了避免这种情况,相当一部分人选择将密码分为两部分,一个主要部分(比如是 123456 ),另一部分则根据账户而定: QQ 的密码就设为 qq123456 ,而 gmail 的密码则是 gmail123456 等等。但如此直白的设置,颇有掩耳盗铃的味道,一旦一个账户失窃,看穿这个规律,也不过一秒的事情而已。

与黑客的博弈

为了规避上述种种风险,大家开始设定许多个又长又复杂的密码。但复杂的长密码并不容易记住,更何况是要记住好几个这样密码(请问有谁没有忘记过密码呢)。在经历了多次遗忘密码的痛苦之后,人们又开始倾向性地选择那些容易让自己记住的信息作为自己的密码。比如自己或亲人的姓名、生日、电话号码等等。但这恰恰把安全隐患留给了躲在暗处的黑客。

有人对用户的密码做过统计,研究他们设置密码时的偏好,并将统计结果绘制成图。 61% 的用户喜欢使用人名、地名、字典词汇和纯数字来设置他们的密码。甚至还有2.6%的用户直接把他们的用户名当做密码使用(比如把 guokr123@ ...的密码直接设置为 guokr123 )。这些都是具有安全隐患的密码设置策略!黑客们了解用户的密码设置习惯后,就可以编写“密码词典”,有了这本词典后,就可以在暴力破解的时候大大提高精准性。比如在 这里 可以下载到 10,000 个常见密码的词典(该词典作者称有 99.8% 的用户都是使用这本词典中的密码)。有人对Sony公司的用户密码也做过 研究调查 ,结果也令人堪忧。

http://img1.guokr.com/gkimage/m3/bg/wv/m3bgwv.png

用户密码设置使用习惯

有网站如 1PASSWORD 给出了新的策略。它相当于为你提供了一个带锁的记事本,可以让你把所有的密码记在这个记事本上,你只需保留开锁的钥匙/密码即可。撇开这个网站的靠谱程度不谈,单单为了这样一个记事本,你就要付出 40 美元的代价。同时请别忘了,它仅仅为你解决了记忆密码的问题,还是没有逃开设置密码这个更加头疼的问题。

优秀的密码设置策略

如何设定一个靠谱的密码?

果壳网曾经有 文章 提到了一些密码设置上参考建议,里面提到“用统一规则记住多个不同密码”是个不错的选择。毕竟记住一个规则比记住一串杂乱无序的字符要容易多了,也可以实现“一把钥匙开一扇门”的策略。在这里不妨举个例子,给出一个简单的密码设置规则(以电子信箱为例):

[密码]=2*([用户名标识符(小写/大写)]+[用户名长度]+[.]+[网站标识符(大写/小写)])

例:guokr123@gmail.com,密码为:gk8.GM GK8.gm

    songshuhui@hotmail.com 密码为:ssh10.HTSSH10.ht

但是,真的安全了么?

http://img1.guokr.com/gkimage/k2/wd/ps/k2wdps.png

图像来源:XKCD

所以还请读者记住的就是,一个优秀的密码可以尽可能地降低风险,但它不能将风险降为零。


关于密码的问题,在果壳的 小组 中有一个欢乐的讨论。本文的作者 汉化了 “How secure is my password” 这个网站 , 来测测 你的密码用普通的电脑,花多少时间才会被暴力破解掉吧。
http://img1.guokr.com/gkimage/wj/vj/j7/wjvjj7.png

参考资料:

[1] I’m sorry, but were you actually trying to remember your comical passwords?

[2] The science of password selection

[3] A brief Sony password analysis

148条评论

上一页  |  下一页

  • 1楼
    2011-09-01 18:39:54 lsxyf
    sf
    引用
  • 2楼
    2011-09-01 18:40:21 小骗子 生物技术学士 ψ
    我绝对不会去试验自己密码的可靠性的……密码就是密码,密码让账号更安全
    引用
  • 3楼
    2011-09-01 18:43:37 SHY
    沙花
    引用
  • 4楼
    2011-09-01 18:44:10 SHY
    我以后要是再看完文章再抢沙花我就不是人!!!
    引用
  • 5楼
    2011-09-01 18:45:41 吴师傅 果壳死理性派编辑 ψ
    引用SHY的回应:我以后要是再看完文章再抢沙花我就不是人!!!



    哈哈哈哈
    引用
  • 6楼
    2011-09-01 18:47:46 小米小豆小花生
    一般都用歌词或者名著名句的飘过……实在是记不住
    引用
  • 7楼
    2011-09-01 18:51:08 wheeler 软件工程师 ψ
    传说中的 CPTBTPTP。。。
    引用
  • 8楼
    2011-09-01 18:56:35 lauy007
    记得以前把班级密码设成abcdef。。。都觉得不错。。。
    引用
  • 9楼
    2011-09-01 18:58:54 St.Su
    About 778 thousand years
    引用
  • 10楼
    2011-09-01 19:11:27 馒头老妖 有机化学博士生,法学学士 ψ
    那个网站我也去试过了。忽然想想有点后怕,要是网站的后台就是个黑客就完蛋了,常用的密码都试了一遍。或者拿统计来的数据做密码字典,也能卖不少钱呢。
    引用
  • 11楼
    2011-09-01 19:11:55 Cielo
    可以换个类似的去测试˜
    引用小骗子的回应:我绝对不会去试验自己密码的可靠性的……密码就是密码,密码让账号更安全

    引用
  • 12楼
    2011-09-01 19:13:15 Cielo
    没填你自己的其他信息应该不会有事吧…
    引用馒头老妖的回应:那个网站我也去试过了。忽然想想有点后怕,要是网站的后台就是个黑客就完蛋了,常用的密码都试了一遍。或者拿统计来的数据做密码字典,也能卖不少钱呢。

    引用
  • 13楼
    2011-09-01 19:42:40 biohu
    引用St.Su的回应:About 778 thousand years

    我很明智,没有拿自己的密码去试,嘿嘿。。。
    是有隐藏基因的,暂时还没有进化出清理基因。。。
    引用
  • 14楼
    2011-09-01 19:43:40 aptx4869
    lastpass生成密码无压力
    引用
  • 15楼
    2011-09-01 20:12:45 独来读网
    那个测试密码的http://password.ifrei.cn/
    引用
  • 16楼
    2011-09-01 20:17:14 highfield
    我有一个同事,他的密码,是他想到的一个秘密词组,的md5值。
    引用
  • 17楼
    2011-09-01 20:29:21 sinofox
    暴力破解,难道一次一次输入测试?
    一般网站不是输入次数过了就冻结么?
    引用
  • 18楼
    2011-09-01 20:35:08 风亘何
    看来还是社会工程学好用哇。
    引用
  • 19楼
    2011-09-01 20:38:54 Preston
    测了一下,破解我的QQ密码需要465×10^19年……
    引用
  • 20楼
    2011-09-01 20:43:09 少个螺丝 乳品专业博士,科学松鼠会... ψ
    打算用那个网站测试自己密码强度的,适当的替换你自己密码里的部分内容会比较安全。

    比如原密码是ABC123,替换为DEF456。或者更简单的,在键盘上水平错开一列再敲击密码。

    It would take a desktop PC
    About 21 thousand years
    to hack your password



    引用
  • 21楼
    2011-09-01 20:46:47 少个螺丝 乳品专业博士,科学松鼠会... ψ
    以前thinkpad有个随机安装的软件,叫Client Security Solution,可以用来保存密码,挺好用的。

    引用
  • 22楼
    2011-09-01 20:56:19 bosshida
    引用馒头老妖的回应:那个网站我也去试过了。忽然想想有点后怕,要是网站的后台就是个黑客就完蛋了,常用的密码都试了一遍。或者拿统计来的数据做密码字典,也能卖不少钱呢。


    其实大家不必害怕那个网站会泄露自己的密码,我查看那网站的源码,那个网站是用javascript运行的,javascript是只能在自己电脑上运行的一个动态语言,通过firebug跟踪后都没发现会网站会自动发送请求到外网。大家可以放心
    引用
  • 23楼
    2011-09-01 21:01:40 咸鱼-Zoro
    突然发现……我把高考查分密码忘了……囧……
    引用
  • 24楼
    2011-09-01 21:05:06 慕容小刀
    = =顿时觉得好危险。。。
    引用
  • 25楼
    2011-09-01 21:14:31 囧月一日君
    密码是很多零是不是瞬间被破解=。=
    引用
  • 26楼
    2011-09-01 21:15:23 Mem
    其实一位数蛮好....
    引用
  • 27楼
    2011-09-01 21:19:27 Evelyn-Lynn
    我的常用密码被测为需600年破解…那为什么我的微博帐号就被黑而且被他人恶意使用了啊!!!…
    引用
  • 28楼
    2011-09-01 21:32:33 马猴橙子
    指纹配合密码会不会好一点?
    引用
  • 29楼
    2011-09-01 21:38:26 斯文的鸡蛋 美剧控,科学史爱好者 ψ
    暴力破解是不得已的办法,聪明的黑客会用社会工程学。直接套出隐藏着的密码
    引用
  • 30楼
    2011-09-01 21:46:39 小木瓜
    作为通信工程学生,对信息熵表示无压力
    引用
  • 31楼
    2011-09-01 21:53:09 Home
    社会工程学给力啊!
    引用
  • 32楼
    2011-09-01 22:00:51 飞鸟未来
    最后那网站是黑的咋办?
    引用
  • 33楼
    2011-09-01 22:06:39 jiajia0225
    感觉没啥是安全的……
    引用
  • 34楼
    2011-09-01 22:07:18 willsuzhou
    社会工程学+1
    很多时候暴力破解是不可能的。。。只要一个n次错误锁定账户和/或密码尝试时间间隔的设定基本就把暴力破解排除掉了。。。
    引用
  • 35楼
    2011-09-01 22:40:09 sorawater
    密码记忆软件+对应的浏览器自动输入插件+128位随机字符密码,连文中最后一种方法都破解不了,因为自己都不知道自己的密码是啥。
    引用
  • 36楼
    2011-09-01 22:57:41 DeepSeer
    密码管理软件的胜利
    在这种情况下,你只需要记忆一个高复杂度的密码(甚至可以通过指纹识别等方式),同时保护好数据库文件
    在此情况下更多的工作与密码强度无关了,比如说在安全的环境使用电脑,保证通信信道安全,等等
    引用
  • 37楼
    2011-09-01 23:21:39 暮雨江南
    我的办法是1个超强密码+两至三位与所注册网站内容相关的易记字符=组合密码
    引用
  • 38楼
    2011-09-02 00:21:45 古艾迪尔
    本人根据行走江湖多年的精液啊不…经验,得出这样一个超强密码:mima
    引用
  • 39楼
    2011-09-02 00:28:51 D-Horse 生物信息学硕士生 ψ
    测试密码强度的网站,原版和汉化版,都是用JavaScript写的,和服务器无任何通信,代码仅在各位的客户端电脑上运行,可以放心使用。
    引用
  • 40楼
    2011-09-02 00:36:51 飞鸟未来
    看来我定不会使用本文中介绍的规则设密码了
    引用
  • 41楼
    2011-09-02 01:02:51 Maigo 语言爱好者 ψ
    使用单词的话就很容易破解了吧,即使是四个随机单词
    引用
  • 42楼
    2011-09-02 01:05:35 Maigo 语言爱好者 ψ
    引用sorawater的回应:密码记忆软件+对应的浏览器自动输入插件+128位随机字符密码,连文中最后一种方法都破解不了,因为自己都不知道自己的密码是啥。


    电脑被盗了就完了
    引用
  • 43楼
    2011-09-02 02:04:22 ChanIm 文字文献爱好者 ψ
    记得高中上化学课的时候老师要求背元素周期表,然后又一个同学问老师,背周期表有什么用?

    老师弱弱地吐了一句:




    设密码用
    引用
  • 44楼
    2011-09-02 03:02:37 淮右狷介生
    引用ChanIm的回应:记得高中上化学课的时候老师要求背元素周期表,然后又一个同学问老师,背周期表有什么用?

    老师弱弱地吐了一句:




    设密码用

    我的语文老师也有类似言论,不过他让我们背的是文言文……
    引用
  • 45楼
    2011-09-02 08:06:57 三体-曹彬AI 科幻迷,天文爱好者,地质... ψ
    问题是中文密码好像还是几乎没人做到
    引用
  • 46楼
    2011-09-02 08:20:58 鱼団.
    中文密码很多地方都不支持呀
    引用
  • 47楼
    2011-09-02 08:55:11 Johan
    看来我那两段式的密码可以考虑改为四段式了
    引用
  • 48楼
    2011-09-02 08:56:41 撸西法
    It would take a desktop PC
    About 1 billion years
    to hack your password
    哈哈
    引用
  • 49楼
    2011-09-02 08:57:27 萨巴
    你不会输拼音?
    引用
  • 50楼
    2011-09-02 08:59:25 蘇20
    还是硬件的密钥来得靠谱啊,当然前提是不能丢了。。。
    引用

登录 后发表评论,你也可以用以下帐号直接登录

新浪微博 人人网 QQ

本文来自

死理性派

死理性派主题站

201294人关注

文章作者

  • D-Horse

    D-Horse

    389人关注

    生物信息学硕士生 ψ

作者的其他文章

本文同时被收录到

©2012果壳网 京ICP备09043258号-2 京公网安备1101052730