课题研究 PKI与证书信任安全 子课题04 · 第04页 / 共8页
04子课题 · 证书验证机制演进(OCSP/CRL/CRLite/短寿命)

证书验证机制演进第04页:缓解机制谱系(二):浏览器私有推送方案(CRLSets/OneCRL/CRLite)

当查询式吊销被判死刑,浏览器厂商转向自建推送管道:CRLSets(Chrome,2012年起,约600KB精选集覆盖约1%吊销量)、OneCRL(Firefox,中间CA快车道)、CRLite(Firefox,基于CT全量证书枚举+压缩过滤器的全量吊销编码,有效覆盖约87.8%,每12小时增量更新、日均约300KB)。本页详述三代方案的机制、带宽经济与失效模式,记录CRLite从2017年论文到2025年8月Firefox 142全量执行的完整里程碑,以及微软7700万张批量吊销带来的压力测试实证;同时解析供给侧革命——Let's Encrypt于2025年8月6日永久关闭OCSP服务,查询式吊销的时代正式落幕。

CRLSetsOneCRLCRLiteClubcard布隆过滤器CCADBCT枚举推送式吊销Let's EncryptOCSP退役
本页定位浏览器推送线:架构 + 里程碑 + 容量实证
关键数据CRLite覆盖率约87.8%;日均约300KB增量;全量快照约4MB/45天
关键节点2025.8.6 LE关闭OCSP;Firefox 142全量执行CRLite

01 · 共同动因:浏览器为何要自建吊销管道

当Chrome在2012年默认关闭在线吊销检查时,行业的反应不是修复OCSP,而是承认一个工程判决:依赖订户主动查询的吊销机制,在软失败约束下无法提供对抗主动攻击的能力。浏览器厂商的共同出路是把吊销数据做成自己控制的分发管道:由浏览器生态聚合吊销源、按自己的节奏推送到客户端、在本地做硬失败判定。这条路线牺牲了“全量实时”,换来了三个决定性优势——隐私(无逐次查询)、可用性(本地判定无外部依赖)、可控性(推送内容完全由浏览器根程序治理)。CRLSets、OneCRL、CRLite是同一思想的三代实现,覆盖能力递增。

02 · CRLSets:Chrome的应急优先策略

  • 机制:Google维护一份小型吊销条目集合(经Google安全团队筛选的高优先级吊销,主要为中间CA证书与重大事件涉及的订户证书),以内置组件形式随Chrome更新推送。集合为紧凑的二进制格式,量级约数百KB。
  • 判定语义:证书在CRLSet中→硬失败拒绝;不在集合中→按未吊销处理。集合之外不做任何在线检查(2012年Chrome 19起对普通证书停用OCSP;2022年起EV证书也不再执行在线检查,CRLSet成为Chrome吊销判断的唯一依据)。
  • 覆盖边界:Mozilla披露的对照数据显示,CRLSet级精选集仅覆盖全球吊销量的约1%(约数万条 vs 全量数百万条活跃吊销)。这不是疏漏而是设计——CRLSets的目标从来是“挡住信任链级别的灾难性吊销”,而非逐张覆盖订户证书。
  • 更新通道:经Chrome组件更新机制分发,重大事件可加速推送(如CA误签事件)。

定位判读:CRLSets是“最低保障+最高确定性”的策略——它对CA级事件(中间CA被吊销)几乎100%硬失败生效,对普通私钥泄露事件则几乎完全依赖其他环节(短寿命、域名处置)。组织做应急决策时应假设:Chrome用户仅在“事件足够大到进入CRLSet”时才被保护。

03 · OneCRL:Firefox的中间CA快车道

OneCRL(Firefox,2015年起)与CRLSets同构,但有两个特点:①侧重中间CA与根级吊销——订户证书的吊销历史上极少进入OneCRL;②分发通道不同——经Firefox的Kinto远程配置/blocklist体系推送,历史上也支撑过插件与证书的紧急封锁。OneCRL的教训在于:即使推送管道完全受控,只要“吊销源→浏览器”的内容选择依赖人工策展,覆盖就无法全量化——这为CRLite的全量编码路线提供了动机。

