密码是按特定法则编成,用以对通信双方的信息进行明密变换的符号。换而言之,密码是隐蔽了真实内容的符号序列。就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。
密码是一门科学,有着悠久的历史。密码在古希腊与波斯帝国的战争中就被用于传递秘密消息。在近代和现代战争中,传递情报和指挥战争均离不开密码,外交斗争中也离不开密码。密码一般用于信息通信传输过程中的保密和存储中的保密。
如何在网络社会中保护自己的个人隐私,长久以来都是一个让人挥之不去的现实问题。几十年的积累,现代人已经完全掌握了密码的“构造”方法,自认为从此便可以真的高枕无忧,然而事实却远非如此。一旦我们的头脑中形成思维定势,往往很容易被这种思维“惯性”所左右,例如当环境或事物发生变化时,它会妨碍我们积极的去思考,或是失去辩证看问题的能力而走进那些我们没有查觉的误区当中。
例如,当被问到‘是否越复杂的密码也就越安全’这一问题时,相信绝大多数的人会回答是,然而答案却是否定的(怎么会!)。
这样的误区你有吗?
通常我们会认为将账号密码设置的越复杂越好,例如将一个长字符的单词打散后在将其无规律的重新组合起来,并深信不疑的认为这样别人就很难猜到,然而这么做除了难为你自己以外,并不会对那些偷窥者造成‘掉血’式的杀伤力。但对于那些企图窃取别人隐私的人来说,他们大可不必靠脑力运用概率去猜密码,而是只需将“解密”这件事交给计算能力更强运算速度更快的计算机处理就行。
另一方面,随着网络社会的快速发展,账号多了密码也随之增多,为了方便记忆,很多人都会为不同的账号设置相同或相似的密码,这些使用相似密码的账号,其安全隐患无疑是显而易见的。
当然,也有一部分人意识到了此问题的严重性,为了避免这种情况而选择将密码分成两部分,一个是例如123456的主要部分,另一个则根据不同账户来定,例如QQ密码设为qq123456 ,Gmail密码则设置成gmail123456等等诸如此类,倒是颇有掩耳盗铃的意味。实际上,这才是真正危险的,因为一旦一个账户的密码被破解,很容易就看清其密码的设置规律。
决定密码安全等级的关键是什么?
那么问题来了,决定密码安全等级的关键是什么?答案是:密码长度。我们用信息学中的信息熵(对信息多少的量化称信息熵)作为评估密码强度的标准,其计算公式为H=L*log2N(L表示密码长度),至于当中N的取值我们还是来看看下面这个表格。
根据公式可以知道,密码强度(H)与密码长度(L)和字符种类(N)两者有关。假设密码的长度单位是比特,8个比特为一个字节,如果一台计算机的计算能力为每秒完成256次组合运算,破解8个字符组成的密码仅需4分16秒;若密码长度为16个字符,破解它需要149,745,258,842,898年。。。当然,我们只是举了一个比较极端的例子。实际上,只有95(26个小写字母+26个大写字母+10个数字+33个标点符号)个字符能用来当做传统的密码使用(生物识别另说)。
介于以上种种,也有不少人将自己的密码设置的既复杂又长,然而在一次次的“设置-遗忘-设置”循环中,我们开始倾向性地选择那些常用信息作为自己的密码,例如姓名、生日、电话等等,这为暗处的黑客创造了肆意作恶的机会。有人曾专门研究人们设置密码时的偏好,发现大多数的人都喜欢用人名、地名、字典词汇、数字来设置自己的密码,还有少数人直接把用户名当做密码,然而不管哪种都存在极大的安全隐患。一旦黑客掌握了这些“偏好”,只需边写一个密码字典,就能暴力破解这些账号的密码。
如何设置一个靠谱的密码?
一个好密码应当兼顾安全性与可用性。在本期文章的最后,我们将给出一些设置密码的方法,希望能够帮助各位创建一个无法破解的密码。
Bruce Schineier方法。2008年提出的一种密码思路,即找一个句子(可以是任何一句话),将句子中的每一个单词找出来,缩略为一个字母,然后通过独特的方式组合成为一段密码,最后一句话生成一个密码。例如,W?ow?imp::ohth3r→Where oh where is my pear? Oh, there
Electrum钱包法。知晓比特币的朋友大概都知道钱包的“密码”地址是怎样形成的。Electrum是一个比特币钱包服务,能够为用户的比特币钱包地址,通过哈希机制转换为一个12个单词组成的助记码。例如,下面这幅图片。
PAO法。其实,是卡耐基梅隆大学计算机科学家建议使用的一种名为‘人-动作-物品’(即Person-Action-Object,PAO)的密码助记方法,来创建和记忆高安全性的密码。大致方法就是,找一个有趣的地方的一张照片、找一个你熟悉的人或名人的照片、想象这个人在这个地方做的一件事,例如傻脸娜在家做饭(selena gomez cook at home),形成sgcoho这样一个随机的6位密码,当然你可以创建不同长度的密码。
发音和肌肉记忆法。随便找一个密码生成器,生成至少20个至少10位长的密码,当然要包括数字和字母,反复看并找到一些和单词类似的发音结构,找到那些勉强能够发音出来的密码,而且能够大概写成短句的,例如drEnaba5Et→doctor enaba 5 E.T。,又或是BragUtheB5→brag you the V5。