随着计算机网络的普及,各种各样的口令也成为我们网络生活的一部分。可是,有相当多的用户安全意识不够强烈,宁可采用自己的“土方法”,也不愿意听取安全专家对于口令选取的建议,而他们的口令有很多是高风险的。为了使大家对此有一个形象的认识,笔者参考了十数个黑客软件的工作原理,按照口令破译的难易程度,以破解需要的时间为排序指标,制作了这张危险口令排行榜。
第一名:使用用户名(账号)作为口令。尽管,这种方法在便于记忆上有着相当的优势,可是在安全上几乎是不堪一击。几乎所有以破解口令为手段的黑客软件,都首先会将用户名作为口令的突破口,而破解这种口令几乎不需要时间。不要以为没有人会采用这种愚蠢的办法,根据有经验的黑客反映,在一个用户数超过一千的电脑网络中,一般可以找到10至20个这样的用户,而他们则成为了黑客入侵的最佳途径。
第二名:使用用户名(账号)的变换形式作为口令。使用这种方法的用户自以为很聪明,将用户名颠倒或者加前后缀作为口令,既容易记忆又可以防止许多黑客软件。不错,对于这种方法的确是有相当一部分黑客软件无用武之地,不过那只是一些初级的软件。一个真正优秀的黑客软件是完全有办法对付的,比如说著名的黑客软件John,如果你的用户名是fool,那么它在尝试使用fool作为口令之后,还会试着使用诸如fool123、fool1、loof、loof123、lofo等作为口令,只要是你想得到的变换方法,John也会想得到,它破解这种口令,几乎也不需要时间。
第三名:使用自己或者亲友的生日作为口令。这种口令有着很大的欺骗性,因为这样往往可以得到一个6位或者8位的口令,从数学理论上来说分别有1000000和100000000种可能性,很难得到破解。其实,由于口令中表示月份两位数数字只有1~12可以使用,表示日期的两位数数字也只有1-31可以使用,而8位数的口令其中作为年份的4位数铁定是19xx年,经过这样推理,使用生日作为口令尽管有6位甚至8位,但实际上可能的表达方式只有100×12×31= 37200种,即使再考虑到年月日三者共有六种排列顺序,一共也只有37200×6=223200种,仅仅是原来100000000的1/448,而一台普通的P200计算机每秒可以搜索3~4万种,仅仅需要5.58秒时间就可以搜索完所有可能的口令。如果再考虑到实际使用计算机人的年龄,1930~1980就可以概括掉大多数的可能性,那么搜索需要的时间还可以进一步缩短。
第四名:使用常用的英文单词作为口令。这种方法比前几种方法要安全一些。前几种只需要时间一定能破解,而这一种则未必。如果你选用的单词是十分偏僻的,那么黑客软件就可能无能为力了。不过不要高兴得太早,黑客多有一个很大的字典库,一般包含10万~20万的英文单词以及相应的组合,如果你不是研究英语的专家,那么你选择的英文单词恐怕十之八九可以在黑客的字典库中找到。如果是那样的话,以20万单词的字典库计算,再考虑到一些DES(数据加密算法)的加密运算,每秒1800个的搜索速度也不过只需要110秒。
第五名:使用5位或5位以下的字符作为口令。从理论上来说,一个系统包括大小写、控制符等可以作为口令的一共有95个,5位就是95的5次方=7737809375种可能性,使用P200虽说要多花些时间,不过最多也不过53个小时,如果考虑到许多用户喜欢使用字母加数字,那么62的5次方= 916132832种可能性,只需要6.23小时就可以破解,再考虑还有更多的用户只喜欢使用小写字母加数字作为口令,那么就只有36的5次访= 60466176种可能性,那就只需要25分钟就可以破解。可见5位的口令是很不可靠的,而6位口令也不过将破解的时间延长到一周左右。
那么,怎样的口令才是安全的哪?首先必须是8位长度,其次必须包括大小写、数字字母,如果有控制符那么更好,最后就是不要太常见。比如说:e8B3Z6v0或者fOOL6mAN这样的密码都是比较安全的。不过再安全的密码也不是无懈可击的,只有安全的密码配上3~6个月更换一次的安全制度才是真正安全的。