证书透明度(英语:Certificate Transparency,简称CT)也称证书透明证书透明化,是一个实验性的IETF开源标准[1]开源框架,目的是监测和审计数码证书。透过证书日志、监控和审计系统,证书透明度使网站用户和域名持有者可以识别不当或恶意签发的证书,以及识别数码证书认证机构(CA)的行为。

证书透明度的工作始于 2011 年,当时数码证书授权单位DigiNotar受到攻击并开始颁发恶意证书。至2021年,公开信任的TLS证书必须强制实现证书透明度,但其他类型的证书则未有相应要求。[2]

背景

当前的数码证书管理系统中的缺陷正使欺诈证书导致的安全问题和隐私泄露风险变得日益明显。

2011年,荷兰的数码证书机构DigiNotar英语DigiNotar入侵者利用其基础设施成功创建了超过500个欺诈性数码证书后申请破产[3]

Ben Laurie英语Ben Laurie和Adam Langley构思了证书透明度,并将其框架实现为开源项目。

优点

数码证书管理的问题之一是,欺诈性证书需要很长时间才能被浏览器提供商发现、报告和撤销。证书透明度有助于避免骇客在未经网域持有者知情下为网域颁发证书。

证书透明度不需要侧信道通信来验证证书,这些由在线证书状态协议(OCSP)或Convergence英语Convergence (SSL)等技术完成。证书透明度也不需要信任第三方。

证书透明度日志

证书透明度依赖于可验证的证书透明度日志。日志会将新的证书添加到不断增长的哈希树中。[1]:Section 3 为正确完成该行为,日志必须:

  • 验证每个提交的证书或预证书是否有有效的签名链,链条链向受信任的根证书颁发机构证书。
  • 拒绝发布无有效签名链的证书。
  • 存储新接受的可链向根证书的证书。
  • 根据请求提供此链的审计。

日志可以接受尚未完全生效或者已过期的证书。

证书透明度监视器

监视器是作为日志伺服器的客户端,检查日志以确保其行为正确。如发生不一致则表示日志没有正确运行。日志的数据结构散列树(Merkle tree)上的签名防止日志否认不良行为。

证书透明度审计器

审计器也作为日志伺服器的客户端运行。证书透明度审计器使用有关日志的部分资讯验证日志及其他部分的资讯。[1]:Section 5.4

证书颁发机构实现

2013年3月,Google推出其首个证书透明度日志。[4] 2013年9月,DigiCert成为首个实现证书透明度的数码证书认证机构[5]

Google Chrome在2015年开始要求新颁发的扩展验证证书(EV)提供“证书透明度”。[6][7]因为被发现有187个证书在未经域名所有者知晓的情况下被颁发,赛门铁克(Symantec)被要求自2016年6月1日起新颁发的所有证书必须配备证书透明度。[8][9]

2017年4月,Google将原定于2017年10月要求Chrome将要求所有SSL证书支持证书透明度(CT)的日期推迟至2018年4月,以给行业更多准备时间[10]

参考资料

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.