因此,现在,Google 正在推动从 SHA1 签名证书迁移到 SHA256 签名证书。我的理解是您不能使用 SHA1 来签署证书,但 HMAC-SHA1 仍然可以在您的密码套件中用作 MAC。这个对吗?或者使用 HMAC-SHA1 的证书也会被谷歌和其他人拒绝吗?
Google 会阻止 HMAC-SHA1 和 SHA1 签名证书吗?
信息安全
证书
沙
2021-08-18 08:42:42
2个回答
由于 HMAC 如何工作的数学,哈希算法的弱点并不自动意味着基于它的 HMAC 也很弱。这可能看起来违反直觉,但归结为 SHA1 中的已知弱点与冲突有关,并且由于构造方法而不能应用于 HMAC。事实上,即使是 HMAC-MD5 仍然相当安全,即使 MD5 被认为是完全损坏的。
所有这一切都意味着谷歌目前没有任何迹象表明要退役 HMAC-SHA1。他们可能希望在未来,特别是如果发现针对 SHA1 的不同形式的攻击,但目前唯一已知的破解 HMAC-SHA1 的方法是暴力破解密钥,在合理的密钥选择过程中,这应该是真正的难的。
为了补充@Matthew 的观点(这是非常正确的):HMAC 的安全性被证明是好的,只要底层哈希函数建立在满足某些特定属性的内部“压缩函数”之上。众所周知,MD5 和 SHA-1 并不能满足所有这些属性(因为这样它们也可以理想地抵抗碰撞,但事实并非如此),但这只会使证明无效。它不会变成真正的攻击。没有安全性证明并不是没有安全性的证明。
在 SSL/TLS 中,HMAC 用于两个地方:用于记录的完整性检查,以及作为用于将密钥派生为其他密钥的内部“PRF”的一部分。直到并包括 TLS 1.1,HMAC/SHA-1 都用于这两个角色,这不是可选的。禁止 HMAC/SHA-1 真的意味着强制执行 TLS-1.2。目前,太多的 HTTPS 服务器仍然只支持 TLS-1.0,因此 Google 不能禁止 pre-1.2 协议版本。网络浏览器必须浏览。