<?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.24 (Ruby 3.4.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mahy-mimi-identity-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="MIMI Identity">More Instant Messaging Interoperability (MIMI) Identity Concepts</title>
    <seriesInfo name="Internet-Draft" value="draft-mahy-mimi-identity-03"/>
    <author fullname="Rohan Mahy">
      <organization>Rohan Mahy Consulting Services</organization>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="02"/>
    <area>Applications and Real-Time</area>
    <workgroup>More Instant Messaging Interoperability</workgroup>
    <keyword>identity</keyword>
    <abstract>
      <?line 87?>

<t>This document explores the problem space in instant messaging (IM) identity interoperability when using end-to-end encryption, for example with the MLS (Message Layer Security) Protocol.
It also describes naming schemes for different types of IM identifiers.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://rohanmahy.github.io/mimi-identity/draft-mahy-mimi-identity.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mahy-mimi-identity/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        More Instant Messaging Interoperability Working Group mailing list (<eref target="mailto:mimi@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mimi/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mimi/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rohanmahy/mimi-identity"/>.</t>
    </note>
  </front>
  <middle>
    <?line 93?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The IETF began standardization work on interoperable Instant Messaging in the late 1990s, but since that period, the typical feature set of these systems has expanded widely and was largely driven by the industry without much standardization or interoperability.
The More Instant Messaging Interop (MIMI) Working Group (see <xref target="I-D.ietf-mimi-arch"/>) was chartered to develop protocols for IM interoperability using end-to-end encryption with the MLS protocol <xref target="RFC9420"/> and architecture (<xref target="I-D.ietf-mls-architecture"/>).</t>
      <t>The largest and most widely deployed Instant Messaging (IM) systems support
end-to-end message encryption using a variant of the Double
Ratchet protocol <xref target="DoubleRatchet"/> popularized by Signal and the companion X3DH <xref target="X3DH"/>
key agreement protocol. Many vendors have also implemented MLS for IM.
These protocols provide confidentiality
of sessions (with Double Ratchet) and groups (with MLS) once the participants in
a conversation have been identified. However, the current state of most systems
require the end user to manually verify key fingerprints or blindly trust their
instant messaging service not to add and remove participants from their
conversations. This problem is exacerbated when these systems federate or try to
interoperate. Even systems that have some type of Key Transparency <xref target="I-D.ietf-keytrans-architecture"/> are essentially Trust On First Use (TOFU).</t>
      <t>While some single vendor solutions exist, clearly an interoperable mechanism
for IM identity is needed. This document builds on the roles described in
<xref target="I-D.barnes-mimi-identity-arch"/>.
First this document attempts to articulate a clear description and semantics
of different identifiers used in IM systems. Next the document provides an
example of how to represent those identifiers in a common way. Then the document
discusses different trust approaches.
Finally the document surveys various
cryptographic methods of making and verifying assertions about these
identifiers.</t>
      <t>Arguably, as with email, the success of XMPP <xref target="RFC6120"/> was partially due to
the ease of communicating among XMPP users in different domains with
different XMPP servers, and a single
standardized address format for all XMPP users.</t>
      <t>The goal of this document is to explore the problem space, so that the IETF community
can write a consensus requirements document and framework.</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?>

</section>
    <section anchor="types-of-identifiers">
      <name>Types of Identifiers</name>
      <t>IM systems have a number of types of identifiers. Few (or perhaps no) systems use
every type of identifier described here. Not every configuration of the same
application necessarily use the same list of identifiers.</t>
      <dl>
        <dt>Domain identifier:</dt>
        <dd>
          <t>A bare domain name is often used for discovery of a specific IM service such as
<tt>example.com</tt> or <tt>im.example.com</tt>. Many proprietary IM systems operate in a single
domain and have no concept of domains or federation.</t>
        </dd>
        <dt>Handle identifier:</dt>
        <dd>
          <t>A handle is an identifier which represents a user or service. A handle is usually
intended for external sharing (for example it could appear on or in a paper or
electronic business card).
IM systems could have handles which are unscoped (don't contain a domain)
or scoped (contain a domain).
Unscoped handles are often prefixed with a commercial at-sign ("@").
Handles in some services are mutable. For example, <tt>@alice_smith</tt> could
become <tt>@alice_jones</tt> or <tt>@alex_smith</tt> after change of marital status or
gender transition.</t>
        </dd>
      </dl>
      <table>
        <thead>
          <tr>
            <th align="left">Protocol</th>
            <th align="left">Identifier Address</th>
            <th align="left">Example</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Jabber/XMPP</td>
            <td align="left">Bare JID</td>
            <td align="left">
              <tt>juliet@example.com</tt></td>
          </tr>
          <tr>
            <td align="left">SIP</td>
            <td align="left">Address of Record (AOR)</td>
            <td align="left">
              <tt>sip:juliet@example.com</tt></td>
          </tr>
          <tr>
            <td align="left">IRC</td>
            <td align="left">nick</td>
            <td align="left">
              <tt>@juliet</tt></td>
          </tr>
          <tr>
            <td align="left">Generic example</td>
            <td align="left">"unscoped handle"</td>
            <td align="left">
              <tt>@juliet</tt></td>
          </tr>
          <tr>
            <td align="left">Generic example</td>
            <td align="left">"scoped handle"</td>
            <td align="left">
              <tt>@juliet@example.com</tt></td>
          </tr>
          <tr>
            <td align="left">Email style</td>
            <td align="left">Mailbox address</td>
            <td align="left">
              <tt>juliet@example.com</tt></td>
          </tr>
        </tbody>
      </table>
      <t>Table: some Handle identifier styles</t>
      <dl>
        <dt>User or account identifier:</dt>
        <dd>
          <t>Many systems have an internal representation of a user, service, or account separate
from the handle. This is especially useful when the handle is allowed to change.
Unlike the handle, this identifier typically cannot change.  For example the user
identifier could be a UUID or a similar construction. In IRC, a user identifier is
prefixed with a "!" character (example: <tt>!jcapulet1583@example.com</tt> for the "nick"
<tt>@juliet</tt>).</t>
        </dd>
        <dt>Client or Device identifier:</dt>
        <dd>
          <t>Most commercial instant messaging systems allow a single user to have multiple
devices at the same time, for example a desktop computer and a phone. Usually, each
client instance of the user is represented with a separate identifier with separate
keys. Typically these identifiers are internal and not visible to the end-user (XMPP
fully qualified JIDs are a rare exception). The client or device identifier is often
based on a UUID, a persistent long-term unique identifier like an IMEI or MAC address,
a sequence number assigned by the IM service domain, or a combination. In some cases
the identifier may contain the internal user identifier.  These identifiers look quite
different across protocols and vendors.</t>
        </dd>
      </dl>
      <table>
        <thead>
          <tr>
            <th align="left">Protocol</th>
            <th align="left">Identifier Address</th>
            <th align="left">Example</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Jabber/XMPP</td>
            <td align="left">Fully-qualified JID</td>
            <td align="left">
              <tt>juliet/balcony@example.com</tt></td>
          </tr>
          <tr>
            <td align="left">SIP</td>
            <td align="left">Contact Address</td>
            <td align="left">
              <tt>sip:juliet@[2001:db8::225:96ff:fe12:3456]</tt></td>
          </tr>
          <tr>
            <td align="left">Wire</td>
            <td align="left">Qualified client ID</td>
            <td align="left">
              <tt>0fd3e0dc-a2ff-4965-8873-509f0af0a75c/072b@example.com</tt></td>
          </tr>
        </tbody>
      </table>
      <t>Table: some Client/Device identifier styles.</t>
      <dl>
        <dt>Group Chat or Channel identifier (external):</dt>
        <dd>
          <t>All or nearly all instant messaging systems have the concept of named groups
or channels which support more than 2 members and whose membership can change over time.
Many IM systems support an external identifier for these groups and allows them to
be addressed. In IRC and many other systems, they are identified with a "#"
(hash-mark) prefix. The proliferation of hashtags on social media makes this
convention less common on newer systems.</t>
        </dd>
        <dt>Group, Conversation, or Session identifiers (internal):</dt>
        <dd>
          <t>Most IM protocols use an internal representation for a group or 1:1 chat.
In MLS this is called the <tt>group_id</tt>. The Wire protocol uses the term
<tt>qualified conversation ID</tt> to refer to a group internally across domains.
Among implementations of the Double Ratchet family of protocols a unidirectional
sequence of messages from one client to another is referred to as a session, and
often has an associated session identifier.</t>
        </dd>
        <dt>Team or Workspace identifier:</dt>
        <dd>
          <t>A less common type of identifier among IM systems is used to describe a set of
users or accounts. This is described variously as a team, workspace, or tenant.</t>
        </dd>
      </dl>
      <t>One user often has multiple clients (for example a mobile and a desktop client).
A handle usually refers to a single user or rarely it may redirect to multiple users.
In some systems, the user identifier is a handle. In other systems the user
identifier is an internal representation, for example a UUID. Handles may be
changed/renamed, but hopefully internal user identifiers do not. Likewise,
group conversation identifiers could be internal or external
representations, whereas group names or channel names are often external
friendly representations.</t>
      <t>It is easy to imagine a loose hierarchy between these identifiers
(domain to user to device), but hard to agree on a specific fixed structure.
In some systems, the group chat or session itself has
a position in the hierarchy underneath the domain, the user, or the device.</t>
      <t>As described in the next section,
the author proposes using URIs as a container for interoperable IM identifiers.
All the examples use the <tt>mimi:</tt> URI scheme described in <xref target="I-D.ietf-mimi-protocol"/>. While other URI schemes could be used inside IM systems, the distinction between each type of identifier is implicit rather than explicit. Other schemes are fine within a closed system, as long as the comparison and validation rules are clear.</t>
    </section>
    <section anchor="representation-of-identifiers-using-uris">
      <name>Representation of identifiers using URIs</name>
      <t>Most if not all of the identifiers described in the previous section could be
represented as URIs. While individual instant messaging protocol-specific URI
schemes may not have been specified with this use of URIs in mind, the <tt>mimi:</tt>
URI scheme is flexible enough to represent all of or any needed subset of the
previously discussed identifiers.</t>
      <t>For example, the XMPP protocol can represent a domain, a handle (bare JID),
or a device (fully qualified JID).
Unfortunately its xmpp: URI scheme was only designed to represent handles and domains,
but the <tt>mimi:</tt> URI scheme can represent all XMPP identifiers:</t>
      <ul spacing="normal">
        <li>
          <t>mimi://example.com  (domain only)</t>
        </li>
        <li>
          <t>mimi://example.com/u/juliet  (bare JID - handle)</t>
        </li>
        <li>
          <t>mimi://example.com/d/juliet/balcony  (fully qualified JID - client/device)</t>
        </li>
      </ul>
      <t>Likewise the IRC protocol can represent domain, handle (nick), user (account),
and channel. The examples below represent a domain, a nick, a user, a local channel, and the projectX channel.</t>
      <ul spacing="normal">
        <li>
          <t>mimi://irc.example.com</t>
        </li>
        <li>
          <t>mimi://irc.example.com/u/juliet</t>
        </li>
        <li>
          <t>mimi://irc.example.com/u/jcapulet1583@example.com</t>
        </li>
        <li>
          <t>mimi://irc.example.com/r/local_announcements_channel</t>
        </li>
        <li>
          <t>mimi://irc.example.com/r/projectX</t>
        </li>
      </ul>
      <t>The first path segment in a MIMI URI discriminates the type of identifier and makes the type of resource unambiguous</t>
      <table>
        <name>types of MIMI URI identifiers</name>
        <thead>
          <tr>
            <th align="left">id type</th>
            <th align="left">example URI</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Provider</td>
            <td align="left">mimi://a.example</td>
          </tr>
          <tr>
            <td align="left">User</td>
            <td align="left">mimi://a.example/u/alice</td>
          </tr>
          <tr>
            <td align="left">Pseudonym</td>
            <td align="left">mimi://a.example/p/crazykoala75</td>
          </tr>
          <tr>
            <td align="left">Client</td>
            <td align="left">mimi://a.example/d/ClientA1 or mimi://a.example/d/alice/ClientA1</td>
          </tr>
          <tr>
            <td align="left">Room</td>
            <td align="left">mimi://a.example/r/clubhouse</td>
          </tr>
          <tr>
            <td align="left">MLS group</td>
            <td align="left">mimi://a.example/g/TII9t5viBrXiXc</td>
          </tr>
          <tr>
            <td align="left">Team</td>
            <td align="left">mimi://a.example/t/engineering</td>
          </tr>
        </tbody>
      </table>
      <t>A Pseudonym is a user identifier that is designed to conceal the identity of its
user, but may or may not wish to reveal its pseudonymous nature. In that way a pseudonym could be represented with a first path segment as a User or as Pseudonym, according to local policy.</t>
      <ul empty="true">
        <li>
          <t>Note that if there is no domain, a URI scheme could use
<tt>local.invalid</tt> in place of a resolvable domain name.</t>
        </li>
      </ul>
      <artwork><![CDATA[
mimi://local.invalid/u/alice.smith
]]></artwork>
    </section>
    <section anchor="different-root-of-trust-approaches">
      <name>Different Root of Trust Approaches</name>
      <t>Different IM applications and different users of these applications may have
different trust needs. The following subsections describe three specific trust
models for example purposes. Note that the descriptions in this section use certificates
in their examples, but nothing in this section should preclude using a different
technology which provides similar assertions.</t>
      <section anchor="centralized-credential-hierarchy">
        <name>Centralized credential hierarchy</name>
        <t>In this environment, end-user devices trust a centralized authority operating on
behalf of their domain (for example, a Certificate Authority), that is trusted by
all the other clients in that domain (and can be trusted by federated domains). The
centralized authority could easily be associated with a traditional Identity
Provider (IdP). This is a popular trust model for companies running services for
their own employees and contractors. This is also popular with governments providing
services to their employees and contractors or to residents or citizens for whom
they provide services.</t>
        <t>For example XYZ Corporation could make an assertion that "I represent XYZ
Corporation and this user demonstrated she is Alice Smith of the Engineering
department of XYZ Corporation."</t>
        <t>In this model, a Certificate Authority (CA) run by or on behalf of the domain generates
certificates for one or more of the identifier types described previously. The
specifics of the assertions are very important for interoperability. Even within
this centralized credential hierarchy model, there are at least three ways to make
assertions about different types of IM identifiers with certificates:</t>
        <dl>
          <dt>Example 1 (Separate Certs):</dt>
          <dd>
            <t>The CA generates one certificate for a user Alice which is used to sign Alice's profile.
The CA also generates a separate certificate for Alice's desktop client and a third
for her phone client. The private key in each client certificate is used to sign MLS KeyPackages or
Double Ratchet-style prekeys.</t>
          </dd>
          <dt>Example 2 (Single Combined Cert):</dt>
          <dd>
            <t>The CA generates a single certificate per client which covers both Alice's handle and
her client identifier in the same certificate. The private key in each of these certificates is used to
sign MLS KeyPackages or Double Ratchet-style prekeys. Note that there is no separate
key pair used to refer to the user distinct from a device. All the legitimate device
key pairs would be able to sign on behalf of the user.</t>
          </dd>
          <dt>Example 3 (Cascading Certs):</dt>
          <dd>
            <t>The CA generates a single user certificate for Alice's handle and indicates that the
user certificate can issue its own certificates.
The user certificate then generates one certificate for Alice's desktop client and
another certificate for Alice's phone client.
The private key in each client certificate is used to sign MLS KeyPackages or
Double Ratchet-style prekeys.</t>
          </dd>
        </dl>
        <t>What is important in all these examples is that other clients involved in a session or
group chat can validate the relevant credentials of the other participants in the
session or group chat. Clients would need to be able to configure the relevant
trust roots and walk any hierarchy unambiguously.</t>
        <t>When using certificates, this could include associating an Issuer URI in
the issuerAltName with one of the URIs in the subjectAltName of another cert.
Other mechanisms have analogous concepts.</t>
        <t>Regardless of the specific implementation, this model features a strong hierarchy.</t>
        <t>The advantage of this approach is to take advantage of a strong hierarchy which is
already in use at an organization, especially if the organization is using an
Identity Provider (IdP) for most of its services.  Even if the IM system is
compromised, the presence of client without the correct end-to-end identity would
be detected immediately.</t>
        <t>The disadvantage of this approach is that if the CA colludes with a malicious IM
system or both are compromised, an attacker or malicious IM system
can easily insert a rogue client which would be as
trusted as a legitimate client.</t>
      </section>
      <section anchor="web-of-trust">
        <name>Web of Trust</name>
        <t>In some communities, it may be appropriate to make assertions about IM
identity by relying on a web of trust. The following specific example of this general
method is used by the OMEMO community presented by <xref target="Schaub"/> and proposed in <xref target="Matrix1756"/>.
This document does not
take any position on the specifics of the proposal, but uses it to illustrate
a concrete implementation of a web of trust involving IM identifiers.</t>
        <t>The example uses a web of trust with cross signing as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Each user (Alice and Bob) has a master key.</t>
          </li>
          <li>
            <t>Alice's master key signs exactly two keys:
            </t>
            <ul spacing="normal">
              <li>
                <t>Alice's device-signing key (which then signs her own device keys), and</t>
              </li>
              <li>
                <t>Alice's user-signing key (which can sign the master key of other users).</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>The advantage of this approach is that if Alice's and Bob's keys, implementations,
and devices are not compromised,
there is no way the infrastructure can forge a key for Alice or Bob and insert
an eavesdropper or active attacker.
The disadvantages of this approach are that this requires Alice's
device-signing key to be available any time
Alice wants to add a new device, and Alice's user-signing key to be available
anytime she wants to add a new user to her web of trust. This could either make
those operations inconvenient and/or unnecessarily expose either or both of those
keys.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="408" viewBox="0 0 408 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,128 L 8,176" fill="none" stroke="black"/>
              <path d="M 8,208 L 8,240" fill="none" stroke="black"/>
              <path d="M 48,208 L 48,240" fill="none" stroke="black"/>
              <path d="M 72,48 L 72,80" fill="none" stroke="black"/>
              <path d="M 72,208 L 72,240" fill="none" stroke="black"/>
              <path d="M 88,128 L 88,176" fill="none" stroke="black"/>
              <path d="M 112,128 L 112,176" fill="none" stroke="black"/>
              <path d="M 112,208 L 112,240" fill="none" stroke="black"/>
              <path d="M 144,48 L 144,80" fill="none" stroke="black"/>
              <path d="M 192,128 L 192,176" fill="none" stroke="black"/>
              <path d="M 216,128 L 216,176" fill="none" stroke="black"/>
              <path d="M 272,48 L 272,80" fill="none" stroke="black"/>
              <path d="M 296,128 L 296,176" fill="none" stroke="black"/>
              <path d="M 296,208 L 296,240" fill="none" stroke="black"/>
              <path d="M 320,128 L 320,176" fill="none" stroke="black"/>
              <path d="M 336,208 L 336,240" fill="none" stroke="black"/>
              <path d="M 344,48 L 344,80" fill="none" stroke="black"/>
              <path d="M 360,208 L 360,240" fill="none" stroke="black"/>
              <path d="M 400,128 L 400,176" fill="none" stroke="black"/>
              <path d="M 400,208 L 400,240" fill="none" stroke="black"/>
              <path d="M 72,48 L 144,48" fill="none" stroke="black"/>
              <path d="M 272,48 L 344,48" fill="none" stroke="black"/>
              <path d="M 152,64 L 176,64" fill="none" stroke="black"/>
              <path d="M 216,64 L 264,64" fill="none" stroke="black"/>
              <path d="M 72,80 L 144,80" fill="none" stroke="black"/>
              <path d="M 272,80 L 344,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 88,128" fill="none" stroke="black"/>
              <path d="M 112,128 L 192,128" fill="none" stroke="black"/>
              <path d="M 216,128 L 296,128" fill="none" stroke="black"/>
              <path d="M 320,128 L 400,128" fill="none" stroke="black"/>
              <path d="M 8,176 L 88,176" fill="none" stroke="black"/>
              <path d="M 112,176 L 192,176" fill="none" stroke="black"/>
              <path d="M 216,176 L 296,176" fill="none" stroke="black"/>
              <path d="M 320,176 L 400,176" fill="none" stroke="black"/>
              <path d="M 8,208 L 48,208" fill="none" stroke="black"/>
              <path d="M 72,208 L 112,208" fill="none" stroke="black"/>
              <path d="M 296,208 L 336,208" fill="none" stroke="black"/>
              <path d="M 360,208 L 400,208" fill="none" stroke="black"/>
              <path d="M 8,240 L 48,240" fill="none" stroke="black"/>
              <path d="M 72,240 L 112,240" fill="none" stroke="black"/>
              <path d="M 296,240 L 336,240" fill="none" stroke="black"/>
              <path d="M 360,240 L 400,240" fill="none" stroke="black"/>
              <path d="M 116,88 L 132,120" fill="none" stroke="black"/>
              <path d="M 184,64 L 204,104" fill="none" stroke="black"/>
              <path d="M 228,104 L 236,120" fill="none" stroke="black"/>
              <path d="M 324,88 L 340,120" fill="none" stroke="black"/>
              <path d="M 68,120 L 84,88" fill="none" stroke="black"/>
              <path d="M 172,120 L 184,96" fill="none" stroke="black"/>
              <path d="M 196,88 L 208,64" fill="none" stroke="black"/>
              <path d="M 268,120 L 284,88" fill="none" stroke="black"/>
              <path d="M 204,104 L 228,104" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="272,64 260,58.4 260,69.6" fill="black" transform="rotate(0,264,64)"/>
              <polygon class="arrowhead" points="160,64 148,58.4 148,69.6" fill="black" transform="rotate(180,152,64)"/>
              <g class="text">
                <text x="104" y="36">Alice</text>
                <text x="208" y="36">:</text>
                <text x="304" y="36">Bob</text>
                <text x="208" y="52">:</text>
                <text x="108" y="68">master</text>
                <text x="308" y="68">master</text>
                <text x="208" y="84">:</text>
                <text x="208" y="116">:</text>
                <text x="44" y="148">device</text>
                <text x="148" y="148">user</text>
                <text x="208" y="148">:</text>
                <text x="252" y="148">user</text>
                <text x="356" y="148">device</text>
                <text x="48" y="164">signing</text>
                <text x="152" y="164">signing</text>
                <text x="208" y="164">:</text>
                <text x="256" y="164">signing</text>
                <text x="360" y="164">signing</text>
                <text x="208" y="180">:</text>
                <text x="32" y="196">/</text>
                <text x="80" y="196">\</text>
                <text x="208" y="196">:</text>
                <text x="328" y="196">/</text>
                <text x="376" y="196">\</text>
                <text x="208" y="212">:</text>
                <text x="28" y="228">A1</text>
                <text x="92" y="228">A2</text>
                <text x="208" y="228">:</text>
                <text x="316" y="228">B1</text>
                <text x="380" y="228">B2</text>
                <text x="208" y="244">:</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
          Alice          :          Bob
        +--------+       :       +--------+
        | master |<---\  /------>| master |
        +--------+     \/:       +--------+
         /    \       / \___      /     \
        /      \     /   :  \    /       \
+---------+  +---------+  +---------+  +---------+
| device  |  |  user   | :|  user   |  | device  |
| signing |  | signing | :| signing |  | signing |
+---------+  +---------+ :+---------+  +---------+
   /     \               :              /     \
+----+  +----+           :          +----+  +----+
| A1 |  | A2 |           :          | B1 |  | B2 |
+----+  +----+           :          +----+  +----+
]]></artwork>
        </artset>
        <t>Figure: Alice and Bob cross sign each other's master keys</t>
        <t>A detailed architecture for Web of Trust key infrastructure which is not specific to
