证书透明度(Certificate Transparency,CT)是一项用于监控与审计数字证书的开源互联网安全标准。它要求所有已签发的证书都公布于公共日志中,以便任何相关方都能对其进行检查与验证。这些日志会按固定时间间隔接受审计,以确保添加其中的信息正确无误;各组织也会不时地检查这些日志,查看签发给自身实体的所有证书。如果发现未经其授权的证书,他们可以迅速联系签发该证书的 CA 并撤销该证书。

Google 关于 CT 政策的更新

Google 正持续努力让 Web 尽可能安全。在宣布 Google 将针对非 HTTPS 网站显示"不安全"标签之后,如今 Chrome 68 将不再信任那些在 2018 年 7 月之后签发的、不符合其证书透明度(CT)政策的 SSL 证书。实施这一变更的计划最早于 2016 年 10 月宣布,并计划在 2017 年 10 月前强制执行新政策。在描述该计划的论坛帖子中,公司当时表示:

"2017 年 10 月或之后签发的公开受信任网站证书,将被期望符合 Chrome 的证书透明度政策,方能获得 Chrome 的信任。Chrome 团队认为,证书透明度生态体系已经发展到足以让 2017 年 10 月成为这一要求可行且现实的目标。"

然而,当 CA、透明度日志运营方、服务器开发者与企业对政策执行的时间表提出担忧后,Google 修订了时间表并将其延长至 2018 年 4 月。公司在官方 Chromium 论坛的帖子中写道:"我们将继续推进我们的计划,从 2018 年 4 月起,要求所有新签发的、公开受信任的证书符合证书透明度要求。"

2018 年 4 月这一 CT 执行的截止日期虽已过去,但它要到 Chrome 68 发布才会正式生效。如果您的 SSL 证书没有在公共证书日志中注册,且您的网站通过不合规的连接提供服务,用户将看到整页警告,提示该站点不符合 Chromium CT 政策。

Google 工程师 Devon O'Brien 在 Google 群组讨论中表示:"在 68 版本中,Chrome 将开始强制要求所有在 2018 年 4 月 30 日之后签发的 TLS 服务器证书符合 Chromium CT 政策,方能获得信任。尽管有报道称用户将从今天起开始看到这些警告,但在 Chrome 各发布渠道所对应的下列日期之前,站点不会受到影响。"

发布渠道 | 大致日期
Chrome 67 及更早版本 | 不受影响
Chrome 68 Beta | 约 2018 年 6 月 7 日
Chrome 68 稳定版 | 约 2018 年 7 月 24 日

此时,您或许会疑惑这一切的 fuss 究竟为何,以及为何 CT 对 Google 如此重要。我们将尝试以简明的方式向您解释。

关于 Google Chrome 的 CT 政策

Google Chrome 的 CT 政策要求未来签发的所有新证书都必须被纳入公司认可的某一 CT 日志中。如果某张证书未出现在任何 Google 认可的 CT 日志中,它将无法获得 Chrome 的信任。Google 所信任的 CT 日志可在 Github 上的官方 Chromium CT 政策页面查看。如果任何网站使用了未包含在该页面所列日志中的证书,其访客将看到 SSL 不合规连接警告。

CA 的职责

Google 最初让网站强制使用 SSL 证书——那是站点所有者购买以保护在线交易的职责。然而,如今 Google 提出的这一新要求,责任落到了证书颁发机构(CA)身上。没错——确保他们所签发的证书具备纳入 Google 受信任 CT 日志的资格,是 CA 的职责所在;否则,这些证书可能无法被纳入日志,从而导致其关联网站在 Chrome 中引发 SSL 错误。Google 在论坛帖子中亲自阐明了 CA 的这一责任,公司表示:

"签发带有嵌入式 SCT 的 TLS 证书的 CA,应确保它们符合 Chromium CT 政策中合格证书的要求,以维持其在 Chrome 中的功能。"

尽管这一政策仅适用于 2018 年 4 月之后签发的证书,Google 同时也鼓励 CA 将更早期的证书也纳入 CT 日志。在回应相关问题的另一篇论坛帖子中,公司表示将鼓励所有 CA 记录先前的证书(这一过程被称为"签发后记录,logging post-issuance")。

结语

证书透明度能够让 Web 比现在更加安全,这正是 Google 强制推行它的原因。对于网站所有者而言,它提供了一种轻松的机制来追踪签发给其组织的所有证书。简而言之,若能在整个 Web 上加以实施,它将让伪造证书的签发变得极其困难,从而封堵证书体系中的一个重大漏洞。大多数 CA 已经在发布证书透明度日志,并与 Google 携手共建真实而安全的互联网世界。