Hmac

HMAC-SHA-1 安全嗎?

  • July 5, 2016

儘管 SHA-1 理論上存在衝突,但基於 SHA-1 的 HMAC-SHA-1 仍然被廣泛使用(例如在 TLS 中)並且被認為是安全的。這怎麼可能?

如評論中連結的 Ricky Demer 論文所示,即使底層雜湊函式不抗碰撞,HMAC 也可以是安全的。只需要散列函式的 PRF-ness,並且不知道 SHA-1 缺少它。或者即使不是 PRF,也可以滿足其他幾個條件。

直覺地說,即使使用 SHA-1,HMAC 作為 MAC 也是安全的,因為 MAC 不允許衝突搜尋。找到密鑰的唯一方法是破壞 SHA-1 的原像抗性。HMAC 反過來可以防止長度擴展攻擊等,這些攻擊會允許在不知道密鑰的情況下進行偽造。

順便說一句,即使是HMAC-MD5 也沒有被破壞。然而,出於同樣的原因——攻擊只會變得更好——我建議不要選擇 SHA-1 作為新應用程序的 HMAC 雜湊,如果您可以輕鬆使用 SHA-2。

引用自:https://crypto.stackexchange.com/questions/18575