本文详细阐述了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的工作原理图如下所示:
CT的应用对比
Google Chrome已经有加入CT的检测功能,可以表示出SSL证书是否符合CT标准(验证的话等于登录)。
-
如果是未被证实在审计日志上有记录的证书,你会收到以下提示:
-
正常情况下,SSL证书证书在审计日志上有记录的显示为:
更多信息
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宣布将要求所有新颁发的公开信任证书开始申请证书透明度,如下所示:
更多官方公告参阅Certificate Transparency in Chrome - Change to Enforcement Date。