证书透明度:SSL/TLS安全的新守护者

本文详细解析了Google Chrome即将强制实施的证书透明度机制,探讨了如何通过独立可验证的日志系统检测异常证书,增强SSL/TLS安全性,并解释了CA运行监控服务的重要性。

证书透明度意味着什么?

作者:Brian King,信息安全301
咨询提示:本文提及的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习资源,并可能为现代工具和技术的更新或整合提供参考。

Google本周宣布,Chrome浏览器将在一年后开始强制实施证书透明度要求。
https://groups.google.com/a/chromium.org/forum/#!topic/ct-policy/78N3SMcqUGw

这意味着当Chrome访问网站时,如果发现证书不符合透明度要求,将拒绝加载页面。Google提前宣布此政策是为了让相关方有机会提出意见,可能影响实际实施细节。

什么是证书透明度?为何需要关注?

证书透明度是一种检测异常证书的机制。异常证书指签发过程存在错误但并非伪造的证书。现有的公钥加密技术和浏览器内置可信CA存储库已能检测伪造证书和无法验证的签名,这正是触发浏览器证书警告的原因。

另一种异常证书是指未经CA有效同意签发,或未正确验证请求者是否拥有相关域名权限的证书。这类问题的根本原因包括伪造身份文件、劫持验证流程、根证书泄露、恶意内部人员以及流氓或行为不端的证书颁发机构。

如何实现证书透明度?

证书透明度通过独立、可加密验证、仅追加的日志记录证书信息实现。任何人都可以向这些日志提交证书,也可以查询特定证书是否存在于日志中。未来将存在大量独立运营的日志服务器。CA可能会运行自己的日志服务器并自动提交签发的证书,但任何人都可以运行此类服务器。

Google的公告意味着,如果Chrome从网站获取证书但无法在任一日志中找到正确注册记录,就会以某种方式发出警告。

监控与审计服务

监控服务将持续监视这些日志服务器,检测各种"错误"证书。例如:设置了CA位的服务器证书(可签署其他证书),或由合法CA根证书签名但实际并非该CA签发的证书。这也是CA运行自身日志服务器的重要原因:如果发现用自身密钥签发的证书出现在他人日志中却不在自己的日志中,就需要立即警惕——有人滥用了他们的签名密钥。

审计服务将在管理层面确保日志正常运行,例如通过验证加密签名确认日志未被篡改。这些服务还会查询单个证书是否存在于特定日志中。浏览器将内置功能有限的审计器。

预计证书颁发机构、浏览器厂商、学术界和研究人员将共同承担这三类角色。

重要意义

这是向SSL/TLS安全独立验证迈出的巨大一步,为我们盲目信任浏览器中冗长的CA列表提供了强有力的补充。

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

本文内容源自Ivan Ristić发布的Feisty Duck新闻通讯——跟踪SSL/TLS问题的绝佳资源。

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