MLS: Message Layer Security
doc
设计思路跟apple/zoom比较类似,目标是使得key server(看似)无法获取/监听实际group消息,(尽量)避免ghost node的场景。
核心是merkle tree的TreeKEM。
每个leaf node能够知道其路径上的所有上级节点的公私钥对。
当某个leaf要在限定范围的group做安全通信时,leaf用该限定范围内的group的子树的根节点priv key派生出对应leaf node的sender key,再加密。
此时,能够保证指定范围内的安全通信。
key
client identity: long term key。
通过long term key发布signature key、initialization key(InitKey,use only once)。发布的形式可以是HPKE的key package。
key package里还可以设定一个该client发布的数字信封公钥,方便接收方与其进行e2e通信。
security
post-compromise 的效果要看member更新leaf key的周期。group secret的更新,无法抵御leaf key泄漏的场景。
forward-secrecy 的效果主要看delete old priv key & delet message encrypt key
其他
Multicast Key Agreement, Revisited
TCC 2022 session on Protocols Key Agreement and Commitments