MLS(消息层安全)
Message Layer Security(MLS)是一个用于端到端加密群组消息的 IETF 协议。它为可能随时间变更成员的群组提供前向保密和泄露后安全。
工作原理
MLS 使用一种称为 TreeKEM 的基于树的密钥协商结构:
- 密钥包:每个参与者发布包含其身份和加密密钥的密钥包
- 群组状态:棘轮树维护群组的加密状态
- 提交:成员在加入、离开或轮换密钥时更新树
- 消息加密:内容使用从群组共享密钥派生的密钥进行加密
重要意义
MLS 解决了成对加密无法很好解决的问题:在成员异步加入、离开或轮换密钥时,保持群组成员资格和加密状态的一致性。
其树结构是关键的实用洞察。更新不需要每个参与者与所有其他人重新进行成对协商,因此该协议的扩展性远优于临时的群组密钥方案。
标准化
- RFC 9420(2023 年 7 月):核心 MLS 协议规范
- RFC 9750(2025 年 4 月):系统集成的 MLS 架构
Nostr 中的采用
多个 Nostr 应用使用 MLS 进行安全群组消息传递:
- KeyChat:面向移动端和桌面端的基于 MLS 的加密消息应用
- White Noise:使用 MLS 并集成 Marmot 协议的私密消息传递
- Marmot Protocol:提供基于 MLS 的群组加密的 Nostr 扩展
MLS 提供了比单独使用 NIP-04 或 NIP-44 更强的群组安全保证,特别是在成员频繁变动时。
权衡
MLS 不是一个完整的消息产品。应用仍然需要围绕该协议处理身份、传输、垃圾信息防护、存储和冲突处理。
这就是 Marmot 等 Nostr 项目在 MLS 之上添加额外规则的原因。密码学已标准化,但周围的应用协议对互操作性仍然很重要。
主要来源:
提及于:
另请参阅: