Hmac
將 SHA-1 用於一次性密碼的安全注意事項
SHA-1 被認為是損壞的。這就是為什麼我假設將 SHA-1 用於RFC2289 OTP也被破壞了。這個假設正確嗎?
進一步使用 SHA-1 進行RFC4226 HOTP 的假設也應該被打破,是嗎?儘管此部落格聲明如下:“它不會影響碰撞不重要的應用程序,例如 HMAC”。這也適用於 HOTP 嗎?
詳細的解釋將不勝感激。
非常感謝您提前。
一次性密碼生成所需的安全屬性是偽隨機函式。當散列函式具有某些屬性時,HMAC 被假定為偽隨機函式。碰撞阻力不是 HMAC 作為安全偽隨機函式所必需的屬性。然而,當碰撞阻力被破壞時,這會帶來對該功能的一般安全性的質疑。因此,雖然 HMAC-SHA1 實際上並沒有被破壞,但如果可能的話,還是值得考慮逐步採用 HMAC-SHA256。
我只想指出,HMAC-SHA1 在正常意義上不需要抗碰撞性,因為它被設計為消息的散列以密鑰為前綴。因此,攻擊者無法計算消息本身的雜湊值。