Page 71 - Web性能权威指南
P. 71

全、证书颁发机构本身被冒名顶替,或者其他各种正常的原因,像以旧换新或所属
                 关系更替等。为此,证书本身会包含如何检测其是否过期的指令(图 4-7)。为确保
                 信任链不被破坏,通信的任何一端都可以根据嵌入的指令和签名检查链条中每个证
                 书的状态。






























                 图 4-7:igvita.com 证书中的 CRL 和 OCSP 指令(谷歌 Chrome v25)


                 4.5.1 证书撤销名单(CRL)

                 CRL(Certificate Revocation List,证书撤销名单)是 RFC 5280 规定的一种检查所
                 有证书状态的简单机制:每个证书颁发机构维护并定期发布已撤销证书的序列号名
                 单。这样,任何想验证证书的人都可以下载撤销名单,检查相应证书是否榜上有名。
                 如果有,说明证书已经被撤销了。

                 CRL 文件本身可以定期发布、每次更新时发布,或通过 HTTP 或其他文件传输协议
                 来提供访问。这个名单同样由证书颁发机构签名,通常允许被缓存一定时间。实践
                 中,这种机制效果很好,但也存在一些问题:

                 •   CRL 名单会随着要撤销的证书增多而变长,每个客户端都必须取得包含所有序列
                   号的完整名单;
                 •   没有办法立即更新刚刚被撤销的证书序列号,比如客户端先缓存了 CRL,之后某
                   证书被撤销,那到缓存过期之前,该证书将一直被视为有效。



                                                                     传输层安全(TLS)   |   53
   66   67   68   69   70   71   72   73   74   75   76