甚至密碼也容易受到雜湊衝突攻擊?
如本頁所述,使用 md5 散列的大型文件可能容易受到碰撞攻擊。我的問題是即使是 6-30 個字元的密碼也容易受到這種雜湊衝突攻擊?如果是,是否有任何線上證據或任何兩個密碼片語給出相同 md5 雜湊的範例?我用Google搜尋但沒有幫助!
無論如何我不打算儲存使用 md5 散列的密碼,只是出於好奇而問了這個問題。
超過幾十個字節的數據可能容易受到 MD5 碰撞攻擊,但只有(據了解)當對手可以在合法和偽造版本中**註入(選擇)足夠的數據時,這是可行的一些重要的場景,包括證書籤名。有證據表明這是火焰惡意軟體使用的,並且有合理的猜測認為它多年來未被發現。
不,在密碼散列的標準使用中,密碼不易受到散列衝突攻擊,其中儲存散列而不是正確的密碼並用於測試候選密碼;這是因為假設對手不知道密碼,並且不能在兩個散列消息中註入材料;因此,在這樣的標準密碼散列應用程序中,散列的內容通常低於已知 MD5 衝突可行的門檻值,這並不重要。
然而,當雜湊密碼已知時,通常可以通過不同的攻擊來恢復雜湊密碼,特別是暴力(第一)原像攻擊:例如,如果密碼是使用不加鹽的 MD5 對密碼進行雜湊處理的,則為MD5 彩虹表;或者,即使使用鹽,也可以使用密碼破解程序列舉合理的密碼。為了防禦這些攻擊,應該避免密碼散列被人知道,並且當不能以高可信度保證時,必須使用良好的、故意減慢的密碼散列,例如使用鹽和適當參數的scrypt 。改進密碼散列是一個活躍的研究課題。
更新:CodeInChaos在下面的評論中正確指出,即使在密碼雜湊的標準使用中,允許更改密碼(並且可能知道鹽)的對手可以使用密碼衝突來選擇一個密碼,以便另一個密碼允許訪問,她可以用它在某種程度上抹黑系統。
更新:Ricky Demer在下面的評論中正確指出,在一些密碼驗證密鑰協議 (PAKE) 協議中,發現涉及兩個不同可能密碼的消息的衝突可以為攻擊者提供有用的優勢:能夠通過單個查詢檢查這兩個密碼.