透明证书机制——安全审计


一些前置知识:
https://www.cnblogs.com/mysticbinary/p/17260648.html

证书透明(CT)的定义

CT的目的是监测和审计数字证书。透过证书日志、监控和审计系统,证书透明度使网站用户和域名持有者可以识别不当或恶意签发的证书,以及识别数字证书认证机构(CA)的行为。

简单来说就是为HTTPS提供一个可审计,可追究责任的一种提高互联网安全的机制。

CT可以增强互联网的安全性。具体如下:

  • 原理:证书透明要求所有的证书颁发操作都必须被记录和公开,实现对CA行为的监控和审计。当CA颁发一个新的SSL/TLS证书时,必须在证书中包含一个指向公开日志系统的引用,以便将该证书记录到日志中。同时,CA还需要将证书的哈希值提交给日志系统,以便进行查询和审计。日志记录必须具有不可篡改性、可验证性和可审计性等特性。

  • 作用:通过将所有颁发的SSL/TLS证书记录到公开的证书日志系统中,任何人都可以查询日志,验证其中记录的证书是否合法。如果发现有异常情况,例如虚假证书或自签名证书,就可以及时采取措施阻止攻击行为,有效地防止中间人攻击。同时,也能检测CA的滥用行为,若发现有大量虚假或欺诈性证书被颁发,可及时发现并追究相关责任人的法律责任。

  • 支持情况:现代浏览器对于证书透明度的支持已经相当广泛。例如,Chrome从版本68开始,要求所有新的网站证书必须遵守证书透明度政策;Firefox通过“安全连接失败”页面上的错误消息支持证书透明度;Safari也支持证书透明度,会检查网站证书中的相关信息;随着Edge转向Chromium内核,也继承了Chrome的证书透明支持;Opera基于Chromium内核,同样支持证书透明度,并会执行相关验证。
    注:至2021年,公开信任的TLS证书必须强制实现证书透明度,但其他类型的证书则未有相应要求。


CT审计的流程

image

  • CA一旦向审计日志服务器提供证书,审计日志服务器就返回Signed Certificate Timestamp(以下简称SCT,证书签署时间戳)。

  • SCT是审计日志服务器在特定的时间内(Maximum Merge Delay(MMD)称为最大延迟周期)用于保证证书数据格式化的时间戳信息。Web服务器之类的tls服务器将从审计日记里取得SCT,然后与证书一起在浏览器之类的tls客户端里给出提示。这样,Tls客户端就会根据获取的证书和SCT来确认审计日志中是否有该证书的记录。


识别网站是否使用了CT技术

image


image


Reference

https://razeen.me/posts/what-ct-is-and-how-it-works/

https://blog.cloudflare.com/introducing-certificate-transparency-and-nimbus/

https://www.trustasia.com/view-certificate-transparency/

From:https://www.cnblogs.com/mysticbinary/p/17488101.html
Mysticbinary
100+评论
captcha