| 此條目需要更新。 (2021年8月21日) 請更新本文以反映近況和新增内容。完成修改後請移除本模板。 |
证书透明度(英語:Certificate Transparency,简称CT)也称证书透明、证书透明化,是一个实验性的IETF开源标准[1]和开源框架,目的是监测和审计数字证书。透過证书日志、监控和审计系统,证书透明度使网站用户和域名持有者可以识别不当或恶意签发的证书,以及识别数字证书认证机构(CA)的行為。
證書透明度的工作始於 2011 年,當時數位證書授權單位DigiNotar受到攻擊並開始頒發惡意憑證。至2021年,公開信任的TLS證書必須強制實現證書透明度,但其他類型的證書則未有相應要求。[2]
背景
当前的数字证书管理系统中的缺陷正使欺诈证书导致的安全问题和隐私泄露风险变得日益明显。
2011年,荷兰的数字证书机构DigiNotar在入侵者利用其基础设施成功创建了超过500个欺诈性数字证书后申请破产。[3]
Ben Laurie和Adam Langley构思了证书透明度,并将其框架实现为开源项目。
优点
数字证书管理的问题之一是,欺诈性证书需要很长时间才能被浏览器提供商发现、报告和撤销。证书透明度有助于避免駭客在未經網域持有者知情下为網域颁发证书。
证书透明度不需要侧信道通信来验证证书,這些由在线证书状态协议(OCSP)或Convergence等技术完成。证书透明度也不需要信任第三方。
证书透明度日志
证书透明度依赖于可验证的证书透明度日志。日志会將新的证书添加到不断增长的哈希树中。[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]
参考资料
外部链接