Nic*_*son 16

在RFC的安全部分中详细描述了HMAC的安全隐患.简而言之,在HMAC安全受到威胁之前,确实需要进行非常强大的攻击; 对SHA-1的现有碰撞攻击当然不构成此类攻击.HMAC专门设计用于使攻击变得困难,普通的碰撞攻击通常不够:

这里给出的消息认证机制的安全性取决于散列函数H的加密属性:对碰撞发现的抵抗(限于初始值是秘密和随机的情况,以及函数的输出未明确可用于当应用于单个块时,攻击者)和H的压缩函数的消息认证属性(在HMAC中,这些块对攻击者来说部分未知,因为它们包含内部H计算的结果,特别是不能完全选择由攻击者).

我建议阅读整篇文章; 它进入究竟是什么攻击更详细足以打破的HMAC,只是多少努力将需要.