<?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.39 (Ruby 4.0.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mahy-mimi-identity-05" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="MIMI Identity">More Instant Messaging Interoperability (MIMI) Identity Concepts</title>
    <seriesInfo name="Internet-Draft" value="draft-mahy-mimi-identity-05"/>
    <author fullname="Rohan Mahy">
      <organization>Rohan Mahy Consulting Services</organization>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <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="RFC9750"/>).</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="RFC9449"/>
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. Selective Disclosure JWTs (SD-JWT) have an optional key binding mechanism. Selective Disclosure CWTs (SD-CWT) have a mandatory Key Binding Token (KBT). Both can be used directly as MLS credentials <xref target="I-D.mahy-mls-sd-cwt-credential"/>.</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) such as those generated by the Privacy Pass Architecture <xref target="RFC9576"/>, or Anonymous Credit Tokens <xref target="I-D.schlesinger-cfrg-act"/>.</t>
          </li>
          <li>
            <t>Zero-knowledge proofs - new work is starting in the IETF to define JSON Web Proofs (JWP) <xref target="I-D.ietf-jose-json-web-proof"/>, a new format that uses zero knowledge proofs (with both JSON and CBOR formats).</t>
          </li>
          <li>
            <t>Credential "Presentation Flows" as described in <xref target="I-D.johansson-direct-presentation-arch"/>.</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="20" month="October" year="2025"/>
            <abstract>
              <t>The More Instant Messaging Interoperability (MIMI) working group is defining a suite of protocols that allow messaging providers to interoperate with one another. This document lays out an overall architecture enumerating the MIMI protocols and how they work together to enable an overall messaging experience.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-arch-02"/>
        </reference>
        <reference anchor="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>Rohan Mahy Consulting Services</organization>
            </author>
            <author fullname="Travis Ralston" initials="T." surname="Ralston">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="25" month="April" year="2026"/>
            <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-06"/>
        </reference>
        <reference anchor="RFC5280">
          <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="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" 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="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </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="29" month="May" year="2025"/>
            <abstract>
              <t>   This specification defines a mechanism for the selective disclosure
   of individual elements of a JSON 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-22"/>
        </reference>
        <reference anchor="I-D.ietf-spice-sd-cwt">
          <front>
            <title>Selective Disclosure CBOR Web Tokens (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>Tradeverifyd</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
         </author>
            <date day="1" month="June" year="2026"/>
            <abstract>
              <t>   This specification describes a data minimization technique for use
   with CBOR Web Tokens (CWTs).  The approach is inspired by the
   Selective Disclosure JSON Web Token (SD-JWT), with changes to align
   with CBOR Object Signing and Encryption (COSE) and CWTs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spice-sd-cwt-08"/>
        </reference>
        <reference anchor="I-D.mahy-mls-sd-cwt-credential">
          <front>
            <title>Messaging Layer Security Credentials using Selective Disclosure JSON and CBOR Web Tokens</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="6" month="May" year="2026"/>
            <abstract>
              <t>   The Messaging Layer Security (MLS) protocol contains Credentials used
   to authenticate an MLS client with a signature key pair.  Selective
   Disclosure CBOR Web Tokens (SD-CWT) and Selective Disclosure JSON Web
   Tokens (SD-JWT) define token formats where the holder can selectively
   reveal claims about itself with strong integrity protection and
   cryptographic binding to the holder's key.  This document defines MLS
   credentials for both these token types.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mahy-mls-sd-cwt-credential-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="RFC9750">
          <front>
            <title>The Messaging Layer Security (MLS) Architecture</title>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="S. Inguva" initials="S." surname="Inguva"/>
            <author fullname="A. Duric" initials="A." surname="Duric"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>The Messaging Layer Security (MLS) protocol (RFC 9420) provides a group key agreement protocol for messaging applications. MLS is designed to protect against eavesdropping, tampering, and message forgery, and to provide forward secrecy (FS) and post-compromise security (PCS).</t>
              <t>This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS. It provides guidance on building a group messaging system and discusses security and privacy trade-offs offered by multiple security mechanisms that are part of the MLS protocol (e.g., frequency of public encryption key rotation). The document also provides guidance for parts of the infrastructure that are not standardized by MLS and are instead left to the application.</t>
              <t>While the recommendations of this document are not mandatory to follow in order to interoperate at the protocol level, they affect the overall security guarantees that are achieved by a messaging application. This is especially true in the case of active adversaries that are able to compromise clients, the Delivery Service (DS), or the Authentication Service (AS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9750"/>
          <seriesInfo name="DOI" value="10.17487/RFC9750"/>
        </reference>
        <reference anchor="I-D.ietf-keytrans-architecture">
          <front>
            <title>Key Transparency Architecture</title>
            <author fullname="Brendan McMillion" initials="B." surname="McMillion">
         </author>
            <date day="29" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the terminology and interaction patterns
   involved in the deployment of Key Transparency 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 Key Transparency to a
   number of common applications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-keytrans-architecture-09"/>
        </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="20" month="October" 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-03"/>
        </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>
        <reference anchor="RFC9576">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="J. Iyengar" initials="J." surname="Iyengar"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies the Privacy Pass architecture and requirements for its constituent protocols used for authorization based on privacy-preserving authentication mechanisms. It describes the conceptual model of Privacy Pass and its protocols, its security and privacy goals, practical deployment models, and recommendations for each deployment model, to help ensure that the desired security and privacy goals are fulfilled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9576"/>
          <seriesInfo name="DOI" value="10.17487/RFC9576"/>
        </reference>
        <reference anchor="I-D.schlesinger-cfrg-act">
          <front>
            <title>Anonymous Credit Tokens</title>
            <author fullname="Samuel Schlesinger" initials="S." surname="Schlesinger">
              <organization>Google</organization>
            </author>
            <author fullname="Jonathan Katz" initials="J." surname="Katz">
              <organization>Google</organization>
            </author>
            <date day="13" month="February" year="2026"/>
            <abstract>
              <t>   This document specifies Anonymous Credit Tokens (ACT), a privacy-
   preserving authentication protocol that enables numerical credit
   systems without tracking individual clients.  Based on keyed-
   verification anonymous credentials and privately verifiable BBS-style
   signatures, the protocol allows issuers to grant tokens containing
   credits that clients can later spend anonymously with that issuer.

   The protocol's key features include: (1) unlinkable transactions -
   the issuer cannot correlate credit issuance with spending, or link
   multiple spends by the same client, (2) partial spending - clients
   can spend a portion of their credits and receive anonymous change,
   and (3) double-spend prevention through cryptographic nullifiers that
   preserve privacy while ensuring each token is used only once.

   Anonymous Credit Tokens are designed for modern web services
   requiring rate limiting, usage-based billing, or resource allocation
   while respecting user privacy.  Example applications include rate
   limiting and API credits.

   This document is a product of the Crypto Forum Research Group (CFRG)
   in the IRTF.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schlesinger-cfrg-act-01"/>
        </reference>
        <reference anchor="I-D.ietf-jose-json-web-proof">
          <front>
            <title>JSON Web Proof</title>
            <author fullname="David Waite" initials="D." surname="Waite">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author fullname="Jeremie Miller" initials="J." surname="Miller">
              <organization>Ping Identity</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   The JOSE set of standards established JSON-based container formats
   for Keys, Signatures, and Encryption.  They also established IANA
   registries to enable the algorithms and representations used for them
   to be extended.  Since those were created, newer cryptographic
   algorithms that support selective disclosure and unlinkability have
   matured and started seeing early market adoption.  The COSE set of
   standards likewise does this for CBOR-based containers, focusing on
   the needs of environments which are better served using CBOR, such as
   constrained devices and networks.

   This document defines a new container format similar in purpose and
   design to JSON Web Signature (JWS) and COSE Signed Messages called a
   _JSON Web Proof (JWP)_.  Unlike JWS, which integrity-protects only a
   single payload, JWP can integrity-protect multiple payloads in one
   message.  It also specifies a new presentation form that supports
   selective disclosure of individual payloads, enables additional proof
   computation, and adds a Presentation Header to prevent replay.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-json-web-proof-13"/>
        </reference>
        <reference anchor="I-D.johansson-direct-presentation-arch">
          <front>
            <title>A reference architecture for direct presentation credential flows</title>
            <author fullname="Leif Johansson" initials="L." surname="Johansson">
              <organization>Sunet</organization>
            </author>
            <author fullname="Brent Zundel" initials="B." surname="Zundel">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Tim Cappalli" initials="T." surname="Cappalli">
              <organization>Okta</organization>
            </author>
            <date day="4" month="November" year="2025"/>
            <abstract>
              <t>   This document defines a reference architecture for direct
   presentation flows of digital credentials.  The architecture
   introduces the concept of a presentation mediator as the active
   component responsible for managing, presenting, and selectively
   disclosing credentials while preserving a set of security and privacy
   promises that will also be defined.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/leifj/wallet-refarch.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-johansson-direct-presentation-arch-01"/>
        </reference>
      </references>
    </references>
    <?line 782?>

<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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
0Y5J7NtSu1spzdolRS4s68NVasH6OiAne6IUtIrbMAIjY6OMkO3ZMHTon5f5
vaCT4cSu+4rb54JSILFC2mulKmTzhJMujfjZ5ufZcPJYHp511842nw47c7pv
kpeXwatP0Xn/4S79fPzRH47Ox+d3g/br6/Rd2vrYCxfH3bOVf7YEBmDcPBtM
/bdydIe4tGHR1LWkdZvUddPFNiauRYlizdtkzO8WMmUHTGCPwgbYYNhhX/12
A8Y7+H8mrY5KdIB4DSuCOpxVJLU9a/vosKO7V2AhqvCwxZZ5PZhiWSZ9y9Vq
sr4cwmLb56dWGCa5t7Y61fe73RdN7VPAQ+yCGRBuqwt68V37AKN57e5Hs4Hn
ZOZzihNIqzVJBSqHkpokW+sqk2KnFwMt71rNZrpo8SfUcnWnH9R4dtk53cls
jTS/ygrVAWjqMCFORBZrTsUstoPj4KPVEggeW72W4eTtO//jYvwQv+vl1/GL
N/v+2dX88Xr8/rTddf3XB+8Pby57q/T9zeLl9dcPvS8vj/y9RuNDWhyHsx8v
55N30bRztvz45sHNphdHh9338vETsL9PL1/ksvflpptWYAIbu+ZqUDi9sZmZ
w1gtbf6jXlqR4ScxmHRNBaQmiCSUSMvzbnp1uXzz6tbfS6Ojxerk7MXRbacf
fexdvri7/HT08fL9aP/mQ7j6SeOYYx3H/xv6Nd+Yx3NqkkRtXsQ552yUBMP8
6DkSnj5JwcdHneO9o/YfJmKznEH4Ryl4+vsJ+NhtHd21j73OntfZ/88J+Dfo
i//rdNd2W3u/QneXR48fXqSzD0efOstXH+aT8/cHP13MFxcnn7++vH71Zdbq
Lg/33rw+2Ds5CSeP18c/PRZfHu96D43G54/ZXTjK9h8uHvpXHyav0/MXndeH
Wfri4/n09OvbWxmMvl4uR3vd+OF/jfCeN+3WyG3+8dH9+Ng9uv4aX+Rh53qc
x2fvTvrn7snp6vPFm/Dt6fDjJOl/HMR5ldyUMGX0kcOgO2oHJIJqrAj/Udu2
eqy/4Ug32eix2+nctdteu+W1NFLWArx6JxM2Vc7y7k33Zn816HY/rZatcH8e
j85/MujL+Qn/QZzGYI5cvZoMXwTRVfTq/OPZzd1Pt4N8MB10LvuD7sfpeR50
3sDvy5X//qfoKs6jD58/tAZx+7jReDN4O3scH/TPrm6zn4rFLJedfPFmMv56
sRf1P14tglfu+8/Ly8uwZVj2Jt5UfDWm2Xak+V12w+8wA5SWZ9t32oJ9e81W
S6diVlHcg2uSqDCq9S3b3Dmh0rV0QWG9bomqHSFVFkCULGReRGOugEefMcUK
EpjCi4o1fVoDqwIkuuKl5V7VRZ/LMLUplVuGE6xCHU75VR5jhlC0ocj8hYyV
Tx4NlvIiqfSnuya5n4PwOqRusluu0UEXrMQ18ADRs2+wqs9zHxx2v3+n0unl
PlAARIWVJYKxJthRLHMy7dxglI1dsPbQeeuKjzJL6VZmLMOxyibAjDa8E6JD
PGA+ZYX13Xb6WCpdzaL64Sa75Jo777x6d71b+SjyZ9ie+zlPE3cphy7Ngevm
6/AqF4TsILLWvsKSxMaSdspkKJrQZOyou0K7uBvL21+rWPrnWDWihrBeu55A
i/ycAhbluD6O27l26XLzbWNXnILmvha4yanY+aB32aO0zEh/5JEu1NnuTFOf
IEmp2kFKZfSwI13jutWBqY1RTvoNZwftUqw259u1FDfK2eubyByWonuH5GkH
oVvQzQy8DU0OWMd1XYEJ7Th3L9DQpsqJzs8e30+U4d9qI9iixNq0dxNTbR+L
x+pqin7yIG6igL4ucEJfhq4D7k3xesBiVRevUlhrL17id18vAIt8cYHVGoOv
q4e6cw3IAUT8I4q4GBbKFvtNNPJhm7cT+TBxP+AH4MxnPufqi+n6ng+VB5pF
QcP5vybtwpwGigAA

-->

</rfc>
