MLS (Message Layer Security)
Message Layer Security (MLS) is een IETF-gestandaardiseerd protocol voor end-to-end versleutelde groepsberichten. Het biedt efficiënte sleuteluitwisseling met forward secrecy en post-compromise beveiliging voor groepen van twee tot duizenden deelnemers.
Hoe het werkt
MLS gebruikt een boomgebaseerde sleutelovereenkomststructuur genaamd TreeKEM:
- Sleutelpakketten: Elke deelnemer publiceert een sleutelpakket met zijn identiteit en encryptiesleutels
- Groepsstatus: Een ratchet-boom onderhoudt de cryptografische status van de groep
- Commits: Leden werken de boom bij bij toetreden, verlaten of roteren van sleutels
- Berichtversleuteling: Inhoud wordt versleuteld met sleutels afgeleid van het gedeelde groepsgeheim
Belangrijke beveiligingseigenschappen
- Forward secrecy: Eerdere berichten blijven veilig, zelfs als huidige sleutels worden gecompromitteerd
- Post-compromise beveiliging: Toekomstige berichten worden weer veilig na sleutelrotatie
- Lidmaatschapsauthenticatie: Alle groepsleden worden cryptografisch geverifieerd
- Asynchrone werking: Leden kunnen toetreden/verlaten zonder dat alle deelnemers online zijn
- Schaalbaarheid: Efficiënt voor groepen tot 50.000 deelnemers
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-protocolintegratie
- Marmot Protocol: Nostr-extensie die MLS-gebaseerde groepsversleuteling biedt
MLS biedt sterkere beveiligingsgaranties dan NIP-04 of NIP-44 alleen, met name voor groepschats waar leden dynamisch toetreden en verlaten.
Industrieadoptie
Buiten Nostr wordt MLS geadopteerd door:
- Google Messages (RCS met MLS via GSMA Universal Profile 3.0)
- Apple Messages (RCS-ondersteuning aangekondigd voor MLS)
- Cisco WebEx, Wickr, Matrix
Primaire bronnen:
Vermeld in:
Zie ook: