我试图了解证书透明度如何解决不诚实的证书颁发机构在其证书中嵌入 SCT 的问题。我知道日志是仅附加的,服务器可以“证明”证书确实已记录。
假设我是一个流氓 CA,我想颁发一个证书,但还要将它记录到几个日志中。我为一个没人关心的域名(比如foobar.com)创建了一个证书,并将预证书提交到日志中。然后我可以取回 SCT。然后我可以删除毒扩展名,并paypal.com在 SAN 字段中添加另一个域名(例如),然后颁发证书。
是否有任何机制阻止我这样做?任何扫描 CT 日志的人都不会看到我为 颁发了证书paypal.com,但浏览器应该信任该证书,并且还会相信我已将证书提交到日志中。
CT 的真正目的是防止 CA 为其不应颁发证书。我确信有一些基线要求可以防止这种情况发生,如果他们被发现这样做,CA 将从受信任的根中删除。但是有没有任何加密安全的方法来防止这种情况?