短语记忆法的问题
正如生命里所有别的事情一样,鱼和熊掌不能兼得,你不能同时拥有最高的安全性和最高的易用性。常见的策略里最好的一条之一是,把一个短语或者句子变成密码。你挑选一句话,一个词组或者一句歌词,用它们的首字母来作为密码。比如如果你要用May the force be with you(愿原力与你同在)这句话,密码就是Mtfbwy。
但刚才那句话最好不要用,而这就是问题所在。你肯定会想起某个电影、某首校歌或者南方公园里的众人皆知的句子。你有几个八词以上的短语能原样背下来的?随便一个句子甚至不见得比随便一个词更难猜。而且很少有人费心去重整他们的句子生成的密码——看起来已经很随机了嘛!
一个理想的密码方案即便所有人在用也不会失效。但如果句子变密码这个方案流行开来,那所有的大众文化习语变来的密码都会进入常见密码清单,破解软件会先尝试这些密码。而且习语缩写词一般都是字母,比起同样长度的多种字符混合密码要更危险。
这个办法的有些缺点可以解决。比如,永远不要用名句。一个办法是用私人笑话。还记得科苏梅尔岛上餐厅里侍者对布伦达说的那句超好笑的话吗?你记得,布伦达记得,也许侍者还记得,再没有别人知道了。如果你选择这句话作为你的密码句,那么你很有可能是地球上唯一用这个句子的人。
但密码本身是不是还那么独一无二,就不那么确定了。不同句子的首字母缩写也有可能是相同的,产生同样的缩写密码。有些字母更容易成为一个单词的首字母,而黑客软件可以利用这个特点。
反向短语法
运用密码-句子对应的最佳办法,是把传统的方案颠倒过来。不是找一个句子把它变成密码(这样的密码不会很随机),而是先找一个真正随机的密码,然后把它变成好记的句子。
我以前一直用简单愚蠢的密码。后来我被盗号了,网站给了我一个由随机数字和字母组成的临时密码,我刚准备把它改掉,突然意识到其实我不用改,这种随机的密码我还是记得住的。
我们的大脑非常擅长在随机的数据中寻找规则,这也是我们记住电话号码和身份证号的办法,这也同样可以用于记忆像RPM8t4ka这种随机密码,这是我刚在random.org上得到的。尽管这个密码确实是随机的,但我们的眼睛和大脑却可以立即从中找到记忆的规则。比如这个密码的前三个字母都是大写,后三个字母都是小写,数字8是两倍的4。
你也可以轻易地用一个无意义的短语来记住这个密码,比如RPM8t4ka就变成了revolutions per minute,8 track for Kathy(每分钟转速,给凯西8轨)。我不知道这句话有什么意思,但我知道我可以相当容易地记住这句话。
一个强密码
我使用的是“一个强密码”的原则。考虑到密码在我们的生活中的重要性,记住一个随机字符串还是很值得的。你能记住你的电话号码,为什么不再记一个密码?
一旦你找到了你的强密码,“拼你的老命保护它,”用安全专家尼克•贝里(Nick Berry)的话说。尽一切力量让你的电脑远离恶意软件,只在值得信任和重要的网站用这个密码。至于游戏网站和其他不重要的网站,我会用和这个密码完全不同的一个简单密码。
偷走密码的办法实在太多,这有理由让我们在不同的网站使用不同的密码。一种定制方案是,取网站名字的最后一个字母,然后把这个字母放在你的密码的开头。比如在Facebook,你就把k放在密码的开头,这样就变成了kRPM8t4ka。尽管这种办法不是绝对的安全,但也不错了。这样即便别人看见你在登陆Facebook时输入的是kRPM8t4ka,他也对如何获得你的银行密码一无所知。群体攻击者会收集成千上万的密码,只要其中有一部分原样也能在别的网站用就成了,剩下那些他很可能不会在乎。
我的强密码里并没有标点符号或者非ASCII的字符。万一有网站要求这样字符的,我就在末尾加个好记的符号。