证书透明化:SSL/TLS安全的重大飞跃

本文详细解析了证书透明化(Certificate Transparency)的概念、工作原理及其在检测错误证书和增强SSL/TLS安全方面的重要性,并探讨了日志服务器、监控服务和审计服务的作用。

证书透明化意味着什么,再次说明?

Brian King //
咨询提示: 本博客文章中引用的技术和工具可能已过时,不适用于当前情况。然而,这篇博文仍有可能作为学习机会,并可能更新或集成到现代工具和技术中。

本周来自Google的消息称,Chrome将从一年后开始强制执行证书透明化。
https://groups.google.com/a/chromium.org/forum/#!topic/ct-policy/78N3SMcqUGw
这意味着当Chrome联系网站时,如果发现证书不符合透明化要求,Chrome将不会加载页面。他们现在宣布这一点,以便相关方可以评论并可能影响其实施细节。

那么,什么是证书透明化,为什么你应该关心它?
证书透明化是一种检测错误证书的方法。错误证书是指以某种方式错误颁发但不是伪造的证书。我们现有的公钥加密和浏览器中受信任的CA存储已经检测伪造和无法验证的签名,这就是触发浏览器中熟悉的证书警告的原因。

在另一种意义上,错误证书是指未经CA有效同意或未正确验证请求者是否有权代表相关域名操作而颁发的证书。这些问题的根本原因包括伪造身份文件、被劫持的验证步骤、受损的根证书、恶意内部人员以及流氓或行为不当的证书颁发机构。

证书透明化通过使用独立的、可加密验证的、仅追加的日志来实现,这些日志提供有关证书的信息。任何人都可以向这些日志提交证书,任何人都可以查询它们以查看特定证书是否在其中。将有许多独立运行的日志服务器。证书颁发机构可能会运行自己的服务器,并在颁发证书时自动提交,但任何人都可以运行一个。Google的公告意味着,如果Chrome从网站获取证书但无法在其中一个日志中正确注册该证书,Chrome将以某种方式发出警告。

监控服务将密切关注这些日志服务器。这些服务将查找以某种方式“错误”的证书。例如,可能设置了CA位的服务器证书,因此可以签署其他证书。或者证书由合法CA的根证书签署但实际上并非由该CA颁发。这是CA运行自己的日志服务器的原因之一:如果他们看到使用其密钥签署的证书出现在其他人的日志服务器中但不在自己的服务器中,就该按下紧急按钮——有人滥用了他们的签名密钥。

审计服务将在管理层面确保日志正常运行。例如,它们将通过验证加密签名来确保日志未被篡改。这些服务还将查找单个证书以查看它们是否存在于给定日志中。你的浏览器将内置一个有限目的的审计器。

似乎所有这三个角色都将由证书颁发机构、浏览器供应商、学者和研究人员来执行。

这是向SSL/TLS安全独立验证迈出的巨大一步,并为我们所有人隐式授予浏览器中内置的长长证书颁发机构列表的盲目信任提供了强有力的补充。

如果你运营网站或任何由证书保护的服务,请了解更多:https://www.certificate-transparency.org/

这一切都是通过Ivan Ristić发布的Feisty Duck通讯引起我的注意——一个了解SSL/TLS问题的绝佳场所。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计