Chrome 宣布 从2017年10月或之后签发的证书需要遵守它的证书透明度(Certificate Transparency) 政策才能被浏览器信任。
证书透明度是监视和审计数字证书的开放标准和开源框架,旨在防止伪造或错误签发的证书,增强浏览器安全和防止中间人攻击。要求证书透明度将是在线信任生态系统向前迈出的重要一步,Chrome团队认为到2017年10月证书透明度生态系统足以让这一要求成为一个可实现的现实目标。
什么是证书透明度(Certificate Transparency)
Certificate Transparency可以直译为证书透明度,由 Google 主导,并由 IETF 标准化为 RFC 6962。Certificate Transparency 的目标是提供一个开放的审计和监控系统,要求CA证书颁发机构公开宣布其颁发的每一个SSL证书,将其记录到证书日志中,可以让任何域名所有者或者 CA 证书颁发机构,确定证书是否被错误签发或者被恶意使用,从而提高 HTTPS 网站的安全性。
证书透明度(Certificate Transparency)的工作原理
Certificate Transparency整套系统由三部分组成:
- Certificate Logs证书日志;
- Certificate Monitors证书监视;
- Certificate Auditors证书审计。
即书所有者或者 CA 证书颁发机构都可以主动向 Certificate Logs 服务器提交证书,所有证书记录都会接受审计和监控。支持 CT 的浏览器(目前只有 Chrome)会根据 Certificate Logs 中证书状态,作出不同的反应。
CT系统是CA设施的一种补充,使之更透明、更实时,即CA创建预签证书(pre-certificate)提交到谷歌认证的CT Log Server(日志服务器),日志服务器返回一个"已签证书时间戳"(Signed Certificate Timestamp),称为SCT信息。SCT信息被嵌入到正式签发的证书中,或通过TLS模式部署到Web服务器中。完整的工作原理可以看官方文档:How Certificate Transparency Works。
简单地说:就是为合法签发的证书做了一个白名单,谷歌浏览器在验证证书的同时,也会去查看这个证书是不是在白名单里面,如果不在的话,则不会显示绿色地址栏及证书透明度信息。
(来源:Certificate Transparency Policy )