总结证书CT:证书透明度
证书部分,从服务器生成CSR证书请求文件开始,利用CSR生成自签名证书,然后开始校验,顺着证书链校验服务器身份,签名值,根证书等信息。签名值和根证书校验成功,只能表明该服务器证书是由某一个CA机构所签发的,之后还要校验证书是否已被吊销,可以从CRL校验或者OCSP校验两方面实现。除了OCSP校验是要向OCSP服务提供方进行请求校验外,其他如根证书校验或CRL校验,都是通过CA机构进行,作为校验的基础,或者说是信任的基础,浏览器会信任CA机构和OCSP服务提供商(否则校验也没办法进行),但是这会出现一个什么问题呢,如果CA机构在为服务器签发证书时错误验证服务器实体的身份,签发了一张不安全的证书,或者有人冒充某一个服务器实体去申请签发证书,如果CA机构没有正确验证身份后签发了一张证书,可能会让客户端错误地信任了某一服务器。 对于客户端来说,数字签名技术完成证书校验后,只能证明这个服务器证书确实是由某CA机构签发的,但不能保证它是一张正确的证书,如果这张证书是由别人冒充服务器身份申请的,那么接下来客户端和服务器进行通信,就等于是和冒充者进行通信,还记得中间方攻击吗?以上问题出现的原因,有CA机构自己的问题(签发过程出现身份校验问题),还有一个很重要的就是客户端(浏览器)对CA机构的信任。 证书透明度三个组件 针对上面的问题,证书透明度机制可以很好地解决,Certificate