Instant Messaging systems is the Mathematical Mesh <xref target="I-D.hallambaker-mesh-architecture"/>.</t>
      </section>
      <section anchor="well-known-service-cross-signing">
        <name>Well-known service cross signing</name>
        <t>In this trust model, a user with several services places a cross signature for all
their services at a well known location on each of those services (for example a
personal web site .well-known page, an IM profile, the profile page on an open source code
repository, a social media About page, a picture sharing service profile page,
a professional interpersonal-networking site contact page, and a dating application profile).
This concept was perhaps first implemented for non-technical users by Keybase.
The user of this scheme likely expects that at any given moment
there is a risk that one of these services is compromised or controlled by a
malicious entity, but expects the likelihood of all or most of their services being
compromised simultaneously is very low.</t>
        <t>The advantage of this approach is that it does not rely on anyone but the user
herself. This disadvantage is that if an attacker is able to delete or forge cross
signatures on a substantial number of the services, the forged assertions would looks as
legitimate as the authentic assertions (or more convincing).</t>
      </section>
      <section anchor="combining-approaches">
        <name>Combining approaches</name>
        <t>These different trust approaches could be combined, however the verification rules
become more complicated. Among other problems, implementers need to decide what happens
if two different trust methods come to incompatible conclusions. For example, what
should the application do if web of trust certificates indicate that a client or
user should be trusted, but a centralized hierarchy indicates a client should not be,
or vice versa.</t>
      </section>
    </section>
    <section anchor="cryptographic-mechanisms-to-make-assertions-about-im-identifiers">
      <name>Cryptographic mechanisms to make assertions about IM identifiers</name>
      <section anchor="x509-certificates">
        <name>X.509 Certificates</name>
        <t>X.509 certificates are a mature technology for making assertions about identifiers.
