MLS (Message Layer Security)
Message Layer Security (MLS) is een IETF-protocol voor end-to-end versleutelde groepsberichten. Het biedt forward secrecy en post-compromise security voor groepen waarvan het lidmaatschap in de loop van de tijd kan veranderen.
Hoe het werkt
MLS gebruikt een boomgebaseerde sleutelovereenkomststructuur met de naam TreeKEM:
- Key Packages: Elke deelnemer publiceert een key package met zijn identiteit en encryptiesleutels
- Group State: Een ratchet tree houdt de cryptografische toestand van de groep bij
- Commits: Leden werken de tree bij wanneer iemand toetreedt, vertrekt of sleutels roteert
- Message Encryption: Inhoud wordt versleuteld met sleutels die zijn afgeleid van het gedeelde groepsgeheim
Waarom het belangrijk is
MLS lost een probleem op dat pairwise encryptie niet goed oplost: groepslidmaatschap en encryptiestatus coherent houden terwijl leden asynchroon toetreden, vertrekken of sleutels roteren.
De tree-structuur is het praktische inzicht. Updates vereisen niet dat elke deelnemer opnieuw pairwise onderhandelt met alle anderen, waardoor het protocol veel beter schaalt dan ad-hoc groepssleutelschema’s.
Standaardisatie
- RFC 9420 (juli 2023): Core MLS-protocolspecificatie
- RFC 9750 (april 2025): MLS-architectuur voor systeemintegratie
Adoptie in Nostr
Verschillende Nostr-applicaties gebruiken MLS voor beveiligde groepsberichten:
- KeyChat: MLS-gebaseerde versleutelde berichtenapp voor mobiel en desktop
- White Noise: Privéberichten met MLS en Marmot protocol-integratie
- Marmot Protocol: Nostr-extensie die MLS-gebaseerde groepsencryptie biedt
MLS biedt sterkere groepsbeveiligingsgaranties dan alleen NIP-04 of NIP-44, vooral wanneer het lidmaatschap vaak verandert.
Afwegingen
MLS is geen volledig berichtenproduct. Applicaties hebben nog steeds identity, transport, spam resistance, opslag en conflict handling rond het protocol nodig.
Daarom voegen Nostr-projecten zoals Marmot extra regels toe boven op MLS. De cryptografie is gestandaardiseerd, maar het omliggende applicatieprotocol blijft belangrijk voor interoperabiliteit.
Primaire bronnen:
Vermeld in:
Zie ook: