| Protocol stack | |
| Abbreviation | MLS |
|---|---|
| Purpose | End-to-end encrypting messages |
| Developer(s) |
|
| Introduction | July 2023; 2 years ago (2023-07) |
| OSI layer | Application layer |
| RFC(s) | 9420 |
| Website | datatracker |
Messaging Layer Security (MLS) is a security layer forend-to-end encrypting messages. It is maintained by the MLS working group of theInternet Engineering Task Force (IETF), and is designed to provide an efficient and practical security mechanism for groups as large as 50,000 and for those who access chat systems from multiple devices.[1][2][3]
Security properties of MLS include message confidentiality, message integrity and authentication, membership authentication, asynchronicity,forward secrecy, post-compromise security, and scalability.[4]
The idea was born in 2016 and first discussed in an unofficial meeting during IETF 96 in Berlin with attendees fromWire,Mozilla andCisco.[5]
Initial ideas were based on pairwise encryption for secure 1:1 and group communication. In 2017, an academic paper introducing Asynchronous Ratcheting Trees was published by the University of Oxford and Facebook setting the focus on more efficient encryption schemes.[6]
The firstBoF took place in February 2018 at IETF 101 in London. The founding members areMozilla,Facebook,Wire,Google,Twitter,University of Oxford, andINRIA.[7]
As of March 29, 2023, the IETF has approved publication of Messaging Layer Security (MLS) as a new standard.[8] It was officially published on July 19, 2023.[9][10] At that time, Google announced it intended to add MLS to the end to end encryption used byGoogle Messages overRich Communication Services (RCS).[11] In March 2025, theGSMA announced the Universal Profile 3.0 standard of RCS would support MLS andApple announced it would support this RCS standard onApple Messages.[12][13]
Matrix is one of the protocols declaring migration to MLS.[14]
Research on addingpost-quantum cryptography (PQC) to MLS is ongoing.[15][16][17] The IETF has prepared an Internet-Draft using PQC algorithms in MLS.[18]
| Implementation | Language | License | Developer |
|---|---|---|---|
| OpenMLS | Rust | MIT | Phoenix R&D and Cryspen |
| MLS++ | C++ | BSD 2-Clause | Cisco |
| mls-rs | Rust | Apache 2.0 | AWS Labs |
| MLS-TS | TypeScript | Apache 2.0 | Matrix Foundation |
| xmtp_mls | Rust | MIT | XMTP Labs |
{{cite web}}: CS1 maint: numeric names: authors list (link)