通常我們會認為將賬號密碼設置的越復雜越好,例如將一個長字符的單詞打散后在將其無規律的重新組合起來,并深信不疑的認為這樣別人就很難猜到,然而這么做除了難為你自己以外,并不會對那些偷窺者造成‘掉血’式的殺傷力。但對于那些企圖竊取別人隱私的人來說,他們大可不必靠腦力運用概率去猜密碼,而是只需將“解密”這件事交給計算能力更強運算速度更快的計算機處理就行。
另一方面,隨著網絡社會的快速發展,賬號多了密碼也隨之增多,為了方便記憶,很多人都會為不同的賬號設置相同或相似的密碼,這些使用相似密碼的賬號,其安全隱患無疑是顯而易見的。
那么問題來了,決定密碼安全等級的關鍵是什么?
答案是:密碼長度。我們用信息學中的信息熵(對信息多少的量化稱信息熵)作為評估密碼強度的標準,其計算公式為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方法。找一個句子(可以是任何一句話),將句子中的每一個單詞找出來,縮略為一個字母,然后通過獨特的方式組合成為一段密碼,最后一句話生成一個密碼。
Electrum錢包法。知曉比特幣的朋友大概都知道錢包的“密碼”地址是怎樣形成的。Electrum是一個比特幣錢包服務,能夠為用戶的比特幣錢包地址,通過哈希機制轉換為一個12個單詞組成的助記碼。
PAO法。其實,是卡耐基梅隆大學計算機科學家建議使用的一種名為‘人-動作-物品’(即Person-Action-Object,PAO)的密碼助記方法,來創建和記憶高安全性的密碼。大致方法就是,找一個有趣的地方的一張照片、找一個你熟悉的人或名人的照片、想象這個人在這個地方做的一件事,例如傻臉娜在家做飯(selena gomez cook at home),形成sgcoho這樣一個隨機的6位密碼,當然你可以創建不同長度的密碼。