04 · CRLite:全量吊销的压缩推送

4.1 设计前提与数据结构

CRLite(Larisch等,IEEE S&P 2017)的关键洞察是:CT日志可以枚举出当前未过期的全部公开信任证书,因此可以为每张证书预计算“吊销状态位图”,再用级联布隆过滤器把位图压缩到可推送的体积。过滤器只会有假阳性(把未吊销误判为吊销)而不会假阴性(把吊销误判为未吊销)——但假阳性同样不可接受,于是CRLite叠加一层分层缓存(缓存过滤器假阳性条目对应的签名证据,即“过滤器+补丁”两级结构):命中过滤器疑似吊销的证书,回查小体积的签名补丁集合确认真伪。2024年Mozilla进一步将底层过滤器升级为Clubcard数据结构(2024年12月公开论文与Rust实现,正式发表于IEEE S&P 2025),2024年10月的Firefox 132起支持Clubcard编码,11月的Firefox 133起支持增量更新。

4.2 数据源与覆盖

CRLite每天从CCADB聚合的约3000张CRL(合计约300MB原始数据)构建过滤器,结合CT日志提供的全量证书清单计算覆盖率元数据。截至Mozilla 2026年部署经验论文(ACM CCS 2026)报告:有效吊销覆盖率约87.8%(Firefox遥测,截至2026年1月的90天窗口);未覆盖部分主要源于个别CA未按规范提供CRL或覆盖元数据缺口,浏览器对未覆盖证书回退到传统策略。更新节奏为每12小时一次增量推送。

4.3 带宽经济性

Mozilla官方披露的运行数据:客户端平均每日下载约300KB增量、每45天左右一次约4MB的完整快照。对比“直接订阅全量CRL需数百MB”,压缩比达到三个数量级——这是“全量吊销可推送”假设的实证。

4.4 部署里程碑(全部公开可查)

时间里程碑
2017CRLite论文发表于IEEE S&P 2017(级联布隆过滤器+缓存补丁的两级结构)
2019.10Firefox 70加入CRLite客户端支持(需手动开启)
2021回退遥测机制上线:过滤器与事实冲突时上报,用于度量误报
2022.5Firefox 100开启“Confirm Revocations”混合模式:CRLite判定吊销时回查OCSP确认
2024.9—11Firefox 128.2引入过滤器通道;132支持Clubcard编码;133支持增量更新
2025.2—4135 Nightly进入执行模式;137(2025年4月)桌面用户默认执行:CRLite判定吊销即硬失败,不再回查OCSP
2025.8Firefox 142对DV证书停用OCSP回退(CRLite自此成为Firefox桌面唯一吊销判定来源,全量执行自137版起);期间处理了2025年3月的预证书签名证书CT条目误报事件(详见第6页)
2025.11移动端上线高优先级吊销子集通道(受流量约束的分档策略)

4.5 2025年压力测试:微软7700万张批量吊销

微软2025年5—11月分周撤销超7700万张证书,被Mozilla称为CRLite的“极端压力测试”:活跃吊销总量从约400万激增至约610万,其间增量更新体积一度达到约400KB/期。CRLite流水线经受住了数量级跃迁,验证了Clubcard+增量架构的容量弹性(ACM CCS 2026部署论文)。

推送式吊销方案的覆盖与体量对比
量级示意:全量活跃吊销(CCS 2026论文遥测口径)vs Chrome CRLSet精选集(约1%)
来源:Mozilla Hacks(2025年8月19日)与ACM CCS 2026 CRLite部署论文(Fooda等)披露的遥测数据;CRLSet量级参考Mozilla披露的对照说明(精选集约600KB、覆盖约1%吊销量)。

05 · 供给侧革命:Let's Encrypt停用OCSP

推送式方案能否成立,取决于CA侧的吊销数据源是否仍然可聚合。2024—2025年Let's Encrypt的OCSP退役是供给侧的标志性事件:

时间动作
2024.7.23宣布计划以CRL替代OCSP(《Replacing OCSP with CRLs》)
2024.12.5正式宣布2025年结束OCSP支持(《Ending OCSP Support in 2025》)
2025.1.30停止签发带Must-Staple扩展的新证书(OCSP供应端开始收缩)
2025.5.7新签发证书不再内嵌OCSP URL(此前数月已加入CRL URL)
2025.8.6OCSP服务永久关闭——运营压力之大致使此举被行业视为里程碑:峰值期每周约830亿次请求经CDN承载(约87%由CDN缓存吸收)

同期,CA/B论坛Ballot SC-063v4(2023年7月通过)已使OCSP服务对CA由强制转为可选,多家头部CA陆续收缩OCSP服务。补充事实:Let's Encrypt自2022年9月起即已并行发布CRL,吊销数据的连续性为本次切换提供了缓冲。查询式吊销的供给侧正在系统性收缩,CRL+推送式过滤器成为唯一被生态共同押注的路线——这构成本课题“后OCSP时代”判断的事实基础。

06 · 三方方案对比与失效模式

维度CRLSets(Chrome)OneCRL(Firefox)CRLite(Firefox)
覆盖目标高优先级精选(CA级为主)中间CA为主全量(当前约87.8%)
条目量级约600KB集合,覆盖约1%吊销量小型集合全量数百万条编码为日均约300KB增量
更新节奏组件更新驱动,事件可加速Kinto远程配置每12小时增量+约45天全量快照
判定语义集合内硬失败,集合外不查同上过滤器命中→补丁层确证→硬失败
主要失效模式普通订户证书吊销不可见覆盖窄未覆盖CA回退软失败;过滤器误报(2025年3月事件)需补丁层兜底
隐私完全本地完全本地完全本地(含回退确认阶段后的纯本地判定)

对组织决策的含义:不要以“我的证书已吊销”作为安全事件的收尾标准。2025年后比较稳健的心智模型是——吊销对Chrome用户≈仅CA级事件有效;对Firefox桌面用户≈87.8%有效;对移动端与Safari用户效果更弱。事件收尾标准应是“私钥/域名控制已收回+CA吊销+域名与内容处置+用户侧通知”四件套(第7页SOP)。

本节参考来源(本页)

以下均为真实可查的权威来源,用于支撑本页事实性表述。

[1]

Adam Langley:《CRLSets》(2012):imperialviolet.org/2012/02/05/crlsets.html;《Revocation checking and Chrome》(2011):imperialviolet.org/2011/03/18/revocation.html。

[2]

Larisch, J. et al.:《CRLite: A Scalable System for Pushing All TLS Revocations to All Browsers》,IEEE S&P 2017(级联布隆过滤器+缓存补丁两级结构):jhalderm.com/pub/papers/crlite-sec17.pdf。

[3]

Mozilla Hacks:《CRLite: Fast, private, and comprehensive certificate revocation checking in Firefox》(2025年8月19日,部署里程碑、带宽与遥测数据):hacks.mozilla.org。

[4]

Fooda等:《The Deployment of CRLite in Mozilla Firefox》,ACM CCS 2026(87.8%覆盖率、微软2025压力测试、移动端通道):taejoong.github.io/files/publications/fooda-2026-tls.pdf。

[5]

Mozilla安全博客CRLite四部曲(2020年1—12月,Nightly/Beta/1% Release分阶段灰度验证):blog.mozilla.org/security;Let's Encrypt:《Replacing OCSP with CRLs》(2024年7月23日):letsencrypt.org/2024/07/23/replacing-ocsp-with-crls.html;《Ending OCSP Support in 2025》(2024年12月5日):letsencrypt.org/2024/12/05/ending-ocsp。

[6]

Mozilla Wiki:OneCRL项目页(中间CA吊销推送机制):wiki.mozilla.org/Security/OneCRL;Firefox版本发布说明(128.2/132/133/137/142相关条目):mozilla.org/firefox/releases。

[7]

Let's Encrypt:Clubcard论文与Rust实现(2024年12月,CRLite底层数据结构升级):letsencrypt.org/2024/12/11/introducing-clubcard。