要去解釋如何選擇一個(gè)好的密碼,最好方式是去解釋如何破解它。通常的破解方式被認(rèn)為是脫機(jī)密碼猜測破解。在這個(gè)方案中,攻擊者從一些需要驗(yàn)證的地方拿到加密的密碼文件。他的目的是解密這個(gè)加密的密碼用來給自己驗(yàn)證。他通過密碼測試驗(yàn)證它們是否正確。電腦可以很快處理它們,而且可以同時(shí)破解解攻擊,如果密碼正確會立即得到確認(rèn)。是的,有一種方式可以阻止這個(gè)攻擊,這也是為什么ATM卡有4位PIN碼的原因。但是上面所說的方法仍然是正確的密碼破解方案。
有一些商業(yè)程序可以做密碼破解,主要是賣給警察局。還有一些黑客工具做同樣的事情。這些非常好用。
破解密碼的效率主要依賴兩個(gè)獨(dú)立的因素:能力和效率。
能力是簡單的計(jì)算機(jī)能力。計(jì)算機(jī)已經(jīng)變得很快,它們每秒能測試很多密碼。一個(gè)程序宣稱每秒可以測試800萬個(gè)密碼。那些黑客可能連日在多臺機(jī)器上同時(shí)運(yùn)行程序。在一個(gè)知名的案件中,他們的破解程序運(yùn)行了幾個(gè)月。
效率是有能力去猜測密碼,而且有智能。它不是按順序去執(zhí)行8個(gè)字符的組合,例如:從"aaaaaaaa"到"zzzzzzzz"。這可能有2000億種可能,這其中大量的是沒希望的。聰明的密碼破解者會先嘗試常用密碼。
一個(gè)典型的密碼包含一個(gè)詞根,加上附加的東西。這個(gè)詞根不一定是字典里的詞,但是它通常是能發(fā)音的東西。一個(gè)附加物通常是一個(gè)后輟(90%可能性)或前輟(10%可能性)。我見過一個(gè)破解程序從字典中的大約1000個(gè)通用密碼開始破解,例如"letmein", "temp", "123456"等如此這些字符。然后試著給它們加上100個(gè)通用的符加物:"1", "4u", "69", "abc", "!" 等等相似的字符。它破解了四分之一的密碼,盡管這些字符只有100000個(gè)組合。
黑客使用不同的字典:英語單詞,名字,外來詞,語音等等一類的東西來做為詞根;兩個(gè)數(shù)字,日期,單個(gè)符號和這一類的東西做為附加物。它們動行的字典能做多種復(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)常引用XKCD scheme去生成密碼——字符串給合單個(gè)單詞不是好的建議,比如“correcthorsebatterystaple”。密碼破解者知道這個(gè)花招。
攻擊者會提供他知道的任何密碼創(chuàng)建者的人個(gè)信息給密碼破解者。一個(gè)好的密碼破解者將從地址簿中測試名字和地址,也會測試任何有意義的日期,和其它他知道的個(gè)人信息。郵編通常是附加物。如果可以,猜解者會索引目標(biāo)的硬盤并生成一個(gè)字典包含任何可見字符,包括刪除的文件。如果你曾經(jīng)保存E-mail和密碼,這個(gè)處理會提取它。并且你的密碼會很快被破解。
去年,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)該是不會有9個(gè)字符的密碼。當(dāng)然,請不要用我這個(gè)密碼,因?yàn)槲乙呀?jī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.
通過這個(gè)想法,你是否有一些啟示?把自己能記住的句子加上一些個(gè)人技巧組合成一個(gè)長的密碼。當(dāng)然,這個(gè)站點(diǎn)已經(jīng)能用非希臘字符和任意長度的密碼。
實(shí)際上比較好的方案是使用隨機(jī)密碼,它包含字母數(shù)字(如果站點(diǎn)支持可以帶有特殊符號),并且使用一個(gè)密碼管理工具去創(chuàng)建和存儲它,比如:Password Safe。這個(gè)工具包含了一個(gè)隨機(jī)的密碼生成功能。設(shè)置你的密碼長度(我的默認(rèn)值是12位),它會生成一個(gè)密碼,例如:y.)v_|.7)7Bl, B3h4_[%}kgv) 和 QG6,FN4nFAm_。 這個(gè)程序支持減切和貼貼,所以你不用手工輸入它們。
選擇一個(gè)好密碼的注意事項(xiàng):
1 不要重用你的密碼。盡管你選擇了一個(gè)安全的密碼,一些站點(diǎn)仍然會泄露它,因?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)慎填寫"安全問題"。
4 多一個(gè)建議:如果網(wǎng)站提供兩種驗(yàn)證方式,請認(rèn)真考慮使用它。這是非常有必要的安全提升。
原文:http://boing
掃碼二維碼 獲取免費(fèi)視頻學(xué)習(xí)資料
- 本文固定鏈接: http://www.wangchenghua.com/post/2371/
- 轉(zhuǎn)載請注明:轉(zhuǎn)載必須在正文中標(biāo)注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費(fèi)視頻資料