密码设计思路

原文:http://igfw.net/archives/8337

无意中看到一篇文章写FBI都未能破解的加密硬盘. 原来是用了 TrueCrypt 加密的. 哈哈, 看来可以尝试一下了, 省得我又买金士顿的加密U盘.

新闻来源:solidot.org
FBI在经过一年的尝试后,还是未能破译被巴西执法机构指控金融犯罪的巴西银行家的加密文件。巴西一家葡萄牙语报纸报道(葡萄牙语),巴西联邦警察在 2008年7月展开的Satyagraha行动中,在银行家Daniel Dantas位于里约热内卢的公寓内收缴了5个硬盘。

文章提到硬盘使用了两种加密程序,一种是Truecrypt,另一种是不知名的256位AES加密软件。 在专家未能破解密码后,巴西政府在2009年初请求美国提供帮助,然而美国联邦警察在一年不成功的尝试后,退还了硬盘。 巴西现有的法律中不存在强制要求Dantas交出密码的规定。

另外翻到一篇介绍不错的文章: 如何设计你的密码 via.http://www.h53lyrics.com/?p=206

我现在各种各样的密码恐怕有将近20个,应该说我自认为还是可以记住。这是有技巧的,关键看你会不会设计自己的密码。
设计密码的目的或者说要注意的东西很简单,两个:你自己记得住、别人猜不到(「猜」还包括用程序一个一个去试的那种暴力破解)。

拿我将近20个密码来说,它们的安全性要求是不同的。

比如说我只是为了查看、下载一个东西去注册某个论坛,那密码你爱偷不偷,也没人去偷,所以这种情况要选择一个很简单的密码,不光是记得牢、还要输入 得快。 以我拼音打字的经验来讲,我是习惯打全拼而不会愿意去打声母的,因为只打声母我反而要动脑筋,而打全拼已经完全依靠潜意识不经过我的思考了。如果你的情况 跟我一样,那我推荐这种密码用一句简单的话来代替,8-12个字母最佳。举个例子,比如「给我滚」。然后你每次登录这个论坛,输完自己的用户名,按下Tab键,然后猛敲「geiwogun」,你就登进去了——似乎有点儿不应景啊,也许你可以改成「放我出去」「放我进去」之类的。

本来除了全用字母,全用数字也行,但数字输入比不上字母快,也比不上字母安全,数字只有10个,字母有26个,大不一样。我曾经试过暴力破解MD5加密的六位数字的密码,通常几分钟之内就可以完成——那还是台十年前的老电脑了。如果换成六位小写字母,要花的时间就指数倍上升。

这是最简单的密码。如果这个论坛你经常上,发了很多帖子,或者说成了版主,那么你的密码就尽量设计安全一些了。刚刚的密码只用了字母,现在你可以顺便打个标点符号,有了另一种字符的介入,被暴力破解的可能性又会小很多。举个例子,你可以设计成「fangwochuqu!」。然后每次你登录的时候心里就呐喊着「放我出去!」
再说说淘宝的密码,我淘宝和支付宝的密码不算复杂,因为即使你知道了,你最多能登进去看过我买过什么东西,最多能帮我下订单,但你用不了我的钱。如果你不 是卖家,支付宝里没有余额,只是买东西的时候才从银行卡里付款,那你也不用设计太复杂,大概到放我出去加感叹号的地步就可以了。不过你也可以稍微改一下, 增加一点点安全性,那就是大小写字母的问题,刚刚只用了小写字母,现在你可以把其中一些改写成大写字母,比如「Fangwochuqu!」

而凡事涉及到钱的密码,银行卡啊,有余额的支付宝啊,Paypal啊,还包括你最重要的那个邮箱,这些东西还是要把密码再上升一个等级,那就是大小写字母、数字、符号都用上了。这时候密码可能会比较长了,也许有15位左右,有人会觉得这样很难记,其实你要会分段。 这个密码既然又有字母又有符号又有数字,就应该让它分成几个部分,但这几个部分是可以有联系的——当然你觉得你记忆力强也可以没有联系。我这里举个例子, 「MAMAwoaini!65351656」。前面应该能看懂,妈妈我爱你,感叹号——这是一句话,包括标点也是很自然的。后面是什么呢,如果你有相对音 感、会简谱,这时会有点儿优势,65351656是「世上只有妈妈好」的曲调。这样你每次登录的时候,就大喊「妈妈 我 爱你」,然后猛敲感叹号,然后唱着小曲「拉索米索哆拉索拉」,你就进去了。——这个举一反三也很简单,比如 「woaiBEIJINGtiananmen?5154321」——一个新的密码诞生了!

如果你不会写谱子当然也没关系,但不要使用自己、恋人、亲人的生日,不要用电话号码、QQ号——虽然说在长密码中加入这些可能被猜到的东西,整个密码泄露的可能性还是很小,但仍然不建议这样干。如果你对一组数字不好记,那你可以选择只要单独的一两个数字,比如「3gedaibiao?!!」——感觉受毒害蛮深的,我想了好久都想不出别的……
还有一种数字变符号的方法,那就是输入数字的时候按住上档键shift(不要使用小键盘),这是你按的是数字,出来的是符号,安全性应该会更高。
小结一下,不同类型的账户需要不同安全性的密码。从简单到复杂大致分成以下三类等级:

纯数字
纯小写字母;纯大写字母

小写字母加数字;大写字母加数字
小写字母加符号;大写字母加符号
大小写字母混杂

大小写字母混杂加数字;大小写字母混杂加符号
大小写字母、数字、符号混杂

当然这没有考虑长度的问题,对于需要安全性高的密码,你应该在保证自己记得住的情况下增加它们的长度
如果你有很多密码,你可以考虑设计一组一组的密码,就拿「MAMAwoaini!65351656」来说:

最简单的密码可以是:mamawoaini
复杂一点:mamawoaini!;MAMAwoaini;MAMAwoaini!
最复杂的:MAMAwoaini!65351656

这样一组密码就生成了,你看这里面就有5个。也许大多数人都可以用类似这样的一组密码设计自己所有的密码。你只需要选择一个你自己熟悉的,但别人又不知道你熟悉的内容作为主题就OK了——一首歌、一句歌词、一部电影、一句台词、半句话,或者一句只有你才会骂的脏话都可以。

但是如果你是一个敏感的人,你要知道国内网站上使用的所有密码都是可能泄露的。那是人为的泄露而非暴力的破解。所以你必须将自己在国内使用的密码和在Gmail、Twitter这些地方使用的密码完全分开,注意,是完全,应该一点边都沾不上,而不是使用像我所说的那种一组密码,这种时候你的密码至少应该有两组,甚至更多。

如果你担心自己记不住,办法当然不是把它写下来,而是仅仅记录每部分的构成,尤其是大小写的变化之类的信息。记录的时候只要自己能看得出来就够了,保留尽可能少的信息,无论是密码本身,还是对应在哪儿用,都是如此。

暂且想到了这么多,介绍自己的经验。主要面向中文且懂拼音的用户,网上会有很多外国人设计密码的方法,我觉得对于中文用户并不特别适用。还有就是,很多网站说「要经常换密码」,但我不知道这有什么好处……

最后,请勿对号入座。不过你要真有兴趣用上面的密码或方法去开我的账户我也不拦你。

TrueCrypt 下载 http://www.truecrypt.org/downloads
TrueCrypt 语言包 http://www.truecrypt.org/localizations

思路很有意思, 也很实用, 可以拿来发散一下思维.

来源http://www.sinzi.org/password-design-ideas/

发表评论