本文详细阐述了Certificate Transparency(CT)的概念、作用、工作原理、以及CT的应用对比等信息。

什么是CT

证书透明度(Certificate Transparency,简称CT)是Google提倡的为了提高SSL/TLS上信赖度的新技术。现在已被RFC化(RFC 6962),用于防止证书误发行的技术而备受注目。

CT的作用

CT的作用是每当 Certificate Authority (CA)机构签发证书时,将所有证书的签发行为都记录到审计日志中。通过这个审计日志服务器,网站运营者、域名管理者等人员确认自己的域名对应的证书有无被其他CA机构签发,以此来防止非正常签发的可信证书被他人滥用。

虽然CT看起来仅仅起着提高证书可信赖度的作用,但并不意味着其他没有CT的证书是不可信的。

CT的工作原理

CA机构一旦向审计日志服务器提供证书,审计日志服务器就返回Signed Certificate Timestamp(证书签署时间戳,简称SCT)。SCT是审计日志服务器在最大延迟周期(Maximum Merge Delay,简称MMD)内用于保证证书数据格式化的时间戳信息。TLS服务器(如:Web服务器)将从审计日记里取得SCT,然后与证书一起在TLS客户端 (如:浏览器)里给出提示。这样,TLS客户端就会根据获取的证书和SCT来确认审计日志中是否有该证书的记录。

CT的工作原理图如下所示:
006tKfTcgy1fp1q4gqsvxj30o60d5404.jpg

CT的应用对比

Google Chrome已经有加入CT的检测功能,可以表示出SSL证书是否符合CT标准(验证的话等于登录)。

  • 如果是未被证实在审计日志上有记录的证书,你会收到以下提示:
    006tKfTcgy1fp1qh47ccjj30li0f7q3u.jpg

  • 正常情况下,SSL证书证书在审计日志上有记录的显示为:
    006tKfTcgy1fp1ql1vs1gj30mn0q3myw.jpg

更多信息

Google宣布的Chrome浏览器对CT的兼容路线中表明:

2015年1月1日之后,已发行的不带SCT的EV SSL证书将做成一个白名单。所有有效期晚于2015年1月的EV SSL证书的信息,有必要至少到审计日志去注册一下,用以加入白名单。

2015年2月1日之后,Chrome浏览器将会对那些既没在白名单上注册,又没注册CT的EV SSL证书不展现固有EV标识(即不在绿色地址栏里显示组织名)。

2015年3月30日之后,满足以下条件的EV SSL证书,在Chrome浏览器中将和普通SSL服务器证书相同显示。但其它的浏览器中能正常显示EV证书效果:

  • 条件1: 2015年1月1日之后发行的

  • 条件2:没有注册CT

  • 条件3:使用Chrome 41以后版本

所以,为了EV SSL证书能在绿色地址栏里正常展现公司名,有必要注册下CT。Symantec公司也在 2014年12月提供对应的是否注册CT的可选项(默认勾选CT项)。

2018年4月开始,Google宣布将要求所有新颁发的公开信任证书开始申请证书透明度,如下所示:

006tKfTcgy1fqsbc66svzj315c04iq3x.jpg
更多官方公告参阅Certificate Transparency in Chrome - Change to Enforcement Date