Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
編者:Cho-Han Wu

圖一、 ”鹽”是一個特定的字串用以增加密碼複雜度 (圖片來源)
今年一月SplashData 公司公布了2013年最不安全的密碼排行榜,由「123456」取代「password」奪下最不安全密碼排行榜冠軍。其他不安全的密碼還包含了「qwerty」,「abc123」及「123456789」等等。在眾多網路平台興盛的時代,使用者往往必須記憶一組或多組密碼組合,而密碼的強度也是決定帳戶安全性的因素之一。
此外,對於平台提供者而言,提供安全的後台系統來儲存使用者的密碼也是相當重要的因素。然而隨著駭客破解密碼的技巧日益高明,使用傳統的加密方法已經不足以妥善保護了,所以利用一些加密的小技巧來提升密碼儲存的安全是很重要的。本次資安小常識將介紹一些密碼加密的種類以及方法。

圖二、 2013年最不安全密碼排行榜 (圖片來源)
網路平台提供者常見的儲存密碼的方法可大致分為下列幾種:
1. 明碼
儲存是將使用者輸入的密碼直接儲存於資料庫欄位之中,不經過任何修飾。利用這種方法儲存密碼是最不安全的,因為只要資料庫遭到入侵,使用者的密碼資訊即會被洩漏。
2. 簡易雜湊法 (Pure Hash)
簡易雜湊法是單只用一種雜湊演算法來保護明碼。
在傳統的情況下,當密碼經過雜湊演算法 (如 MD5) 加密後是很難透過特定演算法推回原始值的,但如果透過大型的對照表,即有可能對照出原始的明碼,所以安全性仍不夠高。
3. 加料式雜湊法 (Salted Hash)
加料式雜湊法是將欲加密之明碼加上固定的一段字串 (又稱為鹽) ,再經過簡易雜湊法而成。
例如:
明碼 1234 經過 MD5 雜湊後的結果是
81dc9bdb52d04dc20036dbd8313ed055
這段雜湊可能會經由大量的對照表而還原,但若是加鹽之後
例如:
明碼 1234 + 鹽saltsaltsalt
經過 MD5 雜湊後的結果是
e80bdfdab3f83500d6330c6068eeeef4
隨者鹽的複雜度增加,即使加了鹽後的原始密碼被破解,要得到真實密碼所需要的時間仍會大幅增加。
4. 複合式雜湊法
複合式雜湊法是利用兩種方法來增加雜湊的複雜度,利用這種方法即可以大幅提升密碼儲存的安全性。
例如:
-
- 雜湊兩次
雜湊方法2 ( 雜湊方法1 ( 明碼 + 鹽 ) )
-
- 加兩次鹽
鹽 + ( 雜湊方法1 ( 明碼 +鹽 )
隨著網路平台日益發達,本次資安小常識提供您在建構平台時,可以使用的安全地密碼儲存方法,以保障平台使用者的個資安全。此外,使用者在設計密碼時,也可以參考此篇文章來確保密碼強度的安全。
參考資料
SplashData 年度最不安全密碼排行榜 (英文)
https://splashdata.com/press/worstpasswords2013.htmBest Practices for password protection
https://blog.gcos.me/2012-01-08_best_practicing_for_password_protection.html被竊取的 Email 帳號查詢清單
https://dazzlepod.com/ahashare/?email=[資安小常識] 駭客破解實驗結果出爐!您的密碼小於 16 字元嗎?
https://blogs.technet.com/b/twsecurity/archive/2013/06/11/3578024.aspx