只加密一次文本,并不会消除密钥分发和向所有成员投递消息的成本。
在“发送者密钥”(Sender Key)架构中,发送者无需为群组中的每个成员分别加密相同的文本。每位发送者都有自己的密钥链,并通过安全途径将读取其消息所需的密钥交给获授权的成员。这种方式降低了文本加密成本;密钥分发、消息投递和成员管理的成本仍然存在。
Livara 如何描述 LGS1?
根据 Livara 安全文档,LGS1 对处于 E2EE 模式的兼容私密群组消息,使用每位发送者独立的密钥链和签名密钥。发送者密钥通过双人 LVR1 会话分发,随后为密钥链的每个位置派生消息密钥。文档还描述了成员加入或退出后的密钥轮换。这是对产品架构的说明,并非本文进行的性能测试或独立审计的结果。
一条群组消息的逐步流程
- **准备成员:**设备必须检查接收者的密码学身份及其获授权的成员资格。
- **分发发送者密钥:**所需信息通过私密会话传递给成员。对大型群组而言,这一步并非没有成本,也并非与成员数量无关。
- **派生消息密钥:**密钥链向前推进,避免用同一个消息密钥加密不同的文本。
- **加密与真实性验证:**文本被加密,接收者必须验证消息真实性和发送者身份。
- **成员变化:**下一密钥周期的密钥只能交给仍获授权的剩余成员。
不能将“发送者密钥”等同于永远用同一把 AES 密钥加密所有消息。密钥链状态、消息编号和密钥周期都是安全设计的一部分。
哪些成本降低了,哪些仍然存在?
| 工作环节 | 发送者密钥架构的影响 |
|---|---|
| 加密一条普通消息的内容 | 可以只执行一次,而不是为每位接收者分别生成加密副本 |
| 分发初始密钥或新密钥 | 必须覆盖获授权的成员;成员和设备数量很重要 |
| 通过网络发送给所有成员 | 仍然需要向各接收者投递数据 |
| 成员退出与设备离线 | 需要管理密钥周期、进行协调,并明确规定出错时的行为 |
因此,“群组的全部成本从 O(N) 降至 O(1)”并不准确。可以讨论某个具体操作,但不能将其套用于整个网络。速度、电池和数据消耗也必须针对具体的应用版本、成员数量和设备进行测量。
后量子保护在哪个环节发挥作用?
Livara 将群组密钥分发与混合 LVR1 会话联系起来。存在后量子组件本身并不能证明群组的所有属性:密钥组合、签名、状态保存和成员资格验证同样重要。算法标准化与整个即时通信产品的安全获得认可是两回事。
比较架构时,关于 MLS 的 RFC 9420 是正式群组密钥管理规范的一个例子。不应将 LGS1 说成 MLS 或 MLS 的实现;各协议的保证都应依据其自身的规范和证据来理解。
信任私密群组之前应检查什么?
- 群组本身是否确实处于端到端加密模式?Livara 文档指出,不应无依据地给不兼容的旧群组贴上加密标签。
- 谁能添加成员,其他成员如何获知变化?
- 新成员能够访问过去的历史记录,还是只能访问未来消息?请在所用的具体应用版本中核实答案。
- 移除成员后,密钥周期是否更换?仅从名单中删除成员,并不是密钥已更换的证据。
- 现有成员能否复制消息?能;加密并不会免除对接收者的信任。
常见问题
移除成员会删除其旧消息吗?
不会。密钥轮换是为了限制未来的访问;之前已接收或保存的副本不一定会从被移除成员的设备上消失。
网络完全中断时,LGS1 能投递消息吗?
加密不会创建通信路径。消息投递需要设备能够访问服务和网络路径;应将内容安全与可用性区分开来。
服务器是否完全不知道群组的任何信息?
根据 Livara 声明的边界,内容保密并不意味着所有运行信息都被隐藏。选择群组时,也请阅读成员资格和元数据政策。


