Fact-checked by Grok 2 weeks ago

Messaging Layer Security

Messaging Layer Security (MLS) is a that enables secure, end-to-end encrypted group messaging for asynchronous communication among participants in groups ranging from two to thousands, providing efficient with and post-compromise . Developed by the (IETF) MLS Working Group, MLS was standardized as 9420 in July 2023, which specifies the core protocol, and 9750 in April 2025, which outlines its architecture for integration into secure group messaging systems. At its heart, MLS employs a ratchet tree structure—a cryptographic mechanism using direct paths and copaths for key derivation—to manage group state across epochs, allowing members to update keys efficiently without requiring all participants to be online simultaneously. Key operations include handshake messages such as Proposals (for changes like adding or removing members), Commits (to apply those changes and advance the group state), and messages (to onboard new members via external joins), all protected by authenticated . Security properties encompass and integrity of application messages, authentication via credentials and signatures issued by an Authentication Service, and resilience against eavesdropping, tampering, or forgery, even in dynamic environments. The protocol is transport-agnostic, designed to layer atop arbitrary delivery services for message distribution, and supports features like replay protection through unique identifiers, making it suitable for modern applications such as chat apps and collaborative tools. Implementations are available in languages like and , with production deployments including Wire's general availability in April 2025 and testing in for RCS chats in July 2025, representing ongoing adoption by industry players to enhance group privacy beyond pairwise protocols like the Double Ratchet.

Overview

Definition and Purpose

Messaging Layer Security (MLS) is a designed for secure group messaging in applications, enabling for communications among multiple participants. It operates as a continuous group authenticated key exchange (AKE) mechanism, using a to manage shared cryptographic keys efficiently across group members, even in asynchronous environments where clients may not be online simultaneously. Specified in RFC 9420, MLS supports dynamic groups ranging from two participants to hundreds of thousands, allowing seamless addition or removal of members without requiring all parties to be present. The primary purpose of MLS is to establish and maintain keys for and authenticating messages within groups, ensuring , , and against active adversaries. It addresses limitations in prior protocols, such as pairwise encryption schemes like the , which do not scale well for large groups, and sender-key approaches that lack robust security properties. By leveraging asynchronous trees (ART), MLS achieves logarithmic scaling in computational costs relative to group size, making it suitable for real-time applications like , voice calls, and conferencing. MLS also incorporates key security goals, including (FS) to protect past messages if keys are compromised and post-compromise security (PCS) to recover from breaches through key rotation. These features mitigate risks from compromised clients, delivery services, or authentication services, providing a standardized foundation for interoperable secure group communication across diverse platforms. The protocol's architecture, outlined in RFC 9750, emphasizes embedding MLS into higher-layer protocols like XMPP while preserving end-to-end protections.

Design Principles

Messaging Layer Security (MLS) is designed as an asynchronous protocol for secure group messaging, enabling participants to communicate without requiring simultaneous online presence. This asynchronous model relies on a two-step process involving proposals and commits to evolve the group state across epochs, allowing members to propose changes that are later ratified by a commit message. The protocol assumes the presence of an (AS) for verifying identities and credentials, and a (DS) for routing messages, with the DS considered untrusted but reliable in delivery. A core design principle is the use of ratchet trees to represent group membership and manage shared secrets efficiently. These trees maintain a structure where each node holds a private known only to members of its subtree, ensuring that costs scale logarithmically with group size, from pairs to hundreds of thousands of participants. This tree-based approach facilitates dynamic operations like adding or removing members by updating keys along direct paths, while preserving the "tree invariant" for security. The design emphasizes (FS), where past messages remain protected even if current keys are compromised, through derivations and deletion of old material, and post-compromise security (PCS), enabling recovery via regular key updates. MLS prioritizes end-to-end security properties including message , , and against external adversaries, while supporting flexible client-side operations such as multiple devices per user with independent cryptographic states. is not enforced by the itself but left to applications, allowing customization of policies. The design incorporates extensibility for cipher suites, credentials, and proposals, with a registry to balance and security evolution. Metadata exposure is minimized to protect , though server may reveal group sizes.

Protocol Mechanics

Architecture

Messaging Layer Security (MLS) employs a client-server designed to enable secure, scalable group messaging across diverse applications. At its core, the system consists of clients, which are cryptographic entities such as devices that participate in groups; a Delivery (DS), which facilitates message routing and storage of initial keying material; and an Authentication (AS), which attests to the binding between clients' cryptographic identities and their human-readable identifiers. Clients form asynchronous groups where members share a common secret, evolving the group state through a series of epochs to handle additions, removals, and updates securely. This separates concerns by delegating authentication to the AS and message delivery to the DS, allowing MLS to integrate with various existing without relying on a single trusted server for all operations. The protocol's key management relies on a tree structure, where each client is represented as a leaf in a that facilitates efficient asynchronous key agreement. To join or update a group, a client generates a KeyPackage, a self-contained bundle containing its public key, credentials, and initial secrets, which is stored by the for retrieval by other clients. Group state transitions occur via two primary message types: Proposals, which suggest changes like adding or removing members without immediately applying them, and Commits, which apply one or more proposals and update the group secret, often requiring a message to securely deliver the new state to added members. Application messages, such as private content or public announcements, are then encrypted or integrity-protected using derived keys from the current epoch's group secret. This asynchronous design ensures that members can update the group state independently, accommodating offline scenarios common in messaging applications. Security in the MLS architecture is achieved through (FS) and post-compromise security (PCS), where each epoch's secrets are derived via to prevent past or future compromises from affecting other periods. The enables efficient computation of shared secrets using only the necessary subtrees, scaling to large groups while minimizing computational overhead. Credentials issued by the AS support various types, such as certificates or basic identifiers, allowing flexibility in identity verification, including out-of-band methods like QR codes for secrets. By limiting server roles to delivery and attestation without access to group secrets, the architecture protects against and tampering while providing deniability options for senders.

Group Management

In Messaging Layer Security (MLS), group management is handled through a structured that enables asynchronous updates to group membership and cryptographic state while maintaining properties such as and post-compromise . The core mechanism revolves around proposals and commits: proposals suggest changes like adding or removing members or updating keys, while commits apply these changes, advancing the group's epoch and deriving new shared secrets. This process is facilitated by a tree data structure, which efficiently represents the group and allows members to compute shared keys without direct pairwise communication. Group creation begins with an initiator client establishing a single-member group state, assigning a unique group identifier, selecting a , and configuring any extensions. The initial ratchet consists of a single node representing the creator, with the epoch set to zero. Subsequent management operations build upon this by incorporating new members via external commitments or internal . For instance, to add a member, an existing group member broadcasts an Add containing a to the new member's KeyPackage—a self-contained bundle of public key material and credentials. This is followed by a that integrates the new into the ratchet at the leftmost empty position or by extending the tree if necessary, potentially doubling its depth to accommodate growth. The committer then sends a to the new member, providing the updated group secrets encrypted under the joiner's public key, allowing them to derive the current 's keys independently. Member removal is similarly proposal-driven: a Remove proposal identifies the target member by their index in the tree, and a subsequent Commit blanks the corresponding leaf node, excluding it from future key derivations and effectively revoking access. The tree may truncate its rightmost subtree if it becomes empty, halving the depth to optimize storage and computation. Self-removal is supported through external commits, where a leaving member uses a Group's public information to generate their own Commit without needing approval, enabling asynchronous exits. These operations ensure that removed members cannot decrypt future messages, upholding confidentiality. Key updates, crucial for post-compromise , are managed via proposals that replace a member's leaf node with fresh key material, blanking the direct to the to prevent reuse of compromised secrets. A incorporating this update includes an UpdatePath field, which encrypts the necessary path secrets using Hybrid Public Key Encryption (HPKE) for each remaining member, allowing them to recompute the tree's root secret. The ratchet tree's design— a full with recursive hashing from leaves to —ensures O(log N) efficiency for these updates in groups of size N, as members only process secrets along their direct and copath. Delivery services play a supporting role by storing KeyPackages and routing messages, with options for strongly consistent or eventually consistent models to handle asynchronous participation. Overall, MLS's group management prioritizes resilience to asynchrony and compromise: epoch advancement via commits rotates all group keys, while the tree's structure derives per-member and shared secrets from a joiner secret, preventing long-term . This approach supports scalable, secure evolution of groups without requiring all members to be online simultaneously.

Key Derivation and Encryption

In the Messaging Layer Security (MLS) , begins with the establishment of a group secret during the initialization or joining process, which serves as the foundational input for generating all subsequent cryptographic keys. This group secret is derived using a (KDF), typically , from an initial secret combined with elements such as the joiner's secret or resumption pre-shared keys (PSKs). The process ensures that each member's view of the group state includes contributions of , preventing any single participant from controlling the shared secrets. The core of MLS key management is the key schedule, which advances with each epoch—defined periods of group state stability triggered by Commit messages. At the start of an epoch, the key schedule takes the previous initialization secret (init_secret from the prior epoch), a fresh commit_secret (derived from the Commit message's path secrets), and the current group context to produce an epoch secret via the KDF's Extract and ExpandWithLabel functions:
intermediate = KDF.Extract(init_secret[n-1], commit_secret)  
epoch_secret = ExpandWithLabel(intermediate, "epoch", GroupContext[n], KDF.Nh)
From this epoch secret, specialized sub-secrets are derived using the DeriveSecret function with distinct labels, such as "encryption_secret" for message protection, "sender_data_secret" for sender-specific data, "confirmation_key" for authenticating commits, and "version" for protocol versioning. This modular derivation allows for targeted key usage while maintaining , with each DeriveSecret call expanding the input secret into a fixed-length output suitable for the intended purpose. To support scalability in large groups, MLS employs a secret tree structure, a where the root secret is the encryption_secret, and child secrets are derived recursively from parent secrets. For a parent secret, the left and right child secrets are computed as:
left_secret = ExpandWithLabel(parent_secret, "left", "", KDF.Nh)  
right_secret = ExpandWithLabel(parent_secret, "right", "", KDF.Nh)
This tree enables efficient derivation of shared secrets for subgroups without recomputing from scratch, with secrets corresponding to per-member keys. Path secrets, encrypted via Hybrid Public Key Encryption (HPKE) during joins or updates, further the tree forward, ensuring that compromised keys do not propagate. advancement the entire schedule, deleting prior secrets to enforce , where past messages remain secure even if long-term keys are exposed post-. Encryption in MLS relies on with Associated Data (AEAD) schemes, such as AES-128-GCM, with keys and nonces drawn from the . Application messages, messages, and sender data are protected separately: sender data (metadata like timestamps) uses keys from a per-sender initialized by the sender_data_secret, while is encrypted with epoch-specific keys from the secret tree or sender ratchets. For a message in epoch n, the encryption key ratchet_key for sender j is derived as:
ratchet_key[n][j] = DeriveTreeSecret(encryption_secret, j, "app-encrypted")
Nonces are generated sequentially per sender to prevent , with a guard in the to detect and reject violations. This provides both and , with post-compromise achieved through the , allowing recovery from key compromises in logarithmic time relative to group size. Cipher suites, like MLS_128_DHKEMP256_AES128GCM_SHA256_Ed25519, specify the exact to ensure and .

Security Properties

Core Guarantees

Messaging Layer Security (MLS) provides several fundamental security guarantees that ensure in group messaging scenarios. The core properties include , message integrity, sender authentication, , and post-compromise security. These guarantees are achieved through a combination of cryptographic mechanisms, such as asynchronous and tree-based , enabling efficient group key evolution without requiring all members to be online simultaneously. Confidentiality ensures that only current group members can access the content of application messages. This is enforced by deriving per-sender keys from an secret, which is confidential to the members in the current and updated with each group state change. Messages are using these keys, preventing decryption by outsiders or former members, even if the delivery service is untrusted. Message integrity protects against tampering, with each message including a over its content and , allowing recipients to verify that the message has not been altered in transit. This integrity check is performed using the sender's key, which is bound to their identity in the group state. Sender guarantees that messages originate from legitimate group members and cannot be forged by impostors. Authentication is provided via digital signatures on the message framing and content, using the sender's signature key associated with their leaf node in the ratchet tree structure. These signatures are verified against the expected public keys in the current group state, ensuring the sender's identity is authenticated within the group context. Forward secrecy (FS) protects past messages from exposure even if long-term keys are compromised later. MLS achieves this through periodic key updates via Commit messages, which inject fresh randomness and advance the , rendering previous epoch secrets obsolete and unrecoverable. Compromised keys thus cannot decrypt messages from prior epochs, as the process ensures one-way evolution of the key material. Post-compromise (PCS) complements FS by allowing recovery from key compromises without disbanding the group. When a member detects a compromise, they can issue an operation, which replaces their leaf node in the and propagates new keys, restoring for all subsequent messages while excluding the effects of the prior compromise. This mechanism ensures that future communications remain protected, provided the compromised party performs timely updates.

Advanced Security Features

Messaging Layer Security (MLS) extends beyond fundamental and assurances by incorporating (FS) and post-compromise security (PCS), which protect against long-term key exposures and enable recovery from breaches. These features leverage the protocol's ratchet tree structure for efficient key evolution across group epochs, ensuring that security degrades gracefully only for a limited window following a compromise. Forward secrecy in MLS guarantees that messages exchanged prior to a key compromise remain confidential, even if an adversary later obtains the long-term or session keys of communicating parties. This is achieved through derivations in the tree, where each introduces fresh sub-group keys derived from sender , and old private keys are explicitly deleted after use. For instance, when a member issues an proposal via a , it resets its and , invalidating prior keys without affecting ongoing secrecy for future . This mechanism scales logarithmically with group size, supporting large-scale deployments while maintaining against passive and active adversaries. Post-compromise security allows the group to restore and after a member's keys are exposed, limiting damage to messages sent during the compromise period. MLS facilitates this through asynchronous key updates: compromised members can initiate an empty Commit or regular leaf updates to refresh their , propagating new secrets via the tree's direct paths to other members in O(log N) operations, where N is the group size. Delivery services broadcast these updates, enabling rapid recovery without requiring synchronous participation from all members; is reinstated for all subsequent epochs once the update is processed. This property is particularly robust against threats, as Remove operations can expel compromised members while updating group secrets. Authentication in MLS provides strong sender verification within groups, using credentials (such as certificates or opaque identifiers) bound to public keys via signatures on LeafNode objects. This ensures that messages and proposals are attributable only to authorized members, with the protocol supporting both repudiable (via basic signatures) and non-repudiable depending on credential design. Group-wide is enforced through parent hashes in the tree, which cryptographically bind the entire group state and prevent unauthorized alterations. Additionally, MLS offers limited deniability by avoiding persistent server-held secrets, allowing plausible off-record exchanges, though full deniability requires application-layer choices like ephemeral s. These advanced features collectively ensure that only current, honest group members can read or forge messages, with membership changes (adds, removes, or self-updates) triggering secret rotations to isolate past and future communications. Unlike pairwise protocols, MLS's tree-based approach provides entity authentication for the group context, mitigating risks from leakage in unencrypted messages through optional enhancements like blinded paths.

Development and Standardization

Historical Background

The development of Messaging Layer Security (MLS) originated from academic research addressing the limitations of existing protocols for asynchronous group messaging, particularly the lack of and robust guarantees in large, dynamic groups. In 2017, a seminal paper by Katriel Cohn-Gordon, Cas Cremers, and colleagues introduced Asynchronous Ratcheting Trees (), a tree-structured Diffie-Hellman designed to enable and post-compromise without requiring simultaneous online presence of all participants. This work, motivated by the growing need for secure group communications in applications like , highlighted the inefficiencies of pairwise encryption in groups and proposed a ratcheting mechanism to update keys efficiently as members join or leave. Building on ART and related concepts like TreeKEM, the Internet Engineering Task Force (IETF) established the MLS Working Group in April 2018 to standardize a unified protocol for secure, asynchronous group key establishment. The initial individual draft for the MLS protocol (draft-barnes-mls-protocol-00) appeared in March 2018, followed by the first working group draft (draft-ietf-mls-protocol-00) in August 2018, authored by Richard Barnes, Jon Millican, Emad Omara, Katriel Cohn-Gordon, and others. Early drafts incorporated ART for key management but evolved to use a simplified TreeKEM variant by draft-02 in October 2018, reflecting community feedback on implementation complexity and security proofs. The standardization process involved over 20 draft revisions through 2023, with extensive cryptographic analysis and interoperability testing to ensure properties like forward secrecy, post-compromise security, and deniability. Key milestones included security reviews at conferences like Real World Crypto 2019 and Black Hat 2019, where prototypes demonstrated scalability for groups up to thousands of members. The protocol achieved Proposed Standard status as RFC 9420 in July 2023, providing a comprehensive specification for tree-based asynchronous group keying. Subsequently, the MLS architecture was formalized in RFC 9750 in April 2025, outlining integration with messaging infrastructures and additional security goals. This progression from research prototype to IETF standard reflects collaborative efforts by industry (e.g., Cisco, Wire, Meta) and academia to address real-world deployment challenges in secure messaging.

IETF Process and RFC

The development of Messaging Layer Security (MLS) began in through informal discussions among researchers and engineers from organizations including Wire, , and , aimed at creating a standardized for secure group messaging that addresses limitations in existing systems like pairwise in large groups. These efforts built on prior academic work, such as the TreeKEM key agreement , to enable efficient asynchronous group key establishment with and post-compromise security. In April 2018, the Internet Engineering Task Force (IETF) chartered the MLS Working Group (WG) under the Security Area to formalize the protocol as an open standard, with the goal of producing a specification for efficient group keying supporting groups from two to thousands of members. The WG adopted its initial Internet-Draft for the MLS protocol (draft-ietf-mls-protocol-00) in August 2018, marking the start of iterative development involving multiple revisions, formal verification, and interoperability testing. Over the next four years, the WG conducted working group last calls (WGLC), with the first in May 2022 addressing design feedback and the second in June-July 2022 confirming readiness, followed by shepherd review in August 2022. The specification advanced to Internet Engineering Steering Group (IESG) evaluation in January 2023, receiving approval on March 28, 2023, after community consensus and expert reviews ensured security properties like message secrecy, , and denial-of-receipt protection. It was published as 9420, "The Messaging Layer Security (MLS) ," on July 19, 2023, as a Proposed Standard on the IETF Standards Track, authored by a team including Richard Barnes, Benjamin Beurdouche, and others from industry and academia. This defines the core mechanics, including tree-based key scheduling via Proposals and Commits, cipher suites, and extensions for custom functionality. Complementing the protocol, the MLS was separately developed and published as 9750 on April 22, 2025, outlining integration with messaging infrastructures, goals, and deployment considerations for end-to-end encrypted groups. Authored by Benjamin Beurdouche, Eric Rescorla, and others, it emphasizes MLS's role in enabling scalable, asynchronous without relying on online key servers. Following publication, the MLS WG was rechartered in October 2024 to maintain RFC 9420 and develop extensions, including support for the More Interoperability (MIMI) WG, new credential types, quantum-resistant , and message loss detection, with milestones extending to 2026. This ongoing process reflects the IETF's consensus-driven model, incorporating feedback from implementers and cryptographers to ensure MLS's robustness and across applications like RCS and Matrix.

Implementations

Reference Implementations

The Messaging Layer Security (MLS) protocol, standardized in RFC 9420, relies on reference implementations to ensure interoperability, conformance to the specification, and practical adoption across diverse systems. These implementations are typically open-source libraries that fully realize the protocol's core mechanisms, including asynchronous group keying, forward secrecy, and post-compromise security, while supporting extensions for customization. They serve as foundational tools for developers building secure group messaging applications and for the IETF MLS working group's ongoing interoperability testing efforts. A primary reference implementation is , an open-source library developed and maintained by Phoenix R&D and Cryspen. OpenMLS provides a complete, production-ready realization of the MLS protocol, including support for structures, key packages, and message processing as defined in 9420. It emphasizes through Rust's and offers flexible cryptographic backends, such as RustCrypto for standard algorithms and Evercrypt for high-assurance primitives. The library compiles to multiple targets, including native binaries for , Windows, macOS, mobile platforms like and , and for browser-based applications, enabling broad deployment scenarios. OpenMLS has been instrumental in efforts and passes all test vectors, making it a for protocol compliance. Another key reference implementation is , a library created by AWS Labs. This project delivers a full-featured MLS implementation compliant with RFC 9420, with a focus on efficiency for large groups and asynchronous environments. It includes APIs for client-side operations like proposal handling, commit processing, and key derivation, alongside support for customizable credentials (e.g., certificates), protocol extensions, and storage backends. mls-rs integrates with both and native Rust cryptography providers for agility, and its WebAssembly compatibility facilitates integration into web and contexts. The library undergoes regular interoperability testing and is licensed under permissive terms (Apache-2.0 or ) to encourage widespread use. Cisco's go-mls serves as a notable in Go, implementing the core MLS and primitives for asynchronous, message-oriented group key establishment. Drawing from concepts in asynchronous ratchet trees, it supports essential features like and group evolution, though it is an experimental that is incomplete and not fully compliant with post-RFC updates. This aids in diversifying language options for MLS adoption, particularly in server-side and networked applications. The IETF MLS coordinates these and other implementations through the mlswg/mls-implementations , which tracks progress on conformance, test vectors, and cross-implementation compatibility. This effort ensures that reference libraries like OpenMLS and mls-rs can validate emerging projects, fostering a robust ecosystem for MLS deployment.

Production Deployments

As of late 2025, Messaging Layer Security (MLS) has seen adoption in several production environments, primarily in enterprise communication platforms and consumer messaging applications, demonstrating its scalability for secure group interactions. Early deployments leveraged draft versions of the protocol prior to its standardization in 9420 (July 2023), while more recent implementations incorporate the finalized specification to enable (E2EE) for messages, calls, and meetings. These deployments highlight MLS's efficiency in handling large groups, , and post-compromise security, often integrating with existing infrastructures like for broader interoperability. Wire, a secure messaging service, has fully transitioned its protocol from to MLS for group communications, including text, audio, and video conferences supporting thousands of participants. The upgrade enhances performance in large-scale scenarios and ensures E2EE for features like channels and , complying with regulatory standards such as the EU's . Wire initiated MLS development in 2016 as a co-founder of the protocol and began rolling it out to users in March 2025, achieving general in April 2025 and broad migration by May 2025; by mid-2025, users reported seamless migrations in conversations. Cisco Webex integrates MLS for E2EE in meetings and real-time conversations, providing zero-trust security with identity verification via key packages. This deployment, serving millions of users, utilizes MLS's tree-based structure for efficient in dynamic groups, achieving high security levels including resistance to leakage. Cisco adopted an early MLS draft in for its over traditional pairwise , enabling secure interactions in settings without compromising . RingCentral announced MLS-based E2EE across its messaging, video, and phone services in December 2022, with video generally available and messaging/phone in closed beta; full deployment across services followed, enabling E2EE for groups of varying sizes by 2023. The implementation supports asynchronous key exchanges and ciphersuite flexibility, protecting sensitive communications in business environments. This early production use validated MLS's robustness at scale, influencing its standardization. Google Messages is advancing toward full MLS integration within RCS chats to enable cross-platform E2EE, starting with one-on-one and expanding to groups. Announced in July 2023 with plans to open-source the , testing began in July 2025, incorporating MLS into the Universal Profile 3.0 for Android-iOS . By October 2025, support was rolling out, positioning MLS to secure billions of RCS messages while maintaining compatibility with legacy systems. This integration into RCS Universal Profile 3.0 positions MLS to enable secure, cross-platform E2EE for billions of messages on hundreds of millions of devices as of 2025.

References

  1. [1]
    RFC 9420 - The Messaging Layer Security (MLS) Protocol
    Jul 17, 2024 · In this document, we describe a protocol based on tree structures that enables asynchronous group keying with forward secrecy and post- compromise security.
  2. [2]
    RFC 9750: The Messaging Layer Security (MLS) Architecture
    This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS.
  3. [3]
    Messaging Layer Security (MLS)
    Messaging Layer Security (MLS) is a security layer for encrypting messages in groups of size two to many. It is being built by the MLS working group.
  4. [4]
    RFC 9750 - The Messaging Layer Security (MLS) Architecture
    This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS.
  5. [5]
  6. [6]
    Information on RFC 9420 - » RFC Editor
    Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, ...Missing: features | Show results with:features<|control11|><|separator|>
  7. [7]
  8. [8]
  9. [9]
  10. [10]
  11. [11]
  12. [12]
  13. [13]
  14. [14]
  15. [15]
  16. [16]
  17. [17]
  18. [18]
  19. [19]
  20. [20]
    Messaging Layer Security (mls) - IETF Datatracker
    The Messaging Layer Security (MLS) protocol, RFC 9420, specifies a key establishment protocol that provides efficient asynchronous group key establishment.
  21. [21]
    draft-ietf-mls-protocol-00 - The Messaging Layer Security (MLS ...
    This is an older version of an Internet-Draft that was ultimately published as RFC 9420. · Richard Barnes , Jon Millican , Emad Omara , Katriel Cohn-Gordon , ...Missing: origins | Show results with:origins
  22. [22]
    History for draft-ietf-mls-protocol -20
    The Messaging Layer Security (MLS) Protocol draft-ietf-mls-protocol-20 ... As the whole concept of MLS relies on "ratchet trees", an early short introduction to ...
  23. [23]
    [PDF] Messaging Layer Security - Black Hat
    - MLS: Messaging Layer Security. - MLS is a new protocol for end-to-end encrypted messaging. - MLS is now an IETF working group. - Why is this important now? - ...
  24. [24]
    Messaging Layer Security – How secure communication is evolving
    Jul 29, 2023 · The Messaging Layer Security (MLS) protocol provides a secure and efficient method for organizations to conduct group communication, and has ...Missing: definition | Show results with:definition
  25. [25]
    RFC 9420 aka Messaging Layer Security (MLS) – An Overview
    Jul 18, 2023 · MLS is the first standardized and fully specified end-to-end encryption protocol. The specification is freely accessible, and its security has been analyzed in ...<|control11|><|separator|>
  26. [26]
    Messaging Layer Security
    ### Summary of MLS Working Group Charter
  27. [27]
    Messaging Layer Security: Secure and Usable End-to-End Encryption
    Like the widely used Double Ratchet protocol, MLS allows for asynchronous operation and provides advanced security features such as Post-Compromise Security.
  28. [28]
    Rust implementation of the Messaging Layer Security (MLS) protocol
    OpenMLS is a Rust implementation of the Messaging Layer Security (MLS) protocol, as specified in RFC 9420. It is a software library that can serve as a ...
  29. [29]
    OpenMLS
    An open-source implementation of the Messaging Layer Security protocol. Binary tree. OpenMLS is a software library that can serve as a building block in ...Missing: reference | Show results with:reference
  30. [30]
    Secure Group Communication - Cryspen
    We are experts in MLS and have contributed a formal security analysis, reference implementation, and improvements to the standard.<|separator|>
  31. [31]
    awslabs/mls-rs: An implementation of Messaging Layer ... - GitHub
    MLS is a new IETF end-to-end encryption standard that is designed to provide transport agnostic, asynchronous, and highly performant communication.
  32. [32]
    mls_rs - Rust - Docs.rs
    MLS is a new IETF end-to-end encryption standard that is designed to provide transport agnostic, asynchronous, and highly performant communication between a ...
  33. [33]
    cisco/go-mls: Message Layer Security - GitHub
    This is a protocol to do group key establishment in an asynchronous, message-oriented setting. Its core ideas borrow a lot from Asynchronous Ratchet Trees.
  34. [34]
    GitHub - mlswg/mls-implementations: Coordination of implementation and interop specific details
    **Summary of mls-implementations (GitHub - mlswg/mls-implementations):**
  35. [35]
    RFC 9420: The Messaging Layer Security (MLS) Protocol
    MLS is a protocol for asynchronous group key establishment with forward secrecy and post-compromise security, using tree structures for efficient keying.
  36. [36]
    Messaging Layer Security (MLS) - Wire – Support
    Dec 19, 2024 · MLS adds end-to-end encryption to messaging applications by providing a standardized and open framework.<|separator|>
  37. [37]
    Can I stop getting 'This conversation now uses the new Messaging ...
    Jun 13, 2025 · I often get the message: "This conversation now uses the new Messaging Layer Security (MLS) protocol. To communicate seamlessly, always use the latest version ...Missing: production | Show results with:production
  38. [38]
    How Messaging Layer Security Enables Scalable End ... - Webex Blog
    the standard for the Messaging Layer Security (MLS) protocol for end-to-end ...
  39. [39]
    RingCentral Announces Comprehensive End-to-End-Encryption ...
    Dec 6, 2022 · Using Messaging Layer Security (MLS), the technology is scalable and supports all RingCentral users–whether they are inside a company ...
  40. [40]
    End-to-end encryption (E2EE): What it is & how it works - RingCentral
    We built our E2EE using Message Layer Security (MLS). MLS is a security layer for encrypting messages in groups of size two to many. It is designed to be ...End-To-End Vs Point-To-Point... · Coming Soon: End-To-End... · Best-In-Class, End-To-End...
  41. [41]
    An important step towards secure and interoperable messaging
    Jul 19, 2023 · This is why we intend to build MLS into Google Messages and support its wide deployment across the industry by open sourcing our implementation ...
  42. [42]
    Google Messages testing RCS' new MLS encryption, Details page
    Jul 16, 2025 · Google Messages is now beginning to test MLS encryption for RCS. It starts with a new message “Details” (long-press on the chat/text) screen that's fullscreen.Missing: deployment | Show results with:deployment
  43. [43]
    What Google Messages features are rolling out [October 2025]
    Oct 19, 2025 · Universal Profile 3.0 adds support for the Messaging Layer Security (MLS) protocol that makes possible cross-platform (Android-iOS) RCS that is ...