摘要
- RFC 9841 为 Brotli 加入共享字典、大窗口和成帧格式;压缩端与解压端必须使用完全相同的字典。
- 字典被替换时,解压结果可能随之改变;攻击者若能控制输入并观察长度,字典和载荷还可能沿两个方向泄露彼此的信息。
- 可复现的运营单元不是孤立压缩包,而是载荷、字典加密摘要、来源与范围、时效、解码器版本以及是否允许压缩秘密的共同凭证。
同一个压缩对象,在两个边缘节点上得到不同结果。对象哈希一致,传输没有报错,解码进程也都存活。差异藏在对象之外:两个节点把同一个字典别名解析成了不同字节。
这类故障不是虚构标准的能力,而是用来说明 RFC 9841 所划出的控制边界。它在 2025 年 9 月以 Informational RFC 发布,正式记录、纯文本与XML 源文档共同定义 Shared Brotli Compressed Data Format。它更新 Brotli 的 RFC 7932,加入共享字典、大窗口和成帧能力。标准发布不证明任何浏览器、CDN 或服务端已经采用。
压缩对象不再自足
共享字典可以提供 LZ77 历史字节,也可以替换 Brotli 内置静态词表、替换转换规则,或按上下文选择组合。规范要求两端使用“完全相同”的字典,而不是同名、相似或由同一流程大致重建的字典。
因此,单独保存载荷哈希和 br 标签远远不够。最小凭证要把载荷与字典的加密摘要、构建来源、审阅者、许可范围、生效与回退版本、算法配置、成帧状态和解码器构建号绑定。若字典由多个资源拼装,拼装配方也是依赖。Zstandard 规范提供了旁证:外部字典的托管问题并非 Brotli 独有。
RFC 9841 定义了一个基于 256 位 HighwayHash 的标识,用于受信任的已知集合;同时明确指出,它不在对抗环境中提供碰撞安全。快速定位和恶意替换证明是两件事。供应链或不可信输入场景需要加密摘要,例如 SHA-256,还需要摘要所对应的来源链。
字典也是信息源
压缩会把“是否出现重复”反映到输出长度。攻击者若能控制一部分输入,再观察结果大小,就可能逐步检验对秘密的猜测。RFC 7457列出 CRIME 等已知攻击,CVE-2012-4929保留了公开事件记录,压缩侧信道研究则讨论更广的攻击族。
RFC 9841 带来的治理变化,是把字典列为数据源。字典可以暴露被压缩内容的信息,被压缩内容也可以反向暴露字典信息。如果字典来自认证页面、客户语句、近期工单或内部模板,把它打包成“性能文件”不会消除秘密。反过来,即便字典完全公开,只要私密载荷与攻击者可控片段进入同一压缩上下文,它也可能增强探测信号。
最强防御仍然是不在攻击者可观察的上下文压缩私密数据。同源、禁止跨域字典、减少攻击者控制、降低字典更新频率、隔离上下文,都只是缓解条件,不是安全证书。正确顺序是先对载荷、字典和可控前缀分类,再决定是否压缩,最后才比较节省率。
HTTP 把被遗漏的属性带回凭证
配套的 RFC 9842及其独立记录定义 HTTP 字典协商和 dcb、dcz 内容编码。Available-Dictionary 使用 SHA-256 摘要;候选字典必须满足同源与响应可读性规则,并且新鲜,或被明确允许在过期状态使用。必要缓解条件不成立时,客户端必须丢弃响应。
这些要求落在 HTTP 语义、HTTP 缓存和过期响应控制的环境中。RFC 6265提供了熟悉的 Cookie 状态范围参照。RFC 9842 还警告,字典哈希可能成为跟踪令牌,因此存储分区要至少达到 Cookie 分区的强度。
浏览器协商、缓存分区与跟踪机制值得另写一篇,不在本文展开。本文只提取一个直接结论:字典身份包含来源、读取权限、新鲜度和分区,文件名无法承担这些事实。
IANA 维护 HTTP 参数与内容编码注册表以及 HTTP 字段名注册表。RFC 9651体现结构化 HTTP 元数据的协调方式。登记证明名称得到协调,不证明具体实现支持,更不证明部署安全。
先测试依赖失效,再测试节省率
有意义的验证会主动破坏关联:保留名称却替换字节,强制选用旧版本,把正确摘要放到错误来源,切换解码器,在秘密旁插入可控短语,超过解压资源上限,再彻底移除字典。系统是闭合失败、明确回退,还是静默输出不同内容?
每个结果都要携带载荷与字典哈希、配置、成帧模式、解码器、来源和缓存状态。指标除了压缩比,还包括确定性、内存上限、延迟、长度方差与回退表现。无法说明“哪个字典产生这个数字”的性能图,不是生产凭证。
这也符合最小规范原则:共享标准协调不可再少的身份和安全约束,本地运营者决定哪些流量可压缩、秘密如何处理、何时更新。运行中的代码负责提供可验证回执。规范不应无限扩权,但本地团队也不能把能改变内容的依赖降格为普通缓存。
证据边界
本文没有测试浏览器、服务器、CDN、库、字典或真实载荷,也没有测量压缩比、CPU、内存、攻击成功率或泄漏速率。RFC 的发布状态不代表采用情况。
可以成立的结论是结构性的:解码所需的外部字节属于压缩资产;能通过长度与秘密发生耦合的外部字节也属于保密边界。共享字典或许真能省下带宽,但省下的每一个字节都必须带着完整依赖凭证。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
