我正在尝试了解Certificate Transparency。
假设我想窥探某人的电子邮件。所以我去破解或贿赂 CA,让他们为google.com颁发证书,然后在我 MitM 用户连接到 Gmail 时出示它。这是 CT 试图检测的情况,并允许 Google 找出虚假证书。
使用证书透明度,用户浏览器将要求我附上签名证书时间戳(SCT),证明证书已添加到日志中。
- 首先,是什么阻止了我设置自己的日志、制作 SCT 并且永远不会告诉 Google 或其他任何人?
- 浏览器能否判断日志是否合法?
- 浏览器或其 Auditor 组件是否将 SCT 发送到 Monitors?
或者,我可以破解/贿赂一个日志操作员来发布一个 SCT,它的树哈希将所有以前的证书一起。然后,当谷歌和其他人查询其证书链的日志时,它可以假装坏的 SCT 从未存在过。这将是日志中的一个分支。同样,Google 只会查明浏览器(审核员)是否将 SCT 发送到 Google 或其他监视器。
CT 网站提到“审计员和监视器通过八卦协议交换有关日志的信息”,但从未详细说明如何或何时。
- 具体来说,浏览器(审核员)如何知道要与哪些监视器对话?