MLS (Message Layer Security)
Message Layer Security (MLS) é um protocolo IETF para mensagens de grupo criptografadas de ponta a ponta. Ele fornece sigilo direto e segurança pós-comprometimento para grupos que podem mudar de membro ao longo do tempo.
Como funciona
O MLS usa uma estrutura de contrato de chave baseada em árvore chamada TreeKEM:
- Pacotes de Chaves: Cada participante publica um pacote de chaves contendo sua identidade e chaves de criptografia
- Estado do grupo: uma árvore de catraca mantém o estado criptográfico do grupo
- Commits: os membros atualizam a árvore ao ingressar, sair ou alternar chaves
- Criptografia de mensagens: o conteúdo é criptografado usando chaves derivadas do segredo do grupo compartilhado
Por que é importante
O MLS resolve um problema que a criptografia em pares não resolve bem: manter a adesão ao grupo e o estado de criptografia coerentes à medida que os membros ingressam, saem ou alternam chaves de forma assíncrona.
Sua estrutura em árvore é o insight prático. As atualizações não exigem que cada participante renegocie em pares com todos os outros, portanto, o protocolo é muito melhor dimensionado do que esquemas ad hoc de chave de grupo.
Padronização
- RFC 9420 (julho de 2023): especificação do protocolo Core MLS
- RFC 9750 (abril de 2025): arquitetura MLS para integração de sistemas
Adoção em Nostr
Vários aplicativos Nostr usam MLS para mensagens de grupo seguras:
- KeyChat: aplicativo de mensagens criptografadas baseado em MLS para dispositivos móveis e desktop
- White Noise: Mensagens privadas usando MLS com integração do protocolo Marmot
- Protocolo Marmot: extensão Nostr que fornece criptografia de grupo baseada em MLS
A MLS oferece garantias de segurança de grupo mais fortes do que NIP-04 ou NIP-44 isoladamente, especialmente quando a adesão muda com frequência.
Compensações
MLS não é um produto de mensagens completo. Os aplicativos ainda precisam de identidade, transporte, resistência a spam, armazenamento e tratamento de conflitos em torno do protocolo.
É por isso que projetos Nostr como o Marmot adicionam regras extras ao MLS. A criptografia é padronizada, mas o protocolo de aplicação envolvente ainda é importante para a interoperabilidade.
Fontes primárias:
Mencionado em:
Veja também: