什麼是強化的 SHA-1,它是如何工作的以及它提供了多少保護?
從破碎的網站:
您可以使用上面的線上工具送出文件並檢查它們是否存在對 SHA-1 的密碼分析衝突攻擊。這背後的程式碼由 Marc Stevens (CWI) 和 Dan Shumow (Microsoft) 開發,可在 GitHub 上公開獲取。
它基於反密碼分析的概念,它能夠檢測已知和未知的 SHA-1 密碼分析衝突攻擊,只需來自衝突文件對中的單個文件。
然後:
Hardened SHA-1 是否易受攻擊?
不,通過反密碼分析強化的 SHA-1(請參閱“我如何檢測攻擊”)將檢測密碼分析衝突攻擊。在這種情況下,它會調整 SHA-1 計算以產生安全的散列。這意味著它將為沒有衝突攻擊的文件計算正常 SHA-1 雜湊,但為有衝突攻擊的文件生成一個特殊的雜湊,其中兩個文件將具有不同的不可預測的雜湊。
最後來自 GitHub 頁面- 我假設上面稱為“硬化”SHA-1:
…更具體地說,他們將使用機率為 1 的前 32 個 SHA-1 干擾向量中的任何一個來檢測針對 SHA-1 的任何密碼分析碰撞攻擊:
I(43,0), I(44,0), I(45,0), I(46,0), I(47,0), I(48,0), I(49,0), I(50,0), I(51,0), I(52,0), I(46,2), I(47,2), I(48,2), I(49,2), I(50,2), I(51,2), II(45,0), II(46,0), II(47,0), II(48,0), II(49,0), II(50,0), II(51,0), II(52,0), II(53,0), II(54,0), II(55,0), II(56,0), II(46,2), II(49,2), II(50,2), II(51,2)
這些向量究竟是什麼?是否還有其他易受攻擊的載體?“強化”SHA-1 提供了多少保護?
強化的 SHA-1 檢測以某種形式建構的碰撞,如果有人使用暴力生日攻擊(目前不可行)發現碰撞,則檢測將不起作用。
矢量是特定的小差異,可能有助於將接近碰撞轉換為完全碰撞。
詳細資訊在論文中:https ://marc-stevens.nl/research/papers/C13-S.pdf
這將檢測到與所執行的攻擊具有相似結構的攻擊。然而,未來的密碼分析可能會導致其他形式的攻擊。值得一提的是,任何散列函式都可能容易受到新類型的攻擊。SHA-3 也可能容易受到未知的攻擊。
強化的 SHA-1 幾乎在所有時間都試圖與 SHA-1 相同,但在誠實使用方面存在差異的機率小於 $ 2^{-90} $ . 然而,它應該通過檢測攻擊並將輸出更改為不同的東西來抵禦攻擊。
SHA-1 直到最近才發生碰撞。硬化的 SHA-1 在這方面應該是安全的;比 SHA-1 更安全。它顯然比 MD5 等徹底破壞的選項要好。
Hardened SHA-1 試圖向後兼容 SHA-1。如果您不需要這種向後兼容性,請不要使用它,請使用 SHA-3 或 SHA-2,即使您必須截斷為 160 位。