


美國(guó)國(guó)家安全局(NSA)為了破譯恐怖組織的密碼以挫敗其陰謀,擬斥巨資建造一臺(tái)可以破解一切密碼的機(jī)器:萬(wàn)能解密機(jī). 這是美國(guó)作家丹·布朗在其小說(shuō)《數(shù)字城堡》中虛構(gòu)的情節(jié). 以人類今日之科技實(shí)力,打造這樣一臺(tái)無(wú)堅(jiān)不摧的“神器”還只是個(gè)遙遠(yuǎn)的夢(mèng)想,但如何在網(wǎng)絡(luò)社會(huì)中保護(hù)自己的個(gè)人隱私一直是一個(gè)現(xiàn)實(shí)的問(wèn)題. 20多年來(lái),現(xiàn)代人已經(jīng)掌握了“數(shù)字城堡”——密碼的構(gòu)造方法,自認(rèn)為可以高枕無(wú)憂,但事實(shí)遠(yuǎn)非如此.
越復(fù)雜的密碼越安全嗎
很不幸,答案是否定的. 人們通常認(rèn)為,把密碼設(shè)得越復(fù)雜,別人就越難猜到,但這樣一來(lái)無(wú)疑增加了記憶的難度. 而對(duì)于那些企圖窺探你秘密的人來(lái)說(shuō),他們也只是想不到,而非“猜不到”. 現(xiàn)如今,還有幾個(gè)人破譯密碼是靠大腦“猜”的呢?這就正如一名科學(xué)愛(ài)好者所說(shuō)的那樣:經(jīng)過(guò)二十年的努力,我們成功地陷入一個(gè)誤區(qū),那就是把密碼設(shè)得越來(lái)越難以記憶,然而卻被計(jì)算機(jī)很輕松地破解出來(lái)了.
保證密碼強(qiáng)度的關(guān)鍵是什么
保證密碼強(qiáng)度的關(guān)鍵到底是什么呢?其實(shí),我們可以毫不懷疑地說(shuō):密碼長(zhǎng)度.
這里引入信息學(xué)中的信息熵(我們常聽(tīng)人說(shuō)這個(gè)信息多、那個(gè)信息少,對(duì)信息“多少”的量化就是信息熵),用它來(lái)作為密碼強(qiáng)度的評(píng)估標(biāo)準(zhǔn). 信息熵的計(jì)算公式為H=L·log2N,其中L表示密碼的長(zhǎng)度,N的取值見(jiàn)下表.
在公式和表中,我們可以看到,密碼強(qiáng)度(H)與密碼長(zhǎng)度(L)和密碼包含字符的種類(N)這兩個(gè)因素有關(guān). 然而它們對(duì)密碼強(qiáng)度的影響是呈指數(shù)倍的關(guān)系. 舉個(gè)例子,假設(shè)密碼長(zhǎng)度的單位為比特,8個(gè)比特即為一個(gè)字節(jié)(即輸入密碼時(shí)的一個(gè)字符,一個(gè)字節(jié)可以代表256個(gè)不同字符),如果某臺(tái)超級(jí)計(jì)算機(jī)的計(jì)算能力為每秒能完成256次組合運(yùn)算,破解8個(gè)字符組成的密碼僅需4分16秒. 當(dāng)密碼長(zhǎng)度達(dá)到16個(gè)字符的時(shí)候,暴力破解它需要149 745 258 842 898年!要知道太陽(yáng)的壽命也只有約10 000 000 000年,而目前世界上速度最快的計(jì)算機(jī)KComputer也只能每秒完成約253次運(yùn)算. 當(dāng)然,這是一個(gè)極端化的例子. 事實(shí)上,可以用來(lái)當(dāng)密碼使用的字符僅有95個(gè)而已(26個(gè)小寫(xiě)字母,26個(gè)大寫(xiě)字母,10個(gè)數(shù)字以及33個(gè)標(biāo)點(diǎn)符號(hào)).
更大的風(fēng)險(xiǎn)所在:萬(wàn)能鑰匙
在現(xiàn)實(shí)生活中,我們都選擇“一把鑰匙開(kāi)一扇門(mén)”. 誰(shuí)都不會(huì)希望有一把鑰匙既能用來(lái)開(kāi)家門(mén),又能用來(lái)開(kāi)車(chē)門(mén)、公司的門(mén)、宿舍的門(mén),因?yàn)檫@把“萬(wàn)能鑰匙”一旦丟失,損失將是慘重的. 隨著網(wǎng)絡(luò)社會(huì)的發(fā)展,如今大多數(shù)人都握有十多個(gè)網(wǎng)站的賬號(hào),你是繼續(xù)選擇“一把鑰匙開(kāi)一扇門(mén)”的策略,還是改用“萬(wàn)能鑰匙”的策略呢?如果是前者,那么無(wú)疑將增加你的記憶負(fù)荷;如果是后者,安全隱患是顯而易見(jiàn)的.
其實(shí),許多人都意識(shí)到了這一點(diǎn),并且為了避免這種情況,相當(dāng)一部分人選擇將密碼分為兩部分,一個(gè)主要部分(比如是123456),另一部分則根據(jù)賬戶而定:QQ的密碼就設(shè)為qq123456,而gmail的密碼則是gmail123456等等. 但如此直白的設(shè)置,頗有掩耳盜鈴的味道,一旦一個(gè)賬戶失竊,看穿這個(gè)規(guī)律,也不過(guò)是一秒鐘的事情而已.
與黑客的博弈
為了規(guī)避上述種種風(fēng)險(xiǎn),大家開(kāi)始設(shè)定許多個(gè)又長(zhǎng)又復(fù)雜的密碼. 但復(fù)雜的長(zhǎng)密碼并不容易記住,更何況是要記住好幾個(gè)這樣的密碼(請(qǐng)問(wèn)有誰(shuí)沒(méi)有忘記過(guò)密碼呢). 在經(jīng)歷了多次遺忘密碼的痛苦之后,人們又開(kāi)始傾向性地選擇那些容易讓自己記住的信息作為自己的密碼,比如自己或親人的姓名、生日、電話號(hào)碼等等. 但這恰恰把安全隱患留給了那些躲在暗處的黑客.
有人對(duì)用戶的密碼做過(guò)統(tǒng)計(jì),研究他們?cè)O(shè)置密碼時(shí)的偏好,并將統(tǒng)計(jì)結(jié)果繪制成圖. 61%的用戶喜歡使用人名、地名、字典詞匯和純數(shù)字來(lái)設(shè)置他們的密碼,甚至還有2.6%的用戶直接把他們的用戶名當(dāng)做密碼使用(比如把guokr123@...的密碼直接設(shè)置為guokr123). 這些都是具有安全隱患的密碼設(shè)置策略!黑客們了解用戶的密碼設(shè)置習(xí)慣后,就可以編寫(xiě)“密碼詞典”,有了這本詞典后,就可以在暴力破解的時(shí)候大大提高精準(zhǔn)性. 一個(gè)叫做1PASSWORD的網(wǎng)站給出了新的策略. 它相當(dāng)于為你提供了一個(gè)帶鎖的記事本,可以讓你把所有的密碼記在這個(gè)記事本上,你只需要保留開(kāi)鎖的鑰匙(密碼)即可. 撇開(kāi)這個(gè)網(wǎng)站的靠譜程度不談,單單為了這樣一個(gè)記事本,你就要付出40美元的代價(jià). 同時(shí)請(qǐng)別忘了,它僅僅為你解決了記憶密碼的問(wèn)題,還是沒(méi)有逃開(kāi)設(shè)置密碼這個(gè)更加頭疼的問(wèn)題.
優(yōu)秀的密碼設(shè)置策略
如何設(shè)定一個(gè)靠譜的密碼?
互聯(lián)網(wǎng)上的一個(gè)網(wǎng)站中有一篇文章提出了一些密碼設(shè)置上的參考建議,里面提到“用統(tǒng)一規(guī)則記住多個(gè)不同密碼”是一個(gè)不錯(cuò)的選擇. 畢竟記住一個(gè)規(guī)則比記住一串雜亂無(wú)序的字符要容易多了,也可以實(shí)現(xiàn)“一把鑰匙開(kāi)一扇門(mén)”的策略. 在這里不妨舉個(gè)例子,給出一個(gè)簡(jiǎn)單的密碼設(shè)置規(guī)則(以電子郵箱為例):
密碼=2*([用戶名標(biāo)識(shí)符(小寫(xiě)/大寫(xiě))]+[用戶名長(zhǎng)度]+[.]+[網(wǎng)站標(biāo)識(shí)符(大寫(xiě)/小寫(xiě))]),比如說(shuō)guokr123@gmail.com的密碼可以為gk8.GMGK8.gm,而songshuhui@hotmail.com的密碼可以為ssh10.HTSSH10.ht.
但是,這就真的安全了嗎?下面的這幅畫(huà)真實(shí)地反映了如此一個(gè)情境.
正如這幅畫(huà)中展現(xiàn)的——還請(qǐng)讀者記住的就是,一個(gè)優(yōu)秀的密碼可以盡可能地降低風(fēng)險(xiǎn),但它并不能將風(fēng)險(xiǎn)降為零.
我們總面臨著如何設(shè)置各式各樣的密碼的問(wèn)題.把密碼設(shè)置簡(jiǎn)單了,恐他人輕易破解;把密碼設(shè)置復(fù)雜了,又增加了記憶的難度,到底該如何設(shè)置呢?