iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
自我挑戰組

網路通訊輕鬆聊系列 第 28

初探網路安全(三):怎麼取一個「好」的密碼?在不同網站想密碼的策略

昨天提到駭客暴力破解密碼的方式,我們接著這個話題繼續,最後來聊聊怎麼取一個好一些、實用一些的密碼吧!

駭客怎麼大量嘗試密碼?

大家自己在輸入密碼登入時,應該都有注意到多數網站會限制輸入密碼錯誤的次數,那麼駭客要怎麼快速的嘗試多組密碼呢?

要在 3 次或 5 次之內試出密碼,這樣走正規的登入顯然會被伺服器擋住,既然要想方法和伺服器周旋,那為何不直接以駭入伺服器主機為目標呢?

對耶,這樣做只要拿到主機權限,裡面所有使用者的帳號密碼就全部拿光光了!攻擊的目標從眾多的使用者被縮小成主機的管理者。但這樣做的一個問題是,主機中儲存的密碼如果被 Hash 過後,駭客也沒辦法反推回去。

但沒關係,有了這串亂碼,駭客就沒有測試的上限了!

暴力測試密碼是否符合 Hash Code
*暴力測試密碼是否符合 Hash Code

只要拿常見的密碼測、拿字典裡的單字測、把有可能的組合都測一測,就有機會攻破某個使用者的密碼。

Hash 後的密碼就一定安全嗎?

那麼密碼被 Hash 之後就會是安全的嗎?當然不是!

為了要驗證密碼是否是正確的,當你在登入時輸入的密碼會再被 Hash 一次,和儲存的 Hash Code 來做比對,假如是同一組密碼的話,經過 Hash 出來的結果自然就會匹配。

因此拿到所有 Hash Code 的駭客,就可以任意的嘗試密碼的組合,就像一般使用者登入一樣,把要嘗試的密碼以同樣的 Hash 函式跑過一遍,得到 Hash Code 再比對即可。

不過 Hash 過的密碼,只要原本取的好,也不是不安全的。因為現在常用的 Hash 函式,例如 SHA256,都有一個特性:就是改了一個字元就會讓整個輸出結果完全不一樣。

也就是說透過觀察 Hash Code 幾乎無法回推原始密碼為何,縱然你手中握有類似的密碼。例如 password122password123 被 SHA1 這個 Hash 算法所運算出的結果,是 8dc32b0ebd38d5cc80b0aedb65dee2a96bbdfa76 以及 5eff8bb44b6170d4fd4e8636643c93ad68294982,只差一個字元的密碼,輸出的結果卻截然不同。

怎麼取密碼才好?

講了這些密碼如何被駭客所破解的技巧,就知道取一個好密碼的重要性了!那麼一個難以破解的密碼需要什麼條件呢?

  • 密碼盡可能長:由於「試」出密碼的難度和密碼長度成指數關係,越長的密碼就需要花越久的時間才能被破解
  • 密碼的特殊符號盡可能多:如果每個字元的可能性不限於英文字母及數字,而包含各種符號(前提是網站允許),則密碼組合的可能性也大幅增加
  • 組合盡可能隨機:由於「試」密碼的方式常被用字典中的字搭配數字等組合,你越不用常見字詞而改用越亂的方式組合密碼,被試出密碼的可能性也就越低

好的,以上提了幾點「較難以破解」密碼的特徵,但現實上  呢,根本做不到吧!取了一個複雜到難以記憶的密碼,下次不但輸入慢,更可能會忘記密碼。

由於怕忘記密碼,可能有些人就把密碼寫在便條紙上貼在螢幕旁,這豈不是更本末導致了?

怎麼取密碼更好?在不同網站怎麼取?

因此好記的密碼也會是一個很重要的考量,以下幾點供大家參考。

取個長一點的密碼其實就很有效了,雖然不用字典中出現的字可以提高難度,但不方便記憶,用多一點的單字組合難度也不會太低,如:it's-a-really-long-password-la 這樣的密碼就不太容易重複到,並且比較容易記。

再來就是加入自己的規律,例如每 1, 2, 3, 5, 8, ... (Fibonacci number) 個字母大寫,像是 IT's-a-ReallY-long-pAssword-la 等等,又或是在某個位置加入特殊符號。把這樣的規律運用在每個網站,就不容易忘記了。

說到網站,用一組密碼打天下顯然不太好,但又要好記怎麼辦呢?同樣也是加入自己的規律,例如在 Google 註冊,可以把 Google 的名稱放在密碼裡,例如 googleit's-a-really-long-password-la;若是在 Yahoo 就取 yahooit's-a-really-long-password-la 這樣放在密碼前的做法。

如此一來就可以用一組熟悉的密碼,配上不同網站專屬特性的規律組出不同的密碼。除非剛好有兩個網站同時被破解,還特地找出你的密碼差異為何,不然安全性和實用性應該都是不錯的。

小結

想不出好密碼的話,也還能用市面一些密碼管理軟體,例如 1Password、LastPass 等等都是不錯的工具。

但在注重密碼之外,其實我們更該注意的是資安意識。

往往密碼洩漏出去不是透過上述的這些方法被硬找出來的,而可能是不小心點了釣魚網站、在網站或 Email 中分享密碼,甚至是寫在便條紙上貼在明顯的位置。


上一篇
初探網路安全(二):密碼怎麼被「試」出來的
下一篇
初探網路安全(四):加密演算法,何謂對稱及非對稱式加密?
系列文
網路通訊輕鬆聊30

尚未有邦友留言

立即登入留言