選擇一個(gè)好的密碼,最好的方式是去嘗試著破解它。常見的破解方式被認(rèn)為是脫機(jī)密碼暴力破解。在這個(gè)方法中,攻擊者從一些需要登陸的地方拿到加密的密碼文件,他的目的是解密這個(gè)加密的密碼。他不斷嘗試不同的密碼驗(yàn)證它們是否正確,電腦可以很快處理它們,如果密碼正確會(huì)立即得到確認(rèn)。是的,有一種方式可以阻止這個(gè)攻擊,這也是為什么ATM卡有4位PIN碼的原因。但是上面所說(shuō)的方法仍然是可行的密碼破解方案。
有一些商業(yè)程序可以做密碼破解,主要是賣給警察局進(jìn)行正當(dāng)?shù)氖褂谩_€有一些黑客工具可以做同樣的事情,甚至破解效果非常強(qiáng)大。
破解密碼的效率主要依賴兩個(gè)獨(dú)立的因素:能力和效率。
能力是簡(jiǎn)單的計(jì)算機(jī)能力。計(jì)算機(jī)已經(jīng)變得很快,它們每秒能測(cè)試很多密碼。甚至有一個(gè)軟件宣稱,可以每秒測(cè)試800萬(wàn)個(gè)密碼。那些黑客可能連日在多臺(tái)機(jī)器上同時(shí)運(yùn)行這些破解密碼軟件,在一個(gè)知名的案件中,他們的破解程序運(yùn)行了幾個(gè)月。
效率是有能力去猜測(cè)密碼,而且有智能。它不是按順序去執(zhí)行8個(gè)字符的組合,例如:從"aaaaaaaa"到"zzzzzzzz"。這可能有2000億種可能,這其中大量的是沒(méi)希望的。聰明的密碼破解者會(huì)先嘗試常用密碼。
一個(gè)典型的密碼包含一個(gè)詞根,加上附加的東西。這個(gè)詞根不一定是字典里的詞,但是它通常是能發(fā)音的東西。一個(gè)附加物通常是一個(gè)后輟(90%可能性)或前輟(10%可能性)。我見過(guò)一個(gè)破解程序從字典中的大約1000個(gè)通用密碼開始破解,例如"letmein", "temp", "123456"等如此這些字符。然后試著給它們加上100個(gè)通用的符加物:"1", "4u", "69", "abc", "!" 等等相似的字符。它破解了四分之一的密碼,盡管這些字符只有100000個(gè)組合。
黑客使用不同的字典:英語(yǔ)單詞,名字,外來(lái)詞,語(yǔ)音等等一類的東西來(lái)做為詞根;兩個(gè)數(shù)字,日期,單個(gè)符號(hào)和這一類的東西做為附加物。它們采用的字典能做多種復(fù)雜替換:"$" 替換成 "s", "@" 替換成 "a", "1" 替換成 "l" 和類似的。 這個(gè)密碼破解策略快速的破解了約三分之二的密碼。
現(xiàn)代密碼破解者從它們的字典中聯(lián)合不同的單詞組成密碼。
這些字典包含一些能被記住的單詞,例如:"k1araj0hns0n," "Sh1a-labe0uf," "Apr!l221973," "Qbesancon321," "DG091101%," "@Yourmom69," "ilovetofunot," "windermere2313," "tmdmmj17," 和 "BandGeek2014.",同時(shí)也包含"all of the lights" (是的,很多站點(diǎn)允許空格。), "i hate hackers," "allineedislove," "ilovemySister31," "iloveyousomuch," "Philippians4:13," "Philippians4:6-7," and "qeadzcwrsfxv1331." "gonefishing1125"。
這也是為什么我們需要經(jīng)常引用XKCDscheme去生成密碼——字符串給合單個(gè)單詞不是好的建議,比如“correcthorsebatterystaple”,密碼破解者知道這個(gè)花招。
攻擊者會(huì)提供他知道的任何密碼創(chuàng)建者的人個(gè)信息給密碼破解者,一個(gè)好的密碼破解者將從地址簿中測(cè)試名字和地址,也會(huì)測(cè)試任何有意義的日期,和其它他知道的個(gè)人信息。郵編通常是附加物。如果可以,猜解者會(huì)索引目標(biāo)的硬盤并生成一個(gè)字典包含任何可見字符,包括刪除的文件。如果你曾經(jīng)保存E-mail和密碼,這個(gè)處理會(huì)提取它。并且你的密碼會(huì)很快被破解。
去年,Ars Technica給三個(gè)專家16000條加密的文件,讓他們盡可能多的去破解。贏家破解了90%,最后一名破解了62%——這是幾小內(nèi)完成的。2012年,2007年或更早,同樣的事情在發(fā)生。如果有任何新的新聞,肯定是比賽的獲勝者比人們想像的更容易更快的完成了破解。
幾乎能被記住的任何東西,都可以被破解。
還有一種有用的組合方式,可以編造安全的密碼。這得追述到2008年,我稱它為“施奈爾組合”:
如果你想讓你的密碼很難被破解,你應(yīng)該選擇一些被破解方案漏掉的組合方式。我的建議是把一個(gè)句子轉(zhuǎn)換成密碼,比如“This little piggy went to market”可以變成"tlpWENT2m"。破解者的字典中應(yīng)該是不會(huì)有9個(gè)字符的密碼。當(dāng)然,請(qǐng)不要用我這個(gè)密碼,因?yàn)槲乙呀?jīng)公布它了。請(qǐng)選擇你自己的句子——個(gè)人的。
這是一些例子:
WIw7,mstmsritt… = When I was seven, my sister threw my stuffed rabbit in the toilet.
Wow…doestcst = Wow, does that couch smell terrible.
Ltime@go-inag~faaa! = Long time ago in a Galaxy not far away at all.
uTVM,TPw55:utvm,tpwstillsecure = Until this very moment, these passwords were still secure.
通過(guò)這個(gè)想法,你是否有一些啟示?把自己能記住的句子加上一些個(gè)人技巧組合成一個(gè)長(zhǎng)的密碼。當(dāng)然,這個(gè)站點(diǎn)已經(jīng)能用非希臘字符和任意長(zhǎng)度的密碼。
實(shí)際上比較好的方案是使用隨機(jī)密碼,它包含字母數(shù)字(如果站點(diǎn)支持可以帶有特殊符號(hào)),并且使用一個(gè)密碼管理工具去創(chuàng)建和存儲(chǔ)它,比如:Password Safe。這個(gè)工具包含了一個(gè)隨機(jī)的密碼生成功能。設(shè)置你的密碼長(zhǎng)度(我的默認(rèn)值是12位),它會(huì)生成一個(gè)密碼,例如:y.)v_|.7)7Bl, B3h4_[%}kgv) 和 QG6,F(xiàn)N4nFAm_。 這個(gè)程序支持剪切和貼貼,所以你不用手工輸入它們。
選擇一個(gè)好密碼的注意事項(xiàng):
1 不要重用你的密碼。盡管你選擇了一個(gè)安全的密碼,一些站點(diǎn)仍然會(huì)泄露它,因?yàn)橐恍┱军c(diǎn)并不專業(yè)。你給某人一個(gè)站點(diǎn)或應(yīng)用的密碼,讓他去使用這個(gè)站點(diǎn)的應(yīng)用,但他也能把這個(gè)密碼用在其它站點(diǎn)。
2 不要厭煩密碼定期更新。如果站點(diǎn)要求90天更新一次密碼,這是利大于弊的。除非你認(rèn)為你的密碼可能被盜用了,不需要更改它。
3 謹(jǐn)慎填寫"安全問(wèn)題"。
4 附加一個(gè)建議:如果網(wǎng)站提供兩種驗(yàn)證方式,請(qǐng)認(rèn)真考慮使用它。這是非常有必要的安全提升。