<?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.29 (Ruby 3.4.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mahy-mls-ratchet-tree-options-02" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-02"/>
    <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="2025" month="April" day="22"/>
    <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>;
      opaque tree_signature<V>;
    case outOfBand:
      opaque tree_signature<V>;
    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 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.mahy-mls-xwing"/>) 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>TODO Security</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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-mimi-arch" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mimi-arch.xml">
          <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="21" month="November" year="2024"/>
            <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-01"/>
        </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="21" month="April" 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-05"/>
        </reference>
        <reference anchor="I-D.mahy-mls-xwing">
          <front>
            <title>Messaging Layer Security Ciphersuite using XWing Key Exchange Mechanism</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Unaffiliated</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>   This document registers a new Messaging Layer Security (MLS)
   ciphersuite using the X-Wing hybrid post-quantum resistant /
   traditional (PQ/T) Key Exchange Mechanism (KEM).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mahy-mls-xwing-00"/>
        </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 236?>

<section anchor="change-log">
      <name>Change Log</name>
      <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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
nyAAAA==

-->

</rfc>
