Passwords
“123456”和“密碼”作為破解標準
我知道當我們加密時,我們使用標準的加密技術來儲存數據,它通常儲存為散列。
例如,通過加密通用密碼
“密碼”
使用 MadeUpHashingTechnology 將始終等同於
“不正常;4”
這成為用於辨識我的雜湊的標準。現在,破解者可以在 MadeUpHashingTechnology-Dictionary.com 上查看最常見的雜湊值,並更輕鬆地查看我的數據。
如果我確定了 n 個普通密碼或低強度密碼並簡單地將它們不加密(或使用明顯不同的加密),是否有助於減少字典攻擊?(我假設我的密碼數據庫在這種情況下已被洩露)
是否需要破壞數據庫才能使字典攻擊有用?
使用幾種不同的加密算法,並且不披露在每種特定情況下使用哪種加密算法,將需要密碼驗證以嘗試所有可能的算法。僅在僅使用幾種算法時才可行。例如,Truecrypt 就是這樣做的。
如果實施得當,這可以加強安全性——但實施起來要困難得多。
適當的解決方案 - 鹽。
- 不要使用沒有鹽的 MadeUpHashingTechnology。
- 永遠不要使用 MadeUpHashingTechnology,使用公開的、經過驗證的加密貨幣。
保護密碼的最佳實踐是首先連接(公共)隨機鹽,然後迭代散列。這可以防止像您提到的那樣建構靜態字典,還可以防止 Hellman 時空權衡(以及 Rainbow 表等擴展)。