<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mahy-mls-ratchet-tree-options-04" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Ratchet tree options in MLS">Ways to convey the Ratchet Tree in Messaging Layer Security</title>
    <seriesInfo name="Internet-Draft" value="draft-mahy-mls-ratchet-tree-options-04"/>
    <author initials="R." surname="Mahy" fullname="Rohan Mahy">
      <organization>Rohan Mahy Consulting Services</organization>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>sec</area>
    <workgroup>MLS</workgroup>
    <keyword>ratchet_tree</keyword>
    <keyword>GroupInfo</keyword>
    <keyword>PartialGroupInfo</keyword>
    <abstract>
      <?line 37?>

<t>The Messaging Layer Security (MLS) protocol needs to share its
<tt>ratchet_tree</tt> object to welcome new clients into a group and in
external joins. While the protocol only defines a mechanism for sharing
the entire tree, most implementations use various optimizations to avoid
sending this structure repeatedly in large groups. This document describes
a way to convey these improvements in a standardized way and to
convey the parts of a GroupInfo object that are not visible to an
intermediary server.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mahy-mls-ratchet-tree-options/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        MLS Working Group mailing list (<eref target="mailto:mls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rohanmahy/mls-ratchet-tree-options/"/>.</t>
    </note>
  </front>
  <middle>
    <?line 48?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the Messaging Layer Security (MLS) protocol <xref target="RFC9420"/>, the members of
a group are organized into a ratchet tree, the full representation of which
is described in the <tt>ratchet_tree</tt> extension. The protocol specifies that
the full <tt>ratchet_tree</tt> can be included in Welcome messages or shared
externally, but describes no concrete way to convey it externally.
Likewise, when non-member clients want to join a group, they can do so using
an external commit. They require the GroupInfo and the <tt>ratchet_tree</tt>.</t>
      <t>Many MLS implementations allow external commits to get the GroupInfo from a
central server. In the MIMI architecture <xref target="I-D.ietf-mimi-arch"/>, this server
is called the hub, and for brevity we will use that term generically to refer
to any central server that provides either GroupInfo or <tt>ratchet_tree</tt>
objects to new members (i.e. welcomed clients or externally joining clients).</t>
      <t>When all handshake messages (commits and proposals) are sent as
<tt>PublicMessage</tt>s (or <tt>SemiPrivateMessage</tt>s
<xref target="I-D.mahy-mls-semiprivatemessage"/>),
the hub can construct its own version of the <tt>ratchet_tree</tt> and most of the
GroupInfo object as proposals and commits arrive.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document assumes familiarity with terms and structs from the MLS specification (<xref target="RFC9420"/>).</t>
    </section>
    <section anchor="conveying-the-ratchet-tree">
      <name>Conveying the Ratchet Tree</name>
      <t>The ratchet tree can be conveyed inline in its entirety. Alternatively,
this document describes how it can be referred to via an HTTPS URI, or
signaled that it is communicated out-of-band or reconstructed by the distribution service.</t>
      <sourcecode type="tls"><![CDATA[
enum {
  reserved(0),
  full(1),
  httpsUri(2),
  outOfBand(3),
  distributionService(4),
  (255)
} RatchetTreeRepresentation;

struct {
  RatchetTreeRepresentation representation;
  select (representation) {
    case full:
      Node ratchet_tree<V>;
    case httpsUrl:
      /* an HTTPS URL */
      opaque ratchet_tree_url<V>;
    case outOfBand:
      struct {};
    case distributionService:
      struct {};
  };
} RatchetTreeOption;
]]></sourcecode>
      <ul spacing="normal">
        <li>
          <t><tt>full</tt> indicates that the complete <tt>ratchet_tree</tt> extension is included in
the RatchetTreeOption object.</t>
        </li>
        <li>
          <t><tt>httpsUri</tt> indicates that the <tt>ratchet_tree</tt> can be downloaded from a
URI using the <tt>https:</tt> scheme.</t>
        </li>
        <li>
          <t><tt>outOfBand</tt> indicates that the <tt>ratchet_tree</tt> is communicated or
reconstructed via an unspecified out-of-band application protocol.</t>
        </li>
        <li>
          <t><tt>distributionService</tt> indicates that the <tt>ratchet_tree</tt> is reconstructed
by the Distribution Service (DS) from the handshake in the group. This is not
possible if any handshake messages are sent as an MLS <tt>PrivateMessage</tt>.</t>
        </li>
      </ul>
      <section anchor="conveying-the-ratchet-tree-using-https">
        <name>Conveying the ratchet tree using HTTPS</name>
        <t>This document defines a new MLS GroupContext extension <tt>ratchet_tree_source_domains</tt>.
When present, it contains a list of at least one domain name.</t>
        <sourcecode type="tls"><![CDATA[
struct {
    opaque domain<V>;
} Domain;

struct {
    Domain domains<V>
} DomainList;

DomainList ratchet_tree_source_domains;
]]></sourcecode>
        <t>When this extension is included in the GroupContext of a group, the URL where the <tt>ratchet_tree</tt> is fetched <bcp14>MUST</bcp14> come from one of the domains in the <tt>ratchet_tree_source_domains.domains</tt> list.</t>
      </section>
    </section>
    <section anchor="conveying-the-groupinfo">
      <name>Conveying the GroupInfo</name>
      <t>In some systems the GroupInfo is sent to a hub with a full <tt>ratchet_tree</tt>
extension always included with every commit. This is used in systems where
the hub may or may not track the membership of the group, but does not keep
the entire <tt>ratchet_tree</tt> data structure. As group size increases, the size
of the <tt>ratchet_tree</tt> extension in the GroupInfo scales roughly linearly.
Even using <tt>basic</tt> credentials, this object gets large quickly. If <tt>x509</tt>
credentials are used, the size increases much more rapidly, and if a
post-quantum ciphersuite (for example <xref target="I-D.ietf-mls-pq-ciphersuites"/>) is
used, the size will increase even more rapidly with each new member.</t>
      <t>In some systems that require unencrypted handshake messages, the hub tracks
commits as they are sent and constructs changes to the <tt>ratchet_tree</tt> as
each handshake is accepted. The hub could also recreate most of the fields
of a GroupInfo, with the exception of the GroupInfo signature and the
GroupInfo extensions, by inspecting those same unencrypted handshake
messages . This document defines a <tt>PartialGroupInfo</tt> struct that contains
these missing fields. <tt>PartialGroupInfo</tt> can be included with a commit and
any referenced proposals to reconstruct a GroupInfo and <tt>ratchet_tree</tt> from
the GroupInfo and <tt>ratchet_tree</tt> included in the previous epoch.</t>
      <sourcecode type="tls"><![CDATA[
enum {
  no_ratchet_tree(0),
  present(1),
  removed(2),
  added(3),
  (255)
} RatchetTreePresence;

struct {
  RatchetTreePresence ratchet_tree_presence;
  /* GroupInfo extensions excluding ratchet_tree */
  Extension group_info_extensions<V>;
  opaque signature<V>;
} PartialGroupInfo;
]]></sourcecode>
      <t>The value of <tt>ratchet_tree_presence</tt> is defined as follows:</t>
      <ul spacing="normal">
        <li>
          <t><tt>no_ratchet_tree</tt>: the <tt>ratchet_tree</tt> extension appears in neither the
current nor previous epochs.</t>
        </li>
        <li>
          <t><tt>present</tt>: there is a <tt>ratchet_tree</tt> extension in both the current and
previous epochs.</t>
        </li>
        <li>
          <t><tt>removed</tt>: there was a <tt>ratchet_tree</tt> extension in the previous epoch
but none in the current epoch.</t>
        </li>
        <li>
          <t><tt>added</tt>: there is a <tt>ratchet_tree</tt> extension in the current epoch
but there was none in the previous epoch.</t>
        </li>
      </ul>
      <t>The <tt>group_info_extensions</tt> object is the list of GroupInfo
extensions, omitting any <tt>ratchet_tree</tt> extension (if present). The only
other GroupInfo extension defined in the base protocol is <tt>external_pub</tt>,
the public key of the external commiter. The <tt>group_info_extensions</tt> is
often an empty list.</t>
      <t>The <tt>signature</tt> in the PartialGroupInfo is the signature produced by the
committer (represented by its leaf index in the GroupInfo as the <tt>signer</tt>).</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations of the MLS protocol <xref target="RFC9420"/> and the MLS architecture <xref target="RFC9750"/> apply.</t>
      <t>The integrity of the ratchet tree is assured using the MLS <tt>GroupContext.tree_hash</tt> (see <xref section="7.8" sectionFormat="of" target="RFC9420"/>).
The tree hash allows the receiver to verify that the ratchet tree is valid whether it is transmitted in the <tt>ratchet_tree</tt> extension or out-of-band.</t>
      <t>In some systems such as the MIMI protocol <xref target="I-D.ietf-mimi-protocol"/>, the DS receives a GroupInfo with each tentative commit message.
The DS cannot verify the correctness of a GroupInfo because it does not have the <tt>GroupInfo.extensions</tt>.
This is no different with a partial GroupInfo message.
In both partial and full GroupInfo presentation, given a specific <tt>GroupInfo.signature</tt>, the DS can merely verify that the extensions and the signature are consistent with each other and with the GroupContext.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="ratchettreesourcedomains-mls-extension-type">
        <name>ratchet_tree_source_domains MLS Extension Type</name>
        <t>This document registers the <tt>ratchet_tree_source_domains</tt> Extension Type, using the template below:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD1 (new assignment by IANA)</t>
          </li>
          <li>
            <t>Name: ratchet_tree_source_domains</t>
          </li>
          <li>
            <t>Messages: GC</t>
          </li>
          <li>
            <t>Recommended: Y</t>
          </li>
          <li>
            <t>Reference: RFC XXXX</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9420" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9420.xml">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="R. Robert" initials="R." surname="Robert"/>
            <author fullname="J. Millican" initials="J." surname="Millican"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9750">
          <front>
            <title>The Messaging Layer Security (MLS) Architecture</title>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="S. Inguva" initials="S." surname="Inguva"/>
            <author fullname="A. Duric" initials="A." surname="Duric"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>The Messaging Layer Security (MLS) protocol (RFC 9420) provides a group key agreement protocol for messaging applications. MLS is designed to protect against eavesdropping, tampering, and message forgery, and to provide forward secrecy (FS) and post-compromise security (PCS).</t>
              <t>This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS. It provides guidance on building a group messaging system and discusses security and privacy trade-offs offered by multiple security mechanisms that are part of the MLS protocol (e.g., frequency of public encryption key rotation). The document also provides guidance for parts of the infrastructure that are not standardized by MLS and are instead left to the application.</t>
              <t>While the recommendations of this document are not mandatory to follow in order to interoperate at the protocol level, they affect the overall security guarantees that are achieved by a messaging application. This is especially true in the case of active adversaries that are able to compromise clients, the Delivery Service (DS), or the Authentication Service (AS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9750"/>
          <seriesInfo name="DOI" value="10.17487/RFC9750"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-mimi-arch">
          <front>
            <title>An Architecture for More Instant Messaging Interoperability (MIMI)</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   The More Instant Messaging Interoperability (MIMI) working group is
   defining a suite of protocols that allow messaging providers to
   interoperate with one another.  This document lays out an overall
   architecture enumerating the MIMI protocols and how they work
   together to enable an overall messaging experience.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-arch-02"/>
        </reference>
        <reference anchor="I-D.mahy-mls-semiprivatemessage">
          <front>
            <title>Semi-Private Messages in the Messaging Layer Security (MLS) Protocol</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="16" month="October" year="2025"/>
            <abstract>
              <t>   This document defines a SemiPrivateMessage for the Messaging Layer
   Security (MLS) protocol.  It allows members to share otherwise
   private commits and proposals with a designated list of external
   receivers rather than send these handshakes in a PublicMessage.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mahy-mls-semiprivatemessage-06"/>
        </reference>
        <reference anchor="I-D.ietf-mls-pq-ciphersuites">
          <front>
            <title>ML-KEM and Hybrid Cipher Suites for Messaging Layer Security</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
         </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   This document registers new cipher suites for Messaging Layer
   Security (MLS) based on "post-quantum" algorithms, which are intended
   to be resilient to attack by quantum computers.  These cipher suites
   are constructed using the new Module-Lattice Key Encapsulation
   Mechanism (ML-KEM), optionally in combination with traditional
   elliptic curve KEMs, together with appropriate authenticated
   encryption, hash, and signature algorithms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mls-pq-ciphersuites-02"/>
        </reference>
        <reference anchor="I-D.ietf-mimi-protocol">
          <front>
            <title>More Instant Messaging Interoperability (MIMI) using HTTPS and MLS</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Matthew Hodgson" initials="M." surname="Hodgson">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Konrad Kohbrok" initials="K." surname="Kohbrok">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <author fullname="Travis Ralston" initials="T." surname="Ralston">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies the More Instant Messaging Interoperability
   (MIMI) transport protocol, which allows users of different messaging
   providers to interoperate in group chats (rooms), including to send
   and receive messages, share room policy, and add participants to and
   remove participants from rooms.  MIMI describes messages between
   providers, leaving most aspects of the provider-internal client-
   server communication up to the provider.  MIMI integrates the
   Messaging Layer Security (MLS) protocol to provide end-to-end
   security assurances, including authentication of protocol
   participants, confidentiality of messages exchanged within a room,
   and agreement on the state of the room.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-protocol-05"/>
        </reference>
        <reference anchor="I-D.robert-mimi-delivery-service">
          <front>
            <title>MIMI Delivery Service</title>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Konrad Kohbrok" initials="K." surname="Kohbrok">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="6" month="November" year="2023"/>
            <abstract>
              <t>   This document describes the MIMI Delivery Service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-robert-mimi-delivery-service-06"/>
        </reference>
      </references>
    </references>
    <?line 243?>

<section anchor="change-log">
      <name>Change Log</name>
      <section anchor="changes-between-02-and-03">
        <name>Changes between -02 and -03</name>
        <ul spacing="normal">
          <li>
            <t>Added Security Considerations</t>
          </li>
          <li>
            <t>Removed unneeded tree_signature</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-between-01-and-02">
        <name>Changes between -01 and -02</name>
        <ul spacing="normal">
          <li>
            <t>Added ratchet_tree_source_domains extension</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-between-00-and-01">
        <name>Changes between -00 and -01</name>
        <ul spacing="normal">
          <li>
            <t>Removed ratchet tree patch options and notation.</t>
          </li>
          <li>
            <t>Added <tt>ratchet_tree_presence</tt> options for out-of-band, via HTTPS, and
reconstructed by the delivery service.</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The PartialGroupInfo was first introduced in
<xref target="I-D.robert-mimi-delivery-service"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
