Messaging Layer Security (MLS) é uma camada de segurança para criptografar mensagens em grupos de dois a muitos tamanhos.
Foi divulgada a notícia de que o Comitê da IETF (Internet Engineering Task Force), que desenvolve os protocolos e a arquitetura da Internet, aprovou a publicação do padrão MLS (Messaging Layer Security), que define um protocolo para organizar a criptografia de ponta a ponta em aplicativos de mensagens.
Se supõe que A promoção do MLS unificará os mecanismos de criptografia de ponta a ponta de mensagens em grupos que abranjam dois ou mais participantes e irão simplificar a implementação do seu suporte nas aplicações.
A IETF aprovou a publicação do Messaging Layer Security (MLS), um novo padrão de segurança de ponta a ponta que tornará mais fácil para os aplicativos fornecerem o mais alto nível de segurança a seus usuários. A criptografia de ponta a ponta é um recurso de segurança cada vez mais importante em aplicativos da Internet. Ele mantém as informações dos usuários seguras, mesmo que o serviço de nuvem que eles estão usando tenha sido violado.
Documentos que descrevem a arquitetura MLS e o protocolo usado para criptografar mensagens foram publicados para sua revisão.
As implementações de O MLS está sendo desenvolvido em C++, Go, TypeScript e Rust. O desenvolvimento do MLS é baseado na experiência de protocolos existentes usados para proteger a transmissão de mensagens, como S/MIME, OpenPGP, Off the Record e Double Ratchet.
A preparação da especificação, a implementação operacional e os procedimentos de verificação são realizados em paralelo, usando os métodos usados na preparação do padrão TLS 1.3.
Tal abordagem permitirá várias implementações compatíveis e testadas do protocolo para quando o RFC estiver pronto. As implementações MLS estão atualmente em produção nas plataformas de comunicação Webex e RingCentral, e Wickr e Matrix também planejam migrar para MLS.
O MLS é baseado nas melhores lições da geração atual de protocolos de segurança. Assim como o amplamente utilizado protocolo Double Ratchet, o MLS permite operação assíncrona e fornece recursos avançados de segurança, como segurança pós-comprometimento. E, como o TLS 1.3, o MLS fornece autenticação forte e suas propriedades de segurança foram verificadas por meio de testes formais. O MLS combina os melhores recursos desses predecessores e adiciona recursos como dimensionamento eficiente para conversas envolvendo milhares de dispositivos sem sacrificar a segurança.
É mencionado que o objetivo principal para criar um novo protocolo é a unificação de meios para criptografia de ponta a ponta e a introdução de um único protocolo padronizado e verificou que pode ser usado em vez de protocolos separados desenvolvidos por diferentes fornecedores que resolvem as mesmas tarefas, mas não são mutuamente compatíveis.
A par disto, nota-se também que O MLS permitirá o uso de implementações prontas para uso do protocolo já testadas em diferentes aplicações, bem como organizar o seu desenvolvimento e verificação conjunta.
Vale a pena mencionar que a portabilidade de nível de aplicativo está planejada para ser implementada no nível de autenticação, derivação de chave e privacidade (a compatibilidade de nível de transporte e semântica está fora do escopo do padrão).
Em relação às tarefas resolvidas pelo protocolo, são mencionadas as seguintes:
- Privacidade: as mensagens só podem ser lidas por membros do grupo.
- Garantias de integridade e autenticação: cada mensagem é enviada por um remetente autenticado e não pode ser adulterada ou alterada no caminho.
- Autenticação dos membros do grupo: cada membro pode verificar a autenticidade dos outros membros do grupo.
- Operação assíncrona – As chaves de criptografia podem ser expostas sem a necessidade de ambas as partes estarem online.
- Sigilo de encaminhamento: comprometer um dos participantes não permite descriptografar as mensagens enviadas anteriormente ao grupo.
- Proteção pós-compromisso: comprometer um dos participantes não permite a descriptografia de mensagens que serão enviadas ao grupo no futuro.
- Escalabilidade: quando possível, escalabilidade sublinear em termos de consumo de recursos com base no tamanho do pool.
Finalmente Caso tenha interesse em saber um pouco mais sobre o assunto, você pode verificar os detalhes em o seguinte link.