01 · 演进驱动力
CT架构正经历一次静悄悄的范式转移,驱动力来自三方面:
- 运维成本:传统RFC 6962动态日志需维护有状态Merkle树服务与大容量数据库(单分片数TB级)、处理并发追加、守住MMD承诺——违约即被浏览器列表移除,运营心理压力与技术复杂度双高;
- 数据规模:签发量从百万级/日迈向千万级/日,监控者与日志双方的读取/服务成本线性恶化;
- 短证书趋势:证书有效期持续缩短(Apple 398天限制已落地,行业讨论进一步缩短方向;Let's Encrypt 2025年起陆续支持短效证书),签发频率与日志写入压力持续放大。
CT v2(RFC 9162)曾试图从协议层重构,但未能获得产业部署(第2页§05);真正的答案来自架构层——Static CT API。
02 · Static CT API详解
Static CT API(C2SP标准化,v1.1.0为Chrome政策接受版本)将日志拆分为读写两条路径:写路径保持RFC 6962兼容(add-chain/add-pre-chain/get-roots,CA无感迁移);读路径彻底静态化:
- tiles分片:日志数据以固定256条/片的分片(tile/data/N)发布,配合哈希分片(tile/hashes/...)构成完整Merkle树,全部是不可变静态文件,可直接由对象存储/CDN分发;
- checkpoint锚点:每个树状态以checkpoint文件(含树大小、根哈希、签名)发布,监控者通过checkpoint diff实现低成本增量同步;
- 先落片后签SCT:条目先完成排序落片,再签发携带leaf_index扩展的SCT——收录即时可见,有效MMD趋近于零(Chrome政策要求静态日志MMD≤1分钟),签发延迟以秒计;
- issuer去重:分片内对证书链按issuer信息去重存储,显著压缩体积;监控者需拉取issuer bundle重建完整链;
- 带宽敏感选项:部分实现提供人类可读域名列表(JSON行),仅供低带宽客户端使用,不得替代密码学校验(C2SP规范明确注记)。
对监测管道的直接影响:采集器须新增tiles/checkpoint客户端(第3页§03),但获得三样红利——历史回扫不再受日志服务端限速约束(CDN任意并发)、数据即证据(不可变+checkpoint签名,司法取证友好)、断流恢复只需diff最新checkpoint。
03 · 开源实现谱系
| 实现 | 主体/时间 | 特点 |
|---|---|---|
| Sunlight | Filippo Valsorda设计,Let's Encrypt赞助;2024-03-14公开发布 | Go语言极简静态日志;Static CT API的参考实现与事实起源;Let's Encrypt生产日志Sycamore/Willow即基于此构建 |
| Trillian → Tessera/TesseraCT | Google(TrustFabric);2023—2025演进 | Google透明数据基础设施的静态化路线:Tessera提供通用静态tiles能力,TesseraCT面向CT场景 |
| Azul | Cloudflare;2025年3月开源发布 | CloudflareWorkers/对象存储原生静态日志(接替其早期Nimbus动态日志);全球边缘分发天然契合静态架构 |
| Itko、IPng系列等 | 社区/独立运营方 | 多样化静态日志实现,丰富生态多样性(降低单点依赖) |
| 监控侧:certstream-server-rust | 社区维护 | 流式推送服务器,支持RFC 6962+Static CT双协议采集、跨日志SHA-256去重、断点位点持久化 |
注:各实现发布细节以项目官方仓库/博客为准;生态列表可参考C2SP awesome-transparency。
04 · 浏览器路线与v1日志退场
| 时间 | 事件 |
|---|---|
| 2023 | Chrome日志政策开始接受静态API日志(前身Sunlight API);过渡期要求:静态日志SCT须与RFC 6962日志SCT并存提交 |
| 2024-03 | Sunlight 1.0公开发布,静态架构进入生产可用阶段 |
| 2025-08 | Let's Encrypt发布RFC 6962日志EOL计划 |
| 2025-11 | LE全部RFC 6962日志转为只读(2025-11-30);Sycamore/Willow获Chrome日志列表准入资格(qualified) |
| 2026-02 | LE RFC 6962日志停止服务(2026-02-28)——全球最大CA全面转入静态架构 |
- 对CA:静态架构运维成本大幅下降,中小运营方进入门槛降低,日志生态多样性受益;
- 对监控者:双协议采集成为长期常态(存量动态日志+新增静态日志并存多年);历史回扫与司法取证体验显著改善;
- 对研究:不可变tiles+checkpoint使"可复现的CT数据快照"成为标准能力,研究数据共享将更加规范。
05 · Gossip与审计强化
RFC 9163定义的Gossip协议(客户端间交换SCT/STH情报以检测日志合谋与分裂视图)虽未大规模部署,但其目标正在被新机制覆盖:
- C2SP witness/cosignature生态:第三方见证人(witness)对checkpoint进行共签(cosignature),任何日志无法在不留下分歧证据的情况下对不同客户端展示不同视图——sigsum、Go模块生态等均采用此思路;
- 浏览器合规监测:Chrome对入列日志的可用性与MMD进行持续主动监测,违规即移除——以"治理"替代"协议内检测"。
结论:审计强化的工程重心已从"去中心化协议(Gossip)"转向"静态数据+第三方见证+列表治理"的现实组合——对监测者而言,多方checkpoint互校(第3页§02)即是这一思想的最小落地。
06 · 透明日志思想的外溢
"公开、仅追加、可密码学审计的透明日志"已成为通用信任基建范式,CT是其最成功的实例。同族实践:
| 系统 | 领域 | 要点 |
|---|---|---|
| Go模块校验和数据库(sum.golang.org) | 软件供应链 | 2019年起运行;模块哈希进透明日志,go命令自动校验 |
| Sigstore Rekor | 软件供应链 | Linux基金会旗下;软件制品签名的公共透明日志,与CT同构 |
| Google Key Transparency | 账号密钥 | 端到端加密通信的公钥目录透明化,防密钥替换攻击 |
| Binary Transparency(Android/Play) | 应用分发 | 应用版本哈希透明日志,防静默替换 |
| Merkle Tree Certificates(MTC) | 证书体系 | IETF草案方向(draft-davidben-tls-merkle-tree-certs):以Merkle树批量签发短证书,面向后量子时代的带宽约束;草案阶段,以IETF官方状态为准:datatracker.ietf.org |
对课题的启示:CT监测积累的数据工程能力(tiles抓取、checkpoint校验、仅追加存储)可直接迁移至软件供应链透明日志监测等新兴场景。
07 · 隐私辩证
- 企业侧风险:证书SAN会暴露内部/未公开子域名("证书透明度泄露内部资产"是真实存在的安全社区议题)。缓解:内部系统使用内部CA;对外证书遵循最小化SAN原则;将CT监测纳入攻击面管理常规检查项;
- 双向透明:攻击者同样可见企业新证书与基础设施变化——透明是对称的。管理之道不是阻止公开(不可阻止),而是假设公开并管理暴露面;
- 法律视角:证书数据一般不构成个人数据(无注册人联系信息,第3页§08),但域名可能与个人/组织存在关联,分析与共享仍应遵循《数据安全法》《个人信息保护法》的最小必要原则。
08 · 中国语境下的落地路径
- 国内CA国际信任现状(客观陈述):部分国内CA的根证书已进入Mozilla等国际信任存储(具体名单以各根存储库为准),整体市场份额仍低;沃通(WoSign)2016年事件(第6页§04)与后续重建是重要镜鉴;CFCA等机构在金融场景保持国内主导地位;
- 商密体系对照:我国商用密码(SM2)体系采用独立信任链,不存在与公开CT对应的透明日志机制——本课题不臆造对应物,仅指出:公开Web PKI的CT治理经验(透明、可审计、可撤销)对任何信任体系均有参考价值;
- 需求侧:金融、电商、政务、出行等行业的品牌仿冒监测是境内强刚需,钓鱼短信(smishing)+仿冒HTTPS站点的链路已高度产业化;
- 落地建议:依托公共互联网反网络钓鱼工作组,联合CA、浏览器、安全厂商、注册服务机构共建本土证书透明度监测联盟——共享品牌词库命中、钓鱼issuer画像、团伙聚类情报,以CT数据为纽带串联域名注册数据(子课题01/05)与钓鱼URL情报,形成"注册—签发—解析—传播"全链条前置拦截。
研究展望:静态CT时代使"可复现证书数据快照"与"低成本全量回扫"成为标配——建议本课题下一步建设常态化.CN相关证书透明数据集(合规采集、脱敏发布),为学术研究与企业防御提供公共数据基础设施。
本节参考来源(第7页)
前瞻类内容标注了发布时间与状态;规范引用以原文为准。
Let's Encrypt《Introducing Sunlight, an open source CT log implementation》(2024-03-14):letsencrypt.org/2024/03/14/introducing-sunlight;Sunlight项目仓库:github.com/FiloSottile/sunlight;项目站点:sunlight.dev;CT v2部署现状的社区权威表态:community.letsencrypt.org/t/218492。
C2SP规范:《static-ct-api》c2sp.org/static-ct-api、《tlog-tiles》c2sp.org/tlog-tiles、《tlog-checkpoint》及witness/cosignature相关规范(审计强化生态)。
Chrome CT Log Policy(静态API准入、MMD≤1min、可用性99%):googlechrome.github.io/CertificateTransparency/log_policy.html;CT Policy v1.1(SCT要求):github.com/GoogleChrome/CertificateTransparency/ct_policy.md。
Let's Encrypt《End of Life Plan for RFC 6962 CT Logs》(2025年8月,官方博客;只读2025-11-30、关停2026-02-28;Sycamore/Willow生产日志):community.letsencrypt.org/t/243769(LE社区官方公告,内含EOL计划原文链接)。
Google透明数据基础设施:Trillian github.com/google/trillian、Tessera/TesseraCT github.com/transparency-dev;Cloudflare Azul(2025-04):github.com/cloudflare/azul(2025年3月开源;Cloudflare官方博客有配套架构介绍文章,以官方发布为准)。
透明生态全景:awesome-transparency:github.com/C2SP/awesome-transparency;CT社区站点:certificate.transparency.dev。
Russ Cox《Transparent Logs for Go Modules》(Go校验和数据库设计,2019):research.swtch.com/tlog;Sigstore Rekor:docs.sigstore.dev;Google Key Transparency:github.com/google/keytransparency。
RFC 9162(CT v2)与RFC 9163(Gossip):rfc-editor.org/rfc/rfc9162、rfc-editor.org/rfc/rfc9163;Merkle Tree Certificates(IETF草案方向):见transparent证书研究社区公开资料(草案阶段,以IETF官方状态为准)。
Apple《Certificate Transparency policy》:support.apple.com/en-us/103214(Apple亦在更新其日志准入要求,以官方文档为准)。
《中华人民共和国数据安全法》《个人信息保护法》及商用密码管理条例:gov.cn。