The supported assertions and identifier formats used in certificates are
somewhat archaic, inflexible, and pedantic, but well understood. The semantics
are always that an Issuer asserts that a Subject has control of a specific
public key key pair.  A handful of additional attributes can be added as X.509
certificate extensions, although adding new extensions is laborious and
time consuming. In practice new extensions are only added to facilitate the
internals of managing the lifetime, validity, and applicability of certificates.
X.509 extensions are not appropriate for arbitrary assertions or claims about the
Subject.</t>
        <t>The Subject field
contains a Distinguished Name, whose Common Name (CN) field can contain free form text.
The subjectAltName can contain multiple other identifiers for the Subject
with types such as a URI, email address, DNS domain names, or
Distinguished Name. The rules about which combinations of extensions are valid
are defined in the Internet certificate profile described in <xref target="RFC5280"/>. As noted
in a previous section of this document, URIs are a natural container for holding
instant messaging identifiers. Implementations need to be careful to insure that the
correct semantics are applied to a URI, as they may be referring to different
objects (ex: a handle versus a client identifier). There is a corresponding
issuerAltName field as well.</t>
        <t>Certificates are already supported in MLS as a standard credential type which can
be included in MLS LeafNodes and KeyPackages.</t>
        <ul empty="true">
          <li>
            <t>In the X3DH key agreement protocol (used with Double Ratchet), the first message
in a session between a pair of clients can contain an optional
certificate, but this is not standardized.</t>
          </li>
        </ul>
        <t>Arguably the biggest drawback to using X.509 certificates is that administratively
it can be difficult to obtain certificates for entities that can also generate
certificates---specifically to issue a certificate with the standard extension
<tt>basicContraints=CA:TRUE</tt>.</t>
        <artwork><![CDATA[
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            04:dc:7a:4b:89:22:98:32:35:1f:91:84:f7:e9:4e:5d:24:c4
        Signature Algorithm: ED25519
        Issuer: O = example.com, CN = acme.example.com
        Validity
            Not Before: Jul  6 06:41:50 2022 GMT
            Not After : Oct  4 06:41:49 2022 GMT
        Subject: O = example.com, CN = Alice M. Smith
        Subject Public Key Info:
            Public Key Algorithm: ED25519
                ED25519 Public-Key:
                pub:
                    a0:6b:14:1e:a8:04:2a:09:6b:62:89:48:7c:da:5c:
                    68:73:b9:2a:8e:65:50:f9:15:70:bd:91:d7:86:52:
                    1e:4f
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Agreement
            X509v3 Extended Key Usage:
                TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier:
                4C:EA:12:32:79:03:F6:4F:47:29:37:5F:96:BB:E1:91:5E:FC
            X509v3 Authority Key Identifier:
                14:2E:B3:17:B7:58:56:CB:AE:50:09:40:E6:1F:AF:9D:8B:14
            Authority Information Access:
                OCSP - URI:http://oscp.acme.example.com
                CA Issuers - URI:http://acme.example.com/
            X509v3 Subject Alternative Name: critical
                URI:mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7,
                URI:mimi://example.com/u/alice.smith
            X509v3 Certificate Policies:
                [etc....]

    Signature Algorithm: ED25519
    Signature Value:
        da:21:49:cc:7a:ac:ed:7b:27:59:30:81:d9:94:c0:d7:86:e7:
        db:b2:c9:ed:72:47:19:01:aa:2a:7f:24:d6:ce:2f:4f:9d:fe:
        ab:8b:e2:0e:43:1b:62:b1:1d:12:3f:78:a2:bf:cc:7b:52:ef:
        df:c1:94:5a:3f:ca:a1:f6:88:02
]]></artwork>
        <t>Figure: mocked up IM client certificate with both client id and handle</t>
        <t>If implementing cascading certificates, the Issuer might be a expressed as a URI in the
