证书透明度也称证书透明、证书透明化,它是一个实验性的ietf开源标准和开源框架,目的是监测和审计数字证书。通过证书日志、监控和审计系统,证书透明度使网站用户和域名持有者可以识别不当或恶意签发的证书,以及识别数字证书认证机构的作为。
度(certificate transparency,简称 ct)也称证书透明、,它是一个实验性的 ietf 开源标准和开源框架,目的是监测和审计。通过证书日志、监控和审计系统,使网站用户和域名持有者可以识别不当或恶意签发的证书,以及识别数字证书认证机构(ca)的作为。
至 2021 年,公开信任的 tls 证书须强制实现证书透明度,但其他类型的证书则未有相应要求。
背景
当前的数字证书管理系统中的缺陷正使欺诈证书导致的安全问题与隐私泄露风险变得日益明显。
2011 年,荷兰的数字证书机构 diginotar 在入侵者利用其基础设施成功创建了超过 500 个欺诈性数字证书后申请破产。
ben laurie 和 adam langley 构思了证书透明度,并将一个框架实现开发为开源项目。
优点
数字证书管理的问题之一是,欺诈性证书需要很长时间才能被浏览器提供商发现、报告和撤销。证书透明度有助于避免黑客在未经网域持有者的知情下为网域颁发证书。
证书透明度不需要侧信道通信来验证证书,它们由在线证书状态协议(ocsp)或 convergence 等技术完成。证书透明度也不需要信任第三方。
证书透明度日志
证书透明度依赖于可验证的证书透明度日志。日志会添加新的证书到不断增长的哈希树。:section 3 为正确完成该行为,日志必须:
- 验证每个提交的证书或预证书是否有有效的签名链,链条链向受信任的根证书颁发机构证书。
- 拒绝发布无有效签名链的证书。
- 存储新接受的可链向根证书的证书。
- 根据请求提供此链的审计。
日志可以接受尚未完全生效或者已过期的证书。
证书透明度监视器
监视器是作为日志服务器的客户端,检查日志以确保行为正确。发生不一致则表示日志没有正确运行。日志的数据结构(merkle 树)上的签名防止日志否认不良行为。
证书透明度审计器
审计器也作为日志服务器的客户端运行。证书透明度审计器使用有关日志的部分信息验证日志及其他部分的信息。:section 5.4
证书颁发机构实现
2013 年 3 月,google 推出其首个证书透明度日志。 2013 年 9 月,digicert 成为首个实现证书透明度的数字证书认证机构。
google chrome 在 2015 年开始要求新颁发的扩展验证证书(ev)提供“证书透明度”。因为被发现有 187 个证书在未经域所有者知晓的情况下被颁发,赛门铁克(symantec)被要求自 2016 年 6 月 1 日起新颁发的所有证书必须配备证书透明度。
2017 年 4 月,google 将原定的 2017 年 10 月 chrome 将要求所有 ssl 证书支持证书透明度(ct)的日期推迟至 2018 年 4 月,以给行业更多准备时间