每一年都可以看到新聞在報資安公司所統計出來的年度最爛密碼,諸如以下
由於這些密碼太過常見,就算你不是一位對資訊安全有深入了解的專家、駭客,你也可以「試試看」把這些常見的密碼用在你仇人的帳號上,多試個幾次搞不好居然就能登入了。
而事實上,大多數駭客在破解密碼的思維也是如此,就是「試試看」而已,只不過是用比你快的多的速度在嘗試而已,運氣好的話,一些常見密碼就這樣被試出來了。
假如說一個網站伺服器不幸被駭客入侵,竊取了所有的密碼,恰恰好這些密碼都沒有被 Hash(密碼是怎麼被儲存的)過,這些密碼可能就被記到了駭客的小筆記裡,用來試試看其它網站。
也就是說,當你在想一組新密碼的時候,要盡量避免大家都想的到的密碼,否則就很容易被猜中。例如這組密碼 jie2k7au4a83
,就曾被國外資安專家發現是一組常見的密碼,但熟悉注音的各位應該能發現這就是「我的密碼」用注音來表示吧!
當駭客不認識某個使用者時,比較難透過私人的訊息如生日、住址等去猜到密碼,這種情況通常也只能「暴力破解」,但用的是電腦的算力,和一些聰明的辦法暴力破解。
最直接的方式就是把密碼能出現的每個符號都嘗試一次,假如有個 100 個可能字元,密碼長度為 1 的話,試 100 次就能猜出來;長度為 2 的話,就需要 100^2 次,以此類推,密碼長度越長所需要嘗試的次數就會越多。
假如駭客用的這台電腦,平均 1 秒能算 10 億(10^10)次的話,長度為 5 的密碼就只要花 1 秒便能試完所有組合,但長度為 10 的密碼卻要 300 多年才能試完,也就是說,越長的密碼要破解的話花的時間越多,而且是指數成長。
但這樣太暴力了,一般駭客也無法接受,他們通常比較溫柔。
所以拿出他們的小筆記,以及一本「字典」,會比較沒那麼暴力一些。
如果將有人用過的密碼先試一次、在字典裡出現過的字排列組合一下試過一次,這類的策略可以大幅的縮小範圍,例如
iloveyou
是常見的密碼,也是常見單字的組合p@ssword
替換了 a 成 @,也是很常見的做法whatever123
直接就是字典裡的字加上數字的組合因為以一些符合直覺的方式組合,所以像這樣的密碼都是強度極低的密碼。懶得想密碼而想的密碼,駭客其實都知道。
諸如包含鍵盤排列的 qwerty
或 qazwsx
、密碼後加上簡單數字 123
、666666
等等讓你容易記的密碼,都會比較容易的被猜出來。
聊到這邊你可能會想,現在的網站不都會限制你輸入錯誤密碼的次數嗎?哪這麼多機會給你試我的密碼呀!明天我們接著談這個話題。