issuerAltName extension.</t>
        <artwork><![CDATA[
TBC
]]></artwork>
        <t>Figure: mocked up IM client certificate issued by the domain for the handle URI as
Subject. Then another certificate issued by the handle URI for the device URI as its
Subject.</t>
      </section>
      <section anchor="json-web-tokens-jwt-and-cbor-web-tokens-cwt">
        <name>JSON Web Tokens (JWT) and CBOR Web Tokens (CWT)</name>
        <t>JSON Web Signing (JWS) <xref target="RFC7515"/> and JSON Web Tokens (JWT) <xref target="RFC7519"/> are toolkits for
making a variety of cryptographic claims. (CBOR Web Tokens <xref target="RFC8392"/> are semantically
equivalent to JSON Web Tokens.)
Both token types are an appealing option for carrying IM identifiers and assertions, as the
container type is flexible and the format is easy to implement. Unfortunately the
semantics for validating identifiers are not as rigorously specified as for
certificates at the time of this writing, and require
additional specification work.</t>
        <t>The JWT Demonstrating Proof of Possession (DPoP) specification <xref target="I-D.ietf-oauth-dpop"/>
adds the ability
to make claims which involve proof of possession of a (typically private) key, and
to share those claims with third parties. The owner of a the key generates a <tt>proof</tt>
which is used to fetch an <tt>access token</tt> which can then be verified by a third party.
JWT DPoP was actually created as an improvement over Bearer tokens used for
authentication, so its use as a certificate-like assertion may require substantial
clarification and possibly additional profile work.</t>
        <t>While there is support for token introspection, in general access tokens need
online verification between resources and the token issuer.</t>
        <artwork><![CDATA[
{
    "typ": "dpop+jwt",
    "alg": "EdDSA",
    "jwk": {
         "typ": "OKP",
         "crv": "Ed25519",
         "x": "9kaYCj...3lnwW"
    }
}
.
{
    "jti": "7535d380-673e-4219-8410-b8df679c306e",
    "iat": 1653455836315,
    "htm": "POST",
    "htu": "https://example.com/client/token",
    "nonce": "WE88EvOBzbqGerznM-2P_AadVf7374y0cH19sDSZA2A",
    "sub": "mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7",
    "exp": 1661231836315
}
]]></artwork>
        <t>Figure: JOSE header and claims sections of a JWT DPoP proof referring to an IM URI</t>
        <t>Finally, there are selective disclosure variants of JWTs <xref target="I-D.ietf-oauth-selective-disclosure-jwt"/> and CWTs <xref target="I-D.ietf-spice-sd-cwt"/> available.</t>
      </section>
      <section anchor="verifiable-credentials">
        <name>Verifiable Credentials</name>
        <t>Verifiable Credentials (VC) is a framework for exchanging machine-readable
credentials <xref target="W3C.REC-vc-data-model-20191119"/>. The framework is well
specified and has a very flexbile assertion structure, which
in addition to or in place of basic names and identifiers, can
optionally include arbitrary attributes (ex: security clearance, age, nationality)
up to and including selective disclosure depending on the profile being used.
For example, a verifiable credential could be used to assert that an IM client
belongs to a Customer Support agent of Sirius Cybernetic Corp, who speaks
English and Vogon, and is qualified to give support for their Ident-I-Eeze product,
without revealing the name of the agent.</t>
        <t>The VC specification describes both Verifiable Credentials and Verifiable Presentations.
A Verifiable Credential contains assertions made by an issuer. Holders assemble
credentials into a Verifiable Presentation. Verifiers can validate the Verifiable
Credentials in the Verifiable Presentation. Specific credential types are defined by
referencing ontologies. The example at the end of this section uses the
VCard ontology <xref target="W3C.WD-vcard-rdf-20130924"/>.</t>
        <t>Most of the examples for Verifiable Credentials and many of the implementations by commercial identity
providers use Decentralized Identifiers (DIDs), but there is no requirement to use DID or the associated esoteric cryptography
in a specific VC profile.  (Indeed the VC profile for COVID-19 for vaccination
does not use DIDs). The most significant problem with VCs are that
there is no off-the-shelf mechanism for proof of possession of a private key, and no
consensus to use VCs for user authentication (as opposed to using VCs to assert identity attributes).</t>
        <t>While the examples in this document are represented as JSON, including whitespace,
the actual JSON encoding used for VC has no whitespace.</t>
        <t>The first example shows a fragment of the claims in a JWT-based VC proof,
referencing the VCard ontology.</t>
        <artwork><![CDATA[
{
  "sub": "mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7",
  "jti": "http://im.example.com/@alice_smith/devices/04c7",
  "iss": "https://im.example.com/keys/issuer.jwk",
  "nbf": 1653455836315,
  "iat": 1653455836315,
  "exp": 1661231836315,
  "nonce": "WE88EvOBzbqGerznM-2P_AadVf7374y0cH19sDSZA2A",
  "vc": {
    "@context": [
      "https://www.w3.org/2018/credentials/v1",
      "http://www.w3.org/2006/vcard/ns"
    ],
    "type": ["VerifiableCredential", "ImDeviceCredential"],
    "credentialSubject": {
      "fn": "Alice M. Smith",
      "hasOrganizationName": "Example Corp",
      "hasOrganizationalUnit": "Engineering",
      "hasInstantMessage": "mimi://example.com/u/alice_smith",
      "hasInstantMessage": "mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7"
    }
  }
}
]]></artwork>
        <t>Figure: fragment of example VC claims using VCard ontology</t>
        <t>In the next example, there is a Verifiable Presentation (VP) JOSE header
and claims which contains two embedded VCs for the same holder. The JOSE
header contains an actual Ed25519 public key. The corresponding key id
could be expressed using the <tt>kid</tt> type with a
<tt>urn:ietf:params:oauth:jwk-thumbprint:sha-256:</tt> prefix, the actual fingerprint
value would be <tt>mJafqNxZWNAIkaDGPlNyhccFSAqnRjhyA3FJNm0f8I8</tt>.</t>
        <t>The first VC contains a full name and a handle-style identifier. It is created
