摘要
- RFC 9709 将内部内容加密
AlgorithmIdentifier的完整 DER 编码——包括参数——与原内容加密密钥一起输入 HKDF。 - 改写认证加密的算法标签或参数会使接收端派生出另一把密钥,攻击者因而得不到有用的 CBC 明文预言机。
- 这项控制抵御的是一种机密性转换攻击;它不证明发送者身份、内容安全性,也不授予后续业务行动权限。
真正被攻击的是“解释方式”
传统直觉把算法标识符看成密钥旁边的说明书。LAMPS 工作组研究的攻击说明,这份说明书本身也可能成为攻击面:拦截者取出由 AES-GCM 或 AES-CCM 保护的 CMS 内容,把选定密文块重新包装为 AES-CBC 内容,再诱使持钥系统处理。攻击者没有获得密钥,而是利用接收端返回的明文、解析结果或行为差异验证对低熵结构化数据的猜测。
这不是对任意邮件都立即奏效的万能解密术。IETF 118 的演示指出,常规 S/MIME 邮件可能只会变成明显乱码,应用也可能先拒绝损坏的头部,当时更无法确认哪些已部署系统真实易受影响。然而,这些是具体应用环境里的摩擦,不是可依赖的密码学边界。另一种 CMS 工作流也许会显示字段、生成回执、触发解析器或改变自动化状态,足以把猜测变成信息。
RFC 9709 因此不只认证算法名称,而是把解释密文所需的精确编码绑定到密钥。接收者先在 S/MIME 能力中宣告 id-alg-cek-hkdf-sha256,该宣告的参数必须缺省。发送者启用缓解措施时,外层 contentEncryptionAlgorithm 使用这个 OID;其必需参数承载真正的内部内容加密 AlgorithmIdentifier,其中包含算法及其参数。
随后双方用 HKDF-SHA-256 派生工作密钥 CEK-prime。原内容加密密钥作为输入密钥材料;盐值固定为 ASCII 字符串“The Cryptographic Message Syntax”;HKDF 的 info 是内部算法标识符的完整 DER 编码,包括序列标签、长度、OID 与编码参数。输出长度与原密钥相同,受 SHA-256 HKDF 的 8,160 字节上限约束。
精确到字节才是安全性质。把 GCM 换成 CBC、更改初始化向量或改动任何编码参数,接收端就会得到不同密钥。为原密钥制作的密文,无法在攻击者指定的新解释下提供有用试验。如果攻击者干脆删除外层缓解 OID,接收端会使用原密钥而非 CEK-prime;消息将无法访问,但仍不会吐出受保护明文。这里发生的是可用性损失,而非机密性失守。
不能用一个“解密成功”概括七层事实
生产证据至少要分清七件事:接收端是否宣告能力;发送端是否真的选择外层缓解 OID;内部算法及参数究竟是什么;派生时是否使用原样 DER 字节;内部模式要求的认证解密和附加数据验证是否成功;是否有明文、解析产物或行为信号越过信任边界;最终又是哪条策略允许保存、显示、转发或触发业务动作。
把这些压缩成一个“成功”状态,会同时遮蔽兼容故障和篡改企图。反过来,能够解析或解密也不构成来源证明。RFC 9709 是密钥分离机制,不是数字签名、信誉系统、恶意内容检测器或业务授权。
认证属性也要单独看待。RFC 9709 警告,未加密的消息摘要属性可能帮助观察者确认明文猜测;加密的陌生来信也可能绕开专为垃圾邮件或网络钓鱼设置的检测。只允许已批准来源是一种可选补偿政策,但它回答的是“是否接收该发送者”,不是“算法身份是否绑定”。
最小公共规则,端点本地验证
该规范固定使用 SHA-256,而没有引入可协商的 KDF 菜单;未来若更换散列函数,应分配新的对象标识符。这让公共规则保持窄而确定:识别外层结构,保留内部精确编码,派生密钥,再按内部算法完成认证或解密。
普通密钥卫生并未因此消失。内容加密密钥仍须由高质量随机源生成并妥善保护。RFC 5652 的 CMS 结构、RFC 5083 的认证信封数据、RFC 5084 的 AEAD 约定、RFC 5869 的 HKDF、RFC 8551 的 S/MIME 能力以及 RFC 4086 的随机性指导,仍是彼此独立的依赖。弱密钥、失陷端点或虚假发送者身份,不会因 RFC 9709 而自动可信。
本次核查时,RFC Editor 的勘误检索未显示 RFC 9709 的已报告勘误;IANA 的 SMI 注册表也记录了相应模块与算法编号。这些事实证明标准协调状态,却不能代替对真实部署行为的测量。
来源
- https://www.rfc-editor.org/rfc/rfc9709.html
- https://www.rfc-editor.org/info/rfc9709/
- https://datatracker.ietf.org/doc/rfc9709/
- https://errata.rfc-editor.org/search/?rfc_number=9709
- https://datatracker.ietf.org/meeting/118/materials/slides-118-lamps-attack-against-aead-in-cms
- https://www.rfc-editor.org/rfc/rfc5652.html
- https://www.rfc-editor.org/rfc/rfc5083.html
- https://www.rfc-editor.org/rfc/rfc5084.html
- https://www.rfc-editor.org/rfc/rfc5869.html
- https://www.rfc-editor.org/rfc/rfc8551.html
- https://www.rfc-editor.org/rfc/rfc4086.html
- https://www.rfc-editor.org/rfc/rfc5911.html
- https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

