当谷歌在 Chrome 中逐步淘汰它们时,为什么谷歌仍在其自己的网站上使用 sha1 证书?

信息安全 tls 谷歌
2021-08-26 08:04:24

Firefox 开发工具显示https://www.google.com正在使用使用 SHA1 签名的证书。当 Google 自己逐步淘汰证书时,为什么要这样做?

这不应该只会损害谷歌的声誉和利益吗?

3个回答

这可能是“做我说的,而不是我做的”的情况。请注意,Chrome 抱怨使用 SHA-1 来签署有效期超过 2015 年底的证书。在这种情况下,Google 的证书是短暂的(目前,他们使用的证书是在 2015 年 6 月 3 日颁发的,并且将于 2015 年 8 月 31 日到期),从而避免了 Chrome 对 SHA-1 的报复性诅咒。

使用短期证书是个好主意,因为它提供了很大的灵活性。例如,谷歌可以使用 SHA-1(尽管 Chrome 的立场很严格),因为用于保证证书完整性的算法不需要在证书到期后保持稳健;因此,他们可以将 SHA-1 用于有效期为三个月的证书,只要他们相信当浏览器确定 SHA-1 绝对是恶魔的工具时,他们至少会提前三个月收到通知,以被击中。

对他们为什么仍然使用 SHA-1 的猜测是,他们希望与一些尚不支持 SHA-256 的现有系统和浏览器进行互操作。除了 SP3 之前的 Windows XP 系统(应尽快从 Internet 上删除)之外,人们可能会认为仍然存在许多现有的防火墙和其他入侵检测系统,这些系统存在 SHA-256 问题。通过使用基于 SHA-256 的证书,Google 将承担使某些客户的网站“崩溃”的风险——这不是 Google 的错,但客户的诅咒并不总是公平的。

所以谷歌的策略似乎如下:

  • 他们将 Chrome 配置为在看到 SHA-1 证书延伸到 2016 年或更晚时发出尖叫和哀号。
  • 由于所有可怕的警告,现有 SSL 服务器(不是 Google 的)的用户开始放弃(例如,他们因为害怕而没有完成网上银行交易),迫使服务器管理员购买 SHA-256 证书。
  • 现在,这些新证书在必须使用过时浏览器或防火墙的穷人眼中“破坏”这些网站。这应该会迫使人们升级这些浏览器和防火墙。
  • 与此同时,谷歌的声誉毫发无损,因为他们的网站从未触发任何警告或破坏旧防火墙——因为它仍然使用 SHA-1!
  • 当全世界都切换到 SHA-256 并且所有防火墙都更新了,Google 的路径就变得清晰了,他们可以使用 SHA-256 来获取他们的新证书。

这是一个非常聪明(而且有点邪恶)的策略,如果他们能成功的话(而且,谷歌就是谷歌,我相信他们可以)。

元答案/评论。

回覆。Thomas 的回答:
我刚刚在Google.com 服务器上运行了 SSL Labs 扫描,看起来最终实体证书实际上是SHA256withRSA. 但是(单个)中间体只有SHA1withRSA. 不知道为什么。

截屏: SSL 实验室截图

正如 StackzOfZtuff 所指出的,SHA1 签名位于长期存在的¹中间 CA «Google Internet Authority G2»中。

此密钥对存储在 FIPS 140-2 3 级认证的硬件安全模块中,并在此生成。² HSM 本身能够使用 SHA1、SHA-256、SHA-384 或 SHA-512 进行签名。³

但是,HSM 证书的签名是由 GeoTrust(大概在 2013 年 4 月)使用他们的 GeoTrust Global CA根完成的,当时使用 SHA-1 签名很常见。可以通过 SHA256 根交叉签名并替换服务器发送的证书来用 SHA256 替换该签名,但尚未完成。

请注意,如果攻击者能够创建与 Google Internet Authority 冲突的 SHA-1 密钥,则旧签名仍然有效,⁴ 因此必须撤销中间 CA 密钥,因此可能对该交叉密钥没有兴趣。签名路径,而是等待 HSM 更换,我猜这将在未来 12 个月内执行。

¹ 格林威治标准时间 2013 年 5 月 4 日 15:15:55 至 2016 年 12 月 31 日 23:59:59

² https://pki.google.com/GIAG2-CPS-1.2.pdf第 6.1.1 节

³ 根据附录 B

⁴ 虽然所有 SHA-1 签名根都应该在可行时被撤销……