by one issuer (for example an identity provider), and uses standard claims from
OpenID Connect Core. The second VC contains a
client or device identifier and is created by a different issuer (the IM service).</t>
        <t>Note that in the text version of this document, the <tt>jws</tt> values and
<tt>verification Method</tt> URLs are truncated.</t>
        <artwork><![CDATA[
{
 "typ": "dpop+jwt",
 "alg": "EdDSA",
 "jwk": {
  "typ": "OKP",
  "crv": "Ed25519",
  "x": "6UnHNcJ_iFCkToj9ZabfFgFTI1LPoWo0ZAdv96EyaEw"
 }
}
.
{
 "@context": [
   "https://www.w3.org/2018/credentials/v1"
 ],
 "type": [
   "VerifiablePresentation"
 ],
 "verifiableCredential": [
    {
     "@context": [
       "https://www.w3.org/2018/credentials/v1",
       "https://openid.net/2014/openid-connect-core/v1",
     ],
     "id": "https://idp.example.com/credentials/1872",
     "type": [
       "VerifiableCredential",
       "ImUserIdentityCredential"
     ],
     "issuer": {
       "id": "dns:idp.example.com"
     },
     "issuanceDate": "2022-06-19T15:30:16Z",
     "credentialSubject": {
       "sub": "mimi://example.com/u/a_smith",
       "name": "Smith, Alice (Allie)",
       "preferred_username": "@a_smith@example.com",
     },
     "proof": {
       "type": "Ed25519Signature2018",
       "created": "2022-06-19T15:30:15Z",
       "jws": "LedhVWaZvgklWAsPlGU4aEOuxPgXD16-aL5X7RNAyoXRvHPzYAqH8a3..Yot9dpKNuhWim2EwZUk-rmM876Xex_Con_HGseAqR6o",
       "proofPurpose": "assertionMethod",
       "verificationMethod":
         "https://idp.example.com/keys/Ed25519/sha256:wF6oONwUJSa3oi8vyBEG8S2CiZANGTN_8ZNXf4RYdyQ"
     }
    },
    {
     "@context": [
       "https://www.w3.org/2018/credentials/v1",
       "https://ietf.org/2022/oauth/MlsClientCredential/v1"
     ],
     "id": "https://im.example.com/credentials/9829381",
     "type": [
       "VerifiableCredential",
       "MlsClientIdCredential"
     ],
     "issuer": {
       "id": "dns:im.example.com"
     },
     "issuanceDate": "2022-09-08T19:23:24Z",
     "credentialSubject": {
       "sub": "mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7"
     },
     "proof": {
       "type": "Ed25519Signature2018",
       "created": "2021-03-19T15:30:15Z",
       "jws": "N8xYGopY8_2wJYuhFX5QMuvMBjzHPJqp06w73UL53BBdhxP9QxtqxTAk..jZrTdfr4kMkCOYhLoFG2L7roGZFmDzVSecfzNwf36lk",
       "proofPurpose": "assertionMethod",
       "verificationMethod": "https://im.example.com/keys/Ed25519/sha256:uZx-Zx68PzlMsd2PgslEWBCF-BDyjMUdVDbZhnCZIls"
     }
    }
 ],
 "id": "ebc6f1c2",
 "holder": "mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7",
 "proof": {
   "type": "Ed25519Signature2018",
   "created": "2022-09-22T11:10:04Z",
   "challenge": "Es6R6R4yI66_yw0d4ulfFQ",
     "domain": "mimi://example.com/d/SvPfLlwBQi-6oddVRrkqpw/04c7",
     "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..UIVpxg5CEOSrQtvpse2svUhgzM3iCZOvcJ-XjwNNd0o",
     "proofPurpose": "authentication",
     "verificationMethod": "urn:ietf:params:oauth:jwk-thumbprint:sha-256:mJafqNxZWNAIkaDGPlNyhccFSAqnRjhyA3FJNm0f8I8"
 }
}
]]></artwork>
        <t>Figure: Example VP with 2 embedded VCs</t>
      </section>
      <section anchor="other-possible-mechanisms">
        <name>Other possible mechanisms</name>
        <t>Below are other mechanisms which were not investigated due to a lack of time.</t>
        <ul spacing="normal">
          <li>
            <t>Anonymous credential schemes which can present attributes without the
long-term identity (ex: travel agent for specific team)</t>
          </li>
          <li>
            <t>Zero-knowledge proofs - new work is starting in the IETF to define JSON Web Proofs (JWP), a new format that uses zero knowledge proofs.</t>
          </li>
          <li>
            <t>Deniable credentials</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requires no action by IANA.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBC.
(The threat model for interoperable IM systems depends on many subtle details).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative 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="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="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>Unaffiliated</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="21" month="October" year="2024"/>
            <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-02"/>
        </reference>
        <reference anchor="RFC5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-dpop">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="Daniel Fett" initials="D." surname="Fett">
              <organization>Authlete</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="John Bradley" initials="J." surname="Bradley">
              <organization>Yubico</organization>
            </author>
            <author fullname="Torsten Lodderstedt" initials="T." surname="Lodderstedt">
              <organization>yes.com</organization>
            </author>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>independent</organization>
            </author>
            <author fullname="David Waite" initials="D." surname="Waite">
              <organization>Ping Identity</organization>
            </author>
            <date day="13" month="April" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level.  This mechanism allows for the detection of replay attacks with access and refresh tokens.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-dpop-16"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-selective-disclosure-jwt">
          <front>
            <title>Selective Disclosure for JWTs (SD-JWT)</title>
            <author fullname="Daniel Fett" initials="D." surname="Fett">
              <organization>Authlete</organization>
            </author>
            <author fullname="Kristina Yasuda" initials="K." surname="Yasuda">
              <organization>Keio University</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="1" month="March" year="2025"/>
            <abstract>
              <t>   This specification defines a mechanism for the selective disclosure
   of individual elements of a JSON-encoded data structure used as the
   payload of a JSON Web Signature (JWS).  The primary use case is the
   selective disclosure of JSON Web Token (JWT) claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-selective-disclosure-jwt-17"/>
        </reference>
        <reference anchor="I-D.ietf-spice-sd-cwt">
          <front>
            <title>SPICE SD-CWT</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="4" month="December" year="2024"/>
            <abstract>
              <t>   This document describes a data minimization technique for use with
   CBOR Web Token (CWT).  The approach is based on Selective Disclosure
   JSON Web Token (SD-JWT), with changes to align with CBOR Object
   Signing and Encryption (COSE).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spice-sd-cwt-02"/>
        </reference>
        <reference anchor="W3C.REC-vc-data-model-20191119" target="https://www.w3.org/TR/2019/REC-vc-data-model-20191119/">
          <front>
            <title>Verifiable Credentials Data Model 1.0</title>
            <author fullname="Brent Zundel" role="editor"/>
            <author fullname="Daniel Burnett" role="editor"/>
            <author fullname="Dave Longley" role="editor"/>
            <author fullname="Grant Noble" role="editor"/>
            <author fullname="Manu Sporny" role="editor"/>
            <date day="19" month="November" year="2019"/>
          </front>
          <seriesInfo name="W3C REC" value="REC-vc-data-model-20191119"/>
          <seriesInfo name="W3C" value="REC-vc-data-model-20191119"/>
        </reference>
        <reference anchor="W3C.WD-vcard-rdf-20130924" target="http://www.w3.org/TR/2013/WD-vcard-rdf-20130924/">
          <front>
            <title>vCard Ontology</title>
            <author fullname="James McKinney" role="editor"/>
            <author fullname="Renato Iannella" role="editor"/>
            <date day="24" month="September" year="2013"/>
          </front>
          <seriesInfo name="W3C WD" value="WD-vcard-rdf-20130924"/>
          <seriesInfo name="W3C" value="WD-vcard-rdf-20130924"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="OTR" target="https://otr.cypherpunks.ca/otr-wpes.pdf">
          <front>
            <title>Off-the-Record Communication, or, Why Not To Use PGP</title>
            <author initials="N." surname="Borisov" fullname="Nikita Borisov">
              <organization>UC Berkeley</organization>
            </author>
            <author initials="I." surname="Goldberg" fullname="Ian Goldberg">
              <organization/>
            </author>
            <author initials="E." surname="Brewer" fullname="Eric Brewer">
              <organization>UC Berkeley</organization>
            </author>
            <date year="2004" month="October" day="28"/>
          </front>
        </reference>
        <reference anchor="DoubleRatchet" target="https://signal.org/docs/specifications/doubleratchet/">
          <front>
            <title>The Double Ratchet Algorithm</title>
            <author initials="T." surname="Perrin" fullname="Trevor Perrin">
              <organization>Signal</organization>
            </author>
            <author initials="M." surname="Marlinspike" fullname="Moxie Marlinspike">
              <organization>Signal</organization>
            </author>
            <date year="2016" month="November" day="20"/>
          </front>
        </reference>
        <reference anchor="X3DH" target="https://signal.org/docs/specifications/x3dh/">
          <front>
            <title>The X3DH Key Agreement Protocol</title>
            <author initials="M." surname="Marlinspike" fullname="Moxie Marlinspike">
              <organization>Signal</organization>
            </author>
            <author initials="T." surname="Perrin" fullname="Trevor Perrin">
              <organization>Signal</organization>
            </author>
            <date year="2016" month="November" day="04"/>
          </front>
        </reference>
        <reference anchor="Schaub" target="https://www.youtube.com/watch?v=oc5844dyrsc">
          <front>
            <title>Cryptographic Identity: Conquering the Fingerprint Chaos (video)</title>
            <author initials="P." surname="Schaub" fullname="Paul Schaub">
              <organization/>
            </author>
            <date year="2021" month="April" day="06"/>
          </front>
        </reference>
        <reference anchor="Matrix1756" target="https://github.com/matrix-org/matrix-doc/blob/master/proposals/1756-cross-signing.md">
          <front>
            <title>Cross-signing devices with device signing keys</title>
            <author initials="H." surname="Chathi" fullname="Hubert Chathi">
              <organization>Element</organization>
            </author>
            <date year="2018" month="December" day="13"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-mls-architecture">
          <front>
            <title>The Messaging Layer Security (MLS) Architecture</title>
            <author fullname="Benjamin Beurdouche" initials="B." surname="Beurdouche">
              <organization>Inria &amp; Mozilla</organization>
            </author>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Windy Hill Systems, LLC</organization>
            </author>
            <author fullname="Emad Omara" initials="E." surname="Omara">
         </author>
            <author fullname="Srinivas Inguva" initials="S." surname="Inguva">
         </author>
            <author fullname="Alan Duric" initials="A." surname="Duric">
              <organization>Wire</organization>
            </author>
            <date day="3" month="August" year="2024"/>
            <abstract>
              <t>   The Messaging Layer Security (MLS) protocol (I-D.ietf-mls-protocol)
   provides a Group Key Agreement protocol for messaging applications.
   MLS is meant to protect against eavesdropping, tampering, message
   forgery, and provide Forward Secrecy (FS) and Post-Compromise
   Security (PCS).

   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 tradeoffs 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.

   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, or the authentication service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mls-architecture-15"/>
        </reference>
        <reference anchor="I-D.ietf-keytrans-architecture">
          <front>
            <title>Key Transparency Architecture</title>
            <author fullname="Brendan McMillion" initials="B." surname="McMillion">
         </author>
            <date day="25" month="February" year="2025"/>
            <abstract>
              <t>   This document defines the terminology and interaction patterns
   involved in the deployment of Key Transparency (KT) in a general
   secure group messaging infrastructure, and specifies the security
   properties that the protocol provides.  It also gives more general,
   non-prescriptive guidance on how to securely apply KT to a number of
   common applications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-keytrans-architecture-03"/>
        </reference>
        <reference anchor="I-D.barnes-mimi-identity-arch">
          <front>
            <title>Identity for E2E-Secure Communications</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Service</organization>
            </author>
            <date day="4" month="February" year="2025"/>
            <abstract>
              <t>   End-to-end (E2E) security is a critical property for modern user
   communications systems.  E2E security protects users' communications
   from tampering or inspection by intermediaries that are involved in
   delivering those communcations from one logical endpoint to another.
   In addition to the much-discussed E2E encryption systems, true E2E
   security requires an identity mechanism that prevents the
   communications provider from impersonating participants in a session,
   as a way to gain access to the session.  This document describes a
   high-level architecture for E2E identity, identifying the critical
   mechanisms that need to be specified.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-barnes-mimi-identity-arch-02"/>
        </reference>
        <reference anchor="RFC6120" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6120.xml">
          <front>
            <title>Extensible Messaging and Presence Protocol (XMPP): Core</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>The Extensible Messaging and Presence Protocol (XMPP) is an application profile of the Extensible Markup Language (XML) that enables the near-real-time exchange of structured yet extensible data between any two or more network entities. This document defines XMPP's core protocol methods: setup and teardown of XML streams, channel encryption, authentication, error handling, and communication primitives for messaging, network availability ("presence"), and request-response interactions. This document obsoletes RFC 3920. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6120"/>
          <seriesInfo name="DOI" value="10.17487/RFC6120"/>
        </reference>
        <reference anchor="I-D.hallambaker-mesh-architecture">
          <front>
            <title>Mathematical Mesh 3.0 Part I: Architecture Guide</title>
            <author fullname="Phillip Hallam-Baker" initials="P." surname="Hallam-Baker">
              <organization>ThresholdSecrets.com</organization>
            </author>
            <date day="14" month="October" year="2024"/>
            <abstract>
              <t>   The Mathematical Mesh is a Threshold Key Infrastructure that makes
   computers easier to use by making them more secure.  Application of
   threshold cryptography to key generation and use enables users to
   make use of public key cryptography across multiple devices with
   minimal impact on the user experience.

   This document provides an overview of the Mesh data structures,
   protocols and examples of its use.

   [Note to Readers] Discussion of this draft takes place on the
   MATHMESH mailing list (mathmesh@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/search/?email_list=mathmesh.

   This document is also available online at
   http://mathmesh.com/Documents/draft-hallambaker-mesh-
   architecture.html.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hallambaker-mesh-architecture-23"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
      </references>
    </references>
    <?line 781?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author wishes to thank Richard Barnes, Tom Leavy, Joel Alwen, Marta Mularczyk,
Pieter Kasselman, and Rifaat Shekh-Yusef for discussions about this topic.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
WQ7uuLEb2vg0mIjqtE57Nhhpcl2rcwvWajLQ+nUs148fyE/nOrytbR8v6VKH
vRDoooxOUWLtAAiJFGCjfXH2v+wjwrH3mISWYhTMunFxiRyEBAiJVgaD8T9y
sv8AvRqmKZo/Dj41BPuE7XURm93lg7KNhqCOd+Np36iRn4WxztKjwY09UY05
1hxtwtzjI3rE5NFRCSOdvu+HCFN/pGwOv7lCoXP4C1Ka3FbrY1kBB0pzpvyQ
MJ8iuxQqd2/f19wEs0hjjvOeCYNhL2zViKqqSxRIF6bY0i61QMkahh7XOvQl
hbcnsK9JlCvtFmaNj61SI1T09UT2uGcUtHMuzFkDf6EzUIFj4CUjJKIJxdPR
86oBC7z5F2BbGtbIOwOwIWehuZWLkXkMHCAW9C+E3gZe70JRR95+dz+o1BYF
8A428t2+GgR0q0KbGGCP4B1eMMXT0UxVJWopFnJhDBpyIDiyxLA7svXeqYE1
voWNXZnbHBESmY6DDhTvHzgk8ZNUK+SrShvs10J6gPG6eMlGHqxiwbPRytZs
b0MQzn0jgjpz/1jw7R7LenXq1dXF2cVVef1Eli6VAd4u4yvd+uamDnXpwFN5
nRtvX1UvdIUp3gtOgVux0bEsw3P6kteaQm0udLO9TokKEQWNI8AMNjr4pmGA
N0JWyJ4J0wWP5vARR+GrkQnHJc0TrXRlrZgSHMzFcD/XoEYNuS7PEIvZ7c06
LoLnJB3scIKB5EvqKAUb0NqIy/IpjctXBgtMCVykdPWcr5v/yRHJSNh153a6
3GZEJbnOgyATRW1Ah0dwnB1OeagOhsvdNBSSBglhPAVniRgBIg5N/qGdX8cx
NVWbOTVY4C9cVm01QYRDBTaRM+MbmS5tC1c5RE8gJ/cNM9+GjGkDwBNHGLSm
O6FGQ0FmALNrDQvpTBAbmKs8BGybmrRjLF9iOUhjjX/l61v1M6u7RvZyVm62
LTacm5btc6wpM4iZJjDLSmgbiTQGcxcVc440WDjw8eQZrgwL+1viqGSdbxjT
ZtJiluoKM7GqgIpYMKNNyRcUta+JHXCcKWV0xCZAcJa4N27UIzIJM4ph2gRC
eC60/vbzzz9L38/nI1E68btVn75X/gmnaNv92UQV/rzSrnxh234zCP3tL/D8
X1I2ucXfyhdPjfuv5jPjyiY1sT/+9enTJ+eF/JeoNDRNm7zafzkvoKkdH2f+
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
5OVl8OpTdN57uEs/H3/0B8Pz0fldv/36On2Xtj52w/nxwdnSP1sAA7DOjzWm
/ms5uiAubVk0dS1p3SV103S+iYkbUaJZ8yYZ85uFTNkBU7yjsAE2GHbY07/r
AeMd/D9TTkctOkC8hhVBHU4rktqdtX102DHdK7CQVXi4Ysu+7k+wcJG5B+o0
WV0OYbHrCdMrDJPcW1md7vvd7Yum9ingIXbBHIF66wD04rv2Psa72gcf7Qae
k5nPKU4grVYkFagcWmqSbK3pXIPtbgy0vOM0m5qyvp9QyzWdftDjuYXZTCe7
NdL8KivUB2CowwYBEVmcOTWz2AyO/Y9OSyB4bPVaheO37/yP89FD/K6bX8cv
3uz5Z1ezx+vR+9P2Qd1/vf/+8Oayu0zf38xfXn/90P3y8sjfbTQ+pMVxOP3H
5Wz8Lpp0zhYf3zzUs8nF0eHBe/X4Cdjfp5cvctX9cnOQVmACG7vmekk4vbWZ
mcM4LV3+o186sdMnMZh0TQ2kJogklEiL84P06nLx5tWtv5tGR/PlydmLo9tO
L/rYvXxxd/np6OPl++HezYdw+aPBMeEcx/8O/drvsuM5NUmiNi/inLMaSoJh
fvQcCU+epODjo87x7lH7dxOxXU4//L0UPPntBHxcbx3dtY+9zq7X2fvPCfhX
6Iv/43TXrrd2f4HuLo8eP7xIpx+OPnUWrz7Mxufv93+8mM0vTj5/fXn96su0
dbA43H3zen/35CQcP14f//hYfHm86z40Gp8/ZnfhMNt7uHjoXX0Yv07PX3Re
H2bpi4/nk9Ovb29VMPx6uRjuHsQP/2OE97xpt0Jus4+P9Y+PB0fXX+OLPOxc
j/L47N1J77x+crr8fPEmfHs6+DhOeh/7cV4lNy1MGX3UIDgYtgMSQVusCP9e
27Z6rL/iSNfZ6HG907lrt712y2sZpNwK8HKaSthUOcsPbg5u9pb9g4NPy0Ur
3JvFw/MfLfpyBP8/iF5YzFHLV+PBiyC6il6dfzy7ufvxtp/3J/3OZa9/8HFy
ngedN/D7cum//zG6ivPow+cPrX7cPm403vTfTh9H+72zq9vsx2I+zVUnn78Z
j75e7Ea9j1fz4FX9/efF5WXYsix7HW8qvhrbbDPS/Ca74TeYAVrLc+07Y8G+
vWarpVMxqyjuwVU7dHDR+dprLk6ouCul8K9W9tDVFZSOk0fJXOVFNOIacfSh
T6yxgEmuqFjTxyfw3nxiakI67lVTFrkM3tpismU4wSllIcrv1lgzhKINRebP
Vax98miwlFctlT/Zgfk/qiyla4OxCkc6xI0pV3hpwURYwHrJCudT4/Q1T7o7
RAWubfrDNXfefvXueqemb2PrVAQyMsgU+goTytUJsYLAKWilK0GJnEpd97uX
XUrKi8wn/vLVr8vb2+lJSnfdUyqihh3pEo/5xvv6KCe9hthGmwtrjfluJb21
YubmHiqHXOjWGXmRQaAUlJePd2HJuUhffcd0Zpy7G5jNUt088ZPHt9NU+Net
IWxRYWXSu7LWOpYONbX0/ORB3kQB1ZY/oe8C1+RdOsHk8PmyJl+lsNZuvMCv
fl7AEfnyAmv1BV+XDzVxDeQECPoPZN8xLJSt0Zto6MM2b8fqYVz/gJ//sh95
nOnvZZtbHlQcZhoFDfH/ASJNsDIWiAAA

-->

</rfc>
