KNOWLEDGE ARTICLE

证书透明度 是什么?

Certificate Transparency、CT 日志

通过公开可审计日志记录证书签发事件。

核心解释

证书透明度让域名所有者和研究人员更容易发现误签或异常证书。日志记录提高可观察性,但不会自动阻止全部错误签发。

证书透明度如何让签发事件可审计

证书透明度(CT)要求公共证书进入公开、只追加且可审计的日志。日志返回签名证书时间戳(SCT),浏览器可据此确认该证书已承诺被记录;域名所有者和研究人员则能监控异常或意外签发。

CT 不是公开私钥,也不证明证书内容永远正确。它把原本只发生在 CA 与申请者之间的签发事件变得可观察,让错误更容易被发现和追责,但撤销、修复和账号安全仍需后续流程。

日志如何做到只追加并可验证

  • 日志以 Merkle Tree 组织证书条目,签名树头承诺特定时间点的条目数量与根哈希。
  • 包含证明可验证某张证书位于树中,一致性证明可验证新树是在旧树基础上追加而不是悄悄改写历史。
  • SCT 可以嵌入证书、TLS 扩展或 OCSP 响应,浏览器根据策略检查数量、日志资格和时间要求。
  • 监视器持续下载和检查日志,审计者验证证明;多方观察可以增加日志作恶或分裂视图被发现的机会。
证书透明度日志通过 Merkle Tree 提供包含证明和只追加一致性验证
证书透明度的只追加公开账本解释证书条目、叶节点、树根、包含证明与一致性证明

CT 监控如何用于域名资产发现

搜索证书名称可以发现新子域、第三方证书和品牌相似域线索。由于日志保存历史签发,结果中也会包含已经下线、验证失败或从未公开服务的名称,不能把每个条目都当成当前在线资产。

组织可以监控主域与相似名称,发现非预期证书后核对申请来源、DNS 控制和供应商。响应可能包括撤销证书、修复账号、收敛域名验证权限与检查是否存在更广泛入侵。

实际应用与信息解读

日志条目可以确认某个证书或预证书曾被提交,并提供签发时间、CA 和 SAN 线索。它不能单独证明该主机当前存在、证书最终部署或域名属于同一业务。

当前证书携带有效 SCT 时,可以说明其满足相应 CT 提交信号。未取得 SCT 可能来自连接数据不完整、客户端策略差异或非公共信任场景,状态应按证据保留未知。对历史条目还应区分预证书、最终证书与当前部署证书,避免把一次签发记录误写成持续在线服务。

重点关注

CT 记录可用于证书监测与资产发现,不能直接证明日志中出现的主机目前仍在线或由同一团队管理。

常见问题

CT 日志会公开证书私钥吗?

不会。日志记录证书或预证书的公开内容,私钥不应离开证书持有者控制环境。

CT 中出现子域代表它现在可以访问吗?

不代表。日志包含历史和预证书条目,主机可能从未上线、已经下线或只用于内部命名。

发现异常证书后 CT 会自动撤销它吗?

不会。CT 提供可观察性,域名所有者仍需联系 CA、调查验证渠道并执行撤销和安全修复。

权威资料