天天看點

如何選擇一個安全的密碼

要去解釋如何選擇一個好的密碼,最好方式是去解釋如何破解它。通常的破解方式被認為是脫機密碼猜測破解。在這個方案中,攻擊者從一些需要驗證的地方拿到加密的密碼檔案。他的目的是解密這個加密的密碼用來給自己驗證。他通過密碼測試驗證它們是否正确。電腦可以很快處理它們,而且可以同時破解解攻擊,如果密碼正确會立即得到确認。是的,有一種方式可以阻止這個攻擊,這也是為什麼atm卡有4位pin碼的原因。但是上面所說的方法仍然是正确的密碼破解方案。

有一些商業程式可以做密碼破解,主要是賣給警察局。還有一些黑客工具做同樣的事情。這些非常好用。

破解密碼的效率主要依賴兩個獨立的因素:能力和效率。

能力是簡單的計算機能力。計算機已經變得很快,它們每秒能測試很多密碼。一個程式宣稱每秒可以測試800萬個密碼。那些黑客可能連日在多台機器上同時運作程式。在一個知名的案件中,他們的破解程式運作了幾個月。

效率是有能力去猜測密碼,而且有智能。它不是按順序去執行8個字元的組合,例如:從"aaaaaaaa"到"zzzzzzzz"。這可能有2000億種可能,這其中大量的是沒希望的。聰明的密碼破解者會先嘗試常用密碼。

一個典型的密碼包含一個詞根,加上附加的東西。這個詞根不一定是字典裡的詞,但是它通常是能發音的東西。一個附加物通常是一個後辍(90%可能性)或前辍(10%可能性)。我見過一個破解程式從字典中的大約1000個通用密碼開始破解,例如"letmein", "temp", "123456"等如此這些字元。然後試着給它們加上100個通用的符加物:"1", "4u", "69", "abc", "!" 等等相似的字元。它破解了四分之一的密碼,盡管這些字元隻有100000個組合。

黑客使用不同的字典:英語單詞,名字,外來詞,語音等等一類的東西來做為詞根;兩個數字,日期,單個符号和這一類的東西做為附加物。它們動行的字典能做多種複雜替換:"$" 替換成 "s", "@"  替換成 "a", "1" 替換成 "l" 和類似的。 這個密碼破解政策快速的破解了約三分之二的密碼。

現代密碼破解者從它們的字典中聯合不同的單詞組成密碼。

這些字典包含一些能被記住的單詞,例如:"k1araj0hns0n," "sh1a-labe0uf," "apr!l221973," "qbesancon321," "dg091101%," "@yourmom69," "ilovetofunot," "windermere2313," "tmdmmj17," 和 "bandgeek2014.",同時也包含"all of the lights" (是的,很多站點允許空格。), "i hate hackers," "allineedislove," "ilovemysister31," "iloveyousomuch," "philippians4:13," "philippians4:6-7," and "qeadzcwrsfxv1331." "gonefishing1125"。

如何選擇一個安全的密碼

password_strength1.png

去年,ars technica給三個專家16000條加密的檔案,讓他們盡可能多的去破解。赢的人破解了90%,最後一名破解了62%——這是幾小内完成的。2012年,2007年或更早,同樣的事情在發生。如果有任何新的新聞,肯定是比賽的獲勝者比人們想像的更容易更快的完成了破解。

幾乎能被記住的任何東西,都可以被破解。

還有一種有用的組合方式。回到2008年,我描述它為“施奈爾組合”:

如果你想讓你的密碼很難被破解,你應該選擇一些被破解方案漏掉的組合方式。我的建議是把一個句子轉換成密碼,比如“this little piggy went to market”可以變成"tlpwent2m"。破解者的字典中應該是不會有9個字元的密碼。當然,請不要用我這個密碼,因為我已經公布它了。請選擇你自己的句子——個人的。

這是一些例子:

wiw7,mstmsritt... = when i was seven, my sister threw my stuffed rabbit in the toilet. wow...doestcst = wow, does that couch smell terrible. utvm,tpw55:utvm,tpwstillsecure = until this very moment, these passwords were still secure.

通過這個想法,你是否有一些啟示?把自己能記住的句子加上一些個人技巧組合成一個長的密碼。當然,這個站點已經能用非希臘字元和任意長度的密碼。

實際上比較好的方案是使用随機密碼,它包含字母數字(如果站點支援可以帶有特殊符号),并且使用一個密碼管理工具去建立和存儲它,比如:password safe。這個工具包含了一個随機的密碼生成功能。設定你的密碼長度(我的預設值是12位),它會生成一個密碼,例如:y.)v_|.7)7bl, b3h4_[%}kgv) 和 qg6,fn4nfam_。 這個程式支援減切和貼貼,是以你不用手工輸入它們。

選擇一個好密碼的注意事項:

1 不要重用你的密碼。盡管你選擇了一個安全的密碼,一些站點仍然會洩露它,因為一些站點并不專業。你給某人一個站點或應用的密碼,讓他去使用這個站點的應用,但他也能把這個密碼用在其它站點。

2 不要厭煩密碼定期更新。如果站點要求90天更新一次密碼,這是弊大于利的。除非你認為你的密碼可能被盜用了,不需要更改它。

3 謹慎填寫"安全問題"。

4 多一個建議:如果網站提供兩種驗證方式,請認真考慮使用它。這是非常有必要的安全提升。

原文釋出時間為:2014-03-02

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