Summary

  • IETF 11 月 1 日第 07 版申请登记十一种 MLS 密码套件。前八种采用后量子或混合 KEM,签名仍是传统算法;后三种同时采用 ML-DSA 签名。
  • 新版要求 ML-DSA 公钥直接使用 pkEncode 字节、签名直接使用 ML-DSA.Sign 输出,ctx 设为空;用途标签已经放在 MLS 的 SignContent 中。

“后量子群聊”四个字掩盖了两种不同保证。7 月第 06 版就把十一种套件分成八加三;11 月第 07 版把这道边界造成的攻击后果写了出来。编号 0x0010 至 0x0017 使用 ML-KEM,或 ML-KEM 加传统算法的混合 KEM,来建立秘密;身份签名仍由 Ed25519 或 ECDSA 承担。它们针对的是今天录下密文、将来再破解的被动攻击者。

主动攻击者盯着另一把锁。草案第 4 节指出,若传统签名或签名密钥与身份之间的凭据可被伪造,攻击者就能注入 KeyPackage 或群组操作,威胁后续 epoch 的保密性。旧消息的保密和下一轮群组状态的批准,并非同一项密码学保证。采购或部署人员应问清实际协商到哪个套件,以及谁能签署新的群组状态。

编号 0x0020 至 0x0022 把签名也交给 ML-DSA。第一种以 ML-KEM/X25519 混合 KEM 搭配 ML-DSA-44 与 ChaCha20-Poly1305;后两种分别以纯 ML-KEM 搭配 ML-DSA-65、ML-DSA-87。第 07 版新增的字节契约很实在:按 RFC 9420定义的 SignaturePublicKey 字段,ML-DSA 公钥须填 pkEncode 的输出,而非 SubjectPublicKeyInfo 包装;签名填直接生成的字节。SignWithLabel 对序列化的 SignContent 签名,ML-DSA 的 ctx 为空,因为 MLS 标签已在被签内容里区分用途。发送端与验证端若一个加包装、一个取原始字节,同一个套件名也无法互认。

IETF 跟踪页显示第 07 版仍处 Publication Requested,目标为 Proposed Standard。公开资料还缺一组可复核的跨实现测试,检验这些字节与套件选择能否互通。