<?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.43 (Ruby 4.0.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-barnes-mimi-identity-arch-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="E2E Identity">Identity for E2E-Secure Communications</title>
    <seriesInfo name="Internet-Draft" value="draft-barnes-mimi-identity-arch-04"/>
    <author fullname="Richard Barnes">
      <organization/>
      <address>
        <email>rlb@ipv.sx</email>
      </address>
    </author>
    <author fullname="Rohan Mahy">
      <organization/>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="01"/>
    <area>Applications and Real-Time</area>
    <workgroup>More Instant Messaging Interoperability</workgroup>
    <keyword>end to end security</keyword>
    <keyword>identity</keyword>
    <abstract>
      <?line 63?>

<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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-barnes-mimi-identity-arch/"/>.
      </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/bifurcation/mimi-identity-arch"/>.</t>
    </note>
  </front>
  <middle>
    <?line 76?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>End-to-end (E2E) security protects users' communications from tampering or
inspection by intermediaries that are involved in delivering those communcations
from one logical endpoint to another.  Almost all user-to-user communications
systems today involve application-level intermediaries, such as message queues
or media servers.  In this context, "hop-by-hop" security refers to the security
properties of the channel between the client and application-level intermediary,
despite the fact that this channel may transit a number of network-level
intermediaries.  "End-to-end" security refers to security properties of the
communications between one end client and another.</t>
      <t>Given the ubiquity of application-level intermediation, E2E security is a
critical property for modern user communications systems.  E2E security is
typically implemented with two separate mechanisms:</t>
      <ul spacing="normal">
        <li>
          <t><strong>E2E encryption</strong>, which establishes keys among a group of communicating
clients, and authenticates them at a cryptographic level, and</t>
        </li>
        <li>
          <t><strong>E2E identity</strong>, which associates non-cryptographic attributes to the
cryptographic representation of clients in the E2E encryption protocol.</t>
        </li>
      </ul>
      <t>Broadly speaking, E2E encryption protects against passive attacks by
intermediaries.  E2E identity protects against active attacks such as
impersonation attacks.  Both layers are required to attain a complete notion of
E2E security.</t>
      <t>An overview of identity considerations for messaging systems is provided in
<xref target="I-D.mahy-mimi-identity"/>.  In this document, we describe a concrete
framework for E2E identity, drawing on some initial deployment experience,
and highlighting the mechanisms that need to be defined for an interoperable
solution.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>We use the following terms below:</t>
      <dl>
        <dt>Client:</dt>
        <dd>
          <t>The hardware or software used by a user to interact with an E2E-secure
communications system.</t>
        </dd>
        <dt>Communications provider:</dt>
        <dd>
          <t>The system of intermediaries that connects communicating clients.</t>
        </dd>
        <dt>Identity authority:</dt>
        <dd>
          <t>An entity that is trusted to make statements about the identity attributes
associated to clients.</t>
        </dd>
        <dt>Session:</dt>
        <dd>
          <t>An E2E-secure interaction among clients, e.g., a Messaging Layer Security
(MLS) group <xref target="RFC9420"/></t>
        </dd>
        <dt>Credential:</dt>
        <dd>
          <t>An object issued by an identity authority that associates identity attributes
with a client's public key.</t>
        </dd>
        <dt>PKI:</dt>
        <dd>
          <t>Public Key Infrastructure</t>
        </dd>
      </dl>
    </section>
    <section anchor="operational-context-and-assumptions">
      <name>Operational Context and Assumptions</name>
      <t>The context in which E2E identity is implemented is shown in <xref target="context"/>.  It
involves the following actors:</t>
      <ul spacing="normal">
        <li>
          <t>A number of <strong>clients</strong> participating in an E2E-encrypted session
          </t>
          <ul spacing="normal">
            <li>
              <t>A <strong>presenting client</strong> that is claiming to represent certain identity
attributes</t>
            </li>
            <li>
              <t><strong>Verifying clients</strong> that authenticate the claimed identity attributes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>One or more <strong>communications providers</strong> that facilitates communications among
the clients</t>
        </li>
        <li>
          <t>An <strong>identity authority</strong> that asserts identity attributes of the presenting
client, and which is trusted by the verifying client to make such assertions.</t>
        </li>
      </ul>
      <t>Note that in most settings, each client will act as both a presenting client and
a verifying client, authenticating itself and verifying the other clients in the
session or group. Each client could use a different identity authority for its
identity attributes.</t>
      <ul empty="true">
        <li>
          <t>Some E2E encrypted systems use a distributed identity authority rather than
  a centralized authority.  While this out of scope of the MIMI working group,
  it is still compatible with the high-level model presented in this section.</t>
        </li>
      </ul>
      <t>We assume that the E2E encryption for the session is provided by means of an E2E
encryption protocol such as <xref target="DoubleRatchet"/> or MLS <xref target="RFC9420"/>,
in which each participant is cryptographically authenticated by means of a
digital signature key pair.</t>
      <t>The phrase "identity attributes" above is deliberately broad, to encompass any
attribute of the client that is not directly cryptographcally verifiable.  This
includes technical identifiers such as DNS names or URLs, but also
user-meaningful identifers such as given or family names, or names of
organizations or roles.</t>
      <figure anchor="context">
        <name>Operational context for E2E identity</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="496" viewBox="0 0 496 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
              <path d="M 56,160 L 56,240" fill="none" stroke="black"/>
              <path d="M 112,112 L 112,160" fill="none" stroke="black"/>
              <path d="M 184,96 L 184,136" fill="none" stroke="black"/>
              <path d="M 184,152 L 184,176" fill="none" stroke="black"/>
              <path d="M 208,224 L 208,272" fill="none" stroke="black"/>
              <path d="M 304,224 L 304,272" fill="none" stroke="black"/>
              <path d="M 320,96 L 320,136" fill="none" stroke="black"/>
              <path d="M 320,152 L 320,176" fill="none" stroke="black"/>
              <path d="M 352,64 L 352,144" fill="none" stroke="black"/>
              <path d="M 392,32 L 392,80" fill="none" stroke="black"/>
              <path d="M 392,112 L 392,160" fill="none" stroke="black"/>
              <path d="M 440,160 L 440,240" fill="none" stroke="black"/>
              <path d="M 488,32 L 488,80" fill="none" stroke="black"/>
              <path d="M 488,112 L 488,160" fill="none" stroke="black"/>
              <path d="M 392,32 L 488,32" fill="none" stroke="black"/>
              <path d="M 352,64 L 384,64" fill="none" stroke="black"/>
              <path d="M 392,80 L 488,80" fill="none" stroke="black"/>
              <path d="M 184,96 L 320,96" fill="none" stroke="black"/>
              <path d="M 8,112 L 112,112" fill="none" stroke="black"/>
              <path d="M 392,112 L 488,112" fill="none" stroke="black"/>
              <path d="M 112,144 L 384,144" fill="none" stroke="black"/>
              <path d="M 8,160 L 112,160" fill="none" stroke="black"/>
              <path d="M 392,160 L 488,160" fill="none" stroke="black"/>
              <path d="M 184,176 L 320,176" fill="none" stroke="black"/>
              <path d="M 208,224 L 304,224" fill="none" stroke="black"/>
              <path d="M 56,240 L 208,240" fill="none" stroke="black"/>
              <path d="M 304,240 L 440,240" fill="none" stroke="black"/>
              <path d="M 208,272 L 304,272" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="392,144 380,138.4 380,149.6" fill="black" transform="rotate(0,384,144)"/>
              <polygon class="arrowhead" points="392,64 380,58.4 380,69.6" fill="black" transform="rotate(0,384,64)"/>
              <g class="text">
                <text x="440" y="52">Verifying</text>
                <text x="436" y="68">Client</text>
                <text x="252" y="116">Communications</text>
                <text x="60" y="132">Presenting</text>
                <text x="256" y="132">Provider(s)</text>
                <text x="440" y="132">Verifying</text>
                <text x="60" y="148">Client</text>
                <text x="436" y="148">Client</text>
                <text x="252" y="244">Identity</text>
                <text x="256" y="260">Authority</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                                                +-----------+
                                                | Verifying |
                                           +--->|  Client   |
                                           |    +-----------+
                      +----------------+   |
+------------+        | Communications |   |    +-----------+
| Presenting |        |   Provider(s)  |   |    | Verifying |
|   Client   +-----------------------------+--->|  Client   |
+-----+------+        |                |        +-----+-----+
      |               +----------------+              |
      |                                               |
      |                                               |
      |                  +-----------+                |
      +------------------+ Identity  +----------------+
                         | Authority |
                         +-----------+
]]></artwork>
        </artset>
      </figure>
      <t>In this context, the goal of E2E identity is to protect the authenticity of the
binding between the presenting client's public key (which represents them in the
E2E encryption protocol) and their identity attributes, against attack by the
communications provider.  Only a client that legitimately represents the claimed
attributes should be able to cause a verifying client to associate those
attributes with the first client. More succinctly, E2E identity protects against
impersonation attacks by the communications provider.</t>
      <t>The architecture described here achieves this protection by means of role
separation between communications provider and a centralized identity
authority.  The communications provider is untrusted, in the same way that
network attackers are untrusted in the traditional Internet Threat Model
<xref target="RFC3552"/>.  The identity authority is trusted to correctly assert bindings
between identity attributes and public keys.  This includes verifying that
presenting clients control the corresponding public keys, to avoid Unknown Key
Share attacks analogous to those in <xref target="RFC8844"/>.</t>
      <t>There are other techniques that can reduce the trust that is placed in the
identity authority, for example Key Transparency (KT)
<xref target="I-D.ietf-keytrans-architecture"/> or various self-sovereign identity
approaches.  These approaches are generally more costly to deploy at scale
compared to authority-based approaches; they also can be layered on top of an
authority-based scheme. (Certificate Transparency was deployed many years
after the Web PKI <xref target="RFC9162"/>).  Thus the rest of this document focuses on a
centralized authority-based system for E2E identity, as a baseline to which
these other approaches might be added later.</t>
      <t>A secondary goal is to minimize the amount of information about the clients and
sessions that is exposed to the identity authority.  The identity authority
should not learn which communications providers or verifying clients a
presenting client is interacting with.</t>
      <t>Verifying clients use ultimately authenticated identity attributes to make
policy decisions as to the security state of the meeting.  For example, a
verifying client may have attempted to reach the holder of the SIP URI
<tt>sip:bob@example.com</tt>, and would regard the session as compromised if they were
not actually connected to that entity.  Or a verifying client might wish to
require that all participants in a session belong to a given organization. E2E
identity assures that these policies are evaluated on correct inputs.</t>
    </section>
    <section anchor="an-architecture-for-e2e-identity">
      <name>An Architecture for E2E Identity</name>
      <t><xref target="steps"/> shows the three critical steps in a system E2E identity:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Issuance:</strong> An identity authority provides the presenting client with
a credential associating identity attributes to a public key.</t>
        </li>
        <li>
          <t><strong>Presentation:</strong> The presenting client provides its credential to the
verifying client, along with proof that the presenting client controls the
corresponding private key.</t>
        </li>
        <li>
          <t><strong>Verification:</strong> The verifying client verifies that the credential was
issued by a trusted identity authority, and verifies the presenting clients
proof of control of the corresponding private key. The verifying client
may verify by communicating with the identity authority, or autonomously
using previously configured information about the identity authority.</t>
        </li>
      </ol>
      <t>If all three of these steps is successfully completed, with the security
properties described below, then the verifying client can safely associate the
identity attributes in the credential with the presenting client.</t>
      <figure anchor="steps">
        <name>A three-step process for assuring E2E identity</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="496" viewBox="0 0 496 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
              <path d="M 56,88 L 56,160" fill="none" stroke="black"/>
              <path d="M 112,32 L 112,80" fill="none" stroke="black"/>
              <path d="M 208,144 L 208,192" fill="none" stroke="black"/>
              <path d="M 304,144 L 304,192" fill="none" stroke="black"/>
              <path d="M 392,32 L 392,80" fill="none" stroke="black"/>
              <path d="M 440,88 L 440,160" fill="none" stroke="black"/>
              <path d="M 488,32 L 488,80" fill="none" stroke="black"/>
              <path d="M 8,32 L 112,32" fill="none" stroke="black"/>
              <path d="M 392,32 L 488,32" fill="none" stroke="black"/>
              <path d="M 112,64 L 384,64" fill="none" stroke="black"/>
              <path d="M 8,80 L 112,80" fill="none" stroke="black"/>
              <path d="M 392,80 L 488,80" fill="none" stroke="black"/>
              <path d="M 208,144 L 304,144" fill="none" stroke="black"/>
              <path d="M 56,160 L 208,160" fill="none" stroke="black"/>
              <path d="M 312,160 L 440,160" fill="none" stroke="black"/>
              <path d="M 208,192 L 304,192" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="448,88 436,82.4 436,93.6" fill="black" transform="rotate(270,440,88)"/>
              <polygon class="arrowhead" points="392,64 380,58.4 380,69.6" fill="black" transform="rotate(0,384,64)"/>
              <polygon class="arrowhead" points="320,160 308,154.4 308,165.6" fill="black" transform="rotate(180,312,160)"/>
              <polygon class="arrowhead" points="64,88 52,82.4 52,93.6" fill="black" transform="rotate(270,56,88)"/>
              <g class="text">
                <text x="60" y="52">Presenting</text>
                <text x="196" y="52">2.</text>
                <text x="260" y="52">Presentation</text>
                <text x="440" y="52">Verifying</text>
                <text x="60" y="68">Client</text>
                <text x="436" y="68">Client</text>
                <text x="252" y="164">Identity</text>
                <text x="84" y="180">1.</text>
                <text x="132" y="180">Issuance</text>
                <text x="256" y="180">Authority</text>
                <text x="324" y="180">3.</text>
                <text x="388" y="180">Verification</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+------------+                                  +-----------+
| Presenting |         2. Presentation          | Verifying |
|   Client   +--------------------------------->|  Client   |
+-----+------+                                  +-----+-----+
      ^                                               ^
      |                                               |
      |                                               |
      |                  +-----------+                |
      +------------------+ Identity  +<---------------+
         1. Issuance     | Authority | 3. Verification
                         +-----------+
]]></artwork>
        </artset>
      </figure>
      <section anchor="issuance">
        <name>Issuance</name>
        <t>The issuance process is similar to existing widely-deployed processes for
issuing public-key credentials, such as ACME <xref target="RFC8555"/>.  This process results
in the presenting client holding a credential that associates a public key to a
set of identity attributes.  So the issuance process must assure the identity
authority of two things about the presenting client:</t>
        <ul spacing="normal">
          <li>
            <t>That it controls the private key corresponding to the public key</t>
          </li>
          <li>
            <t>That it legitimately represents the identity attributes</t>
          </li>
        </ul>
        <t>In addition, to prevent unknown key share attacks (UKS), the issuance process
must verify these properties jointly -- that the entity that controls the
private key is the same as the entity that holds the identity attributes.</t>
        <t>These assurances are typically provided by having the presenting client create a
signature with the private key over an object that reflects the identity
attributes.  In ACME, the client sends a Certificate Signing Request
<xref target="RFC2986"/>, which contains both the desired identity attributes and a
signature by the client's private key.</t>
      </section>
      <section anchor="presentation">
        <name>Presentation</name>
        <t>The presentation process accomplishes two things:</t>
        <ul spacing="normal">
          <li>
            <t>It conveys the presenting client's credential to the verifying client.</t>
          </li>
          <li>
            <t>It proves to the verifying client that the presenting client holds the
corresponding private key.</t>
          </li>
        </ul>
        <t>The latter function ties the presentation process to the E2E encryption protocol
being used.  The credential used for E2E identity authenticates the key pair
that represents a client in the E2E encryption protocol.  The E2E encryption
protocol will thus already include mechanisms for the presenting client to prove
they hold the private key corresponding to the credential.</t>
        <t>If the E2E encryption protocol can also deliver the credential (as opposed to
passing it in some other way), then in addition to simplifying application
architecture, the E2E encryption protocol can provide some additional security
benefits.  E2E encryption protocols where the presenting client signs the
credential being presented are generally immune to unknown key share attacks,
even if there is a UKS vulnerability in the underlying issuance process.</t>
        <t>As a concrete example: In the MLS protocol mentioned above, each client presents
its credential in a LeafNode structure that is signed with the client's private
key.  This structure is conveyed to the other participants in an MLS-based
session when the presenting client joins the session.  This provides the other
participants with both the credential and a signature over the credential (and
the other contents of the LeafNode) which acts as a proof of possession of the
private key.</t>
      </section>
      <section anchor="verification">
        <name>Verification</name>
        <t>A credential will typically be an object signed by the identity authority, so
the verifying client will only need to know the identity authority's public key
in order to verify that the credential was authentically issued by the identity
authority.  Credentials will typically also have some notion of expiration,
e.g., the <tt>notBefore</tt>/<tt>notAfter</tt> fields in X.509 <xref target="RFC5280"/> or the <tt>nbf</tt>/<tt>exp</tt>
fields in JSON Web Tokens <xref target="RFC7519"/> or CBOR Web Tokens <xref target="RFC8392"/>.
Verification at this level is simple, fast, and privacy-preserving.</t>
        <t>In some cases, though, it is necessary to have a notion of revocation of
credentials.  Here revocation of a credential means that the credential will no
longer be accepted by verifying clients, even though the credential itself is
otherwise valid (e.g., its signature is valid and it has not expired).  Since
the credential itself cannot reflect revocation information, a verifying client
needs to get revocation information from the identity authority independently.</t>
        <t>Several design patterns for revocation have been explored in the PKI context:</t>
        <ol spacing="normal" type="1"><li>
            <t>Short-lived certificates with no revocation checking</t>
          </li>
          <li>
            <t>Online Certificate Status Protocol (OCSP) checks by clients <xref target="RFC6960"/></t>
          </li>
          <li>
            <t>OCSP stapling and the "TLS Feature" extension <xref target="RFC6066"/> <xref target="RFC633"/></t>
          </li>
          <li>
            <t>Certificate Revocation Lists (CRLs) fetched by clients <xref target="RFC5280"/></t>
          </li>
          <li>
            <t>CRLs fetched by vendors and redistributed to clients <xref target="crlite"/></t>
          </li>
        </ol>
        <t>The Web PKI has generally settled on central CRL fetching (5), by the following
process of elimination:</t>
        <ul spacing="normal">
          <li>
            <t>Short-lived certificates are unacceptable in settings where clients might be
offline for longer than the revocation checking interval.</t>
          </li>
          <li>
            <t>OCSP has bad performance properties and leaks lots of information to the
identity authority.</t>
          </li>
          <li>
            <t>OCSP stapling with the "must-staple" extension is equivalent to short-lived
certificates.</t>
          </li>
          <li>
            <t>CRL fetches by clients are either highly inefficient or require complicated
caching schemes that are better done centrally.</t>
          </li>
        </ul>
        <t>These design patterns and arguments also apply, with relevant adaptation, in
the context of E2E identity.  Thus, revocation mechanisms developed for E2E
identity should be oriented toward centralized CRL fetching, but accounting for
an important difference -- that the client vendor is often the communications
service provider, and thus an untrusted actor.  This means that clients will
need to verify the authenticity of revocation information, and mechanisms such
as CRLite <xref target="crlite"/> will not work.  Rather than having the vendor compress an
uncompressed representation (as in CRLite), the revocation data provided by the
identity authority will have to already be compact.</t>
        <t>For credentials using web tokens, short-lived credentials are the norm. Status
Lists <xref target="I-D.ietf-oauth-status-list"/> are currently the most deployed approach
for revocation of longer-lived web tokens.</t>
      </section>
    </section>
    <section anchor="instantiations">
      <name>Instantiations</name>
      <t>There are a few deployed and emerging models for E2E identity that can be viewed
as instantiations of the above architecture.  In this section, we examine a few
example cases.</t>
      <section anchor="manual-verification-of-key-fingerprints">
        <name>Manual Verification of Key Fingerprints</name>
        <t>Many E2E-encrypted messaging apps rely on users manually comparing each others'
key fingerprints for their only E2E identity assurance.  This can be viewed as a
degenerate case of the above architecture:</t>
        <ul spacing="normal">
          <li>
            <t>The credential is only the presenting client's public key, without
identity attributes.</t>
          </li>
          <li>
            <t>Each user acts as their own identity authority.</t>
          </li>
          <li>
            <t>Issuance is done by the user's client generating a key pair.</t>
          </li>
          <li>
            <t>Presentation comprises the E2E encryption protocol's proof of possession of
the presenting client's private key.</t>
          </li>
          <li>
            <t>Verification is the manual comparison of key fingerprints, the user of the
verifying client confirming with the user of the presenting client that they
have the same view of the presenting client's public key.</t>
          </li>
        </ul>
        <t>This case is degenerate in the sense that it does not actually authenticate any
identity attributes; the only non-cryptographic attributes attested are those
claimed by the presenting client in the verification interaction.  This system
is thus vulnerable to UKS attacks when the user of the presenting client abuses
their position as a trusted identity authority <xref target="signal-uks"/>.</t>
        <t>In reality, the vast majority of users never verify the keys of the users with
whom they communicate.</t>
        <t>A handful of E2E-encrypted messaging apps also use Key Transparency (KT),
effectively trusting a key on first use, and issuing a warning when
new clients are added or previously known clients are replaced. This mechanism
makes it easier to determine later that a communication provider actively
tampered with communications, but does not cryptographically prevent it from
doing so when the client was first created.</t>
      </section>
      <section anchor="x509">
        <name>X.509</name>
        <t>X.509 and related PKI technologies are a widely used instantiation of
authority-based authentication, and map naturally in to this architecture:</t>
        <ul spacing="normal">
          <li>
            <t>The credentials are certificates.</t>
          </li>
          <li>
            <t>The identity authorities are certificate authorities (CAs).</t>
          </li>
          <li>
            <t>Issuance is done via issuance protocols such as ACME <xref target="RFC8555"/> or EST
<xref target="RFC7030"/>.</t>
          </li>
          <li>
            <t>Several key exchange protocols contain the required mechanics for
presentation, e.g., the <tt>X509Credential</tt> mechanism in MLS.</t>
          </li>
          <li>
            <t>Verification follows the process in <xref target="RFC5280"/>, with revocation checking
done via one of the several mechanisms discussed in <xref target="verification"/>.</t>
          </li>
        </ul>
        <t>This scheme works well for cases where a PKI is available with authorities that
will attest to the required identity attributes, and where the operational
context allows for certificates to be provisioned to clients.  Multiple
E2E-secure communications products today use this scheme.</t>
      </section>
      <section anchor="verifiable-credentials">
        <name>Verifiable Credentials</name>
        <t>Certificates and PKI protocols tend to be a bad fit for authenticating user
identities.  Systems like SAML <xref target="saml"/> and OpenID Connect <xref target="oidc"/> are more
commonly used for user identity, but only produce bearer tokens, not the public
key credentials required for E2E identity -- using bearer tokens for E2E
identity would allow the verifying client to impersonate the presenting client!
Likewise, because the verifier needs to check a bearer tokens validity directly
with the issuer, the identity authority learns every verifier to whom a client
authenticates.</t>
        <t>More recently, there has been work to apply the W3C Verifiable Credentials (VC)
framework to this problem <xref target="W3C.vc-data-model"/>.  The VC model aligns well
conceptually with the above architecture, and some of the required protocols are
in development:</t>
        <ul spacing="normal">
          <li>
            <t>Credentials would be verifiable credentials or verifiable presentations.</t>
          </li>
          <li>
            <t>The identity authorities would be Issuers in the VC model.  (Likewise, the
presenting client would be a Holder and the verifying client a Verifier.)</t>
          </li>
          <li>
            <t>The issuance process here corresponds to the issuance interaction in the VC
model, for example using OpenID for Verifiable Credential Issuance
<xref target="openid-4-vci"/></t>
          </li>
          <li>
            <t>The presentation process here corresponds to the presentation interaction in
the VC model, for example using an integration with the E2E encryption
protocol analogous to the <tt>X509Credential</tt> integration in MLS mentioned above.</t>
          </li>
          <li>
            <t>The verification process here corresponds to VC verification, using a
mechanism such as <xref target="StatusList2021"/> for revocation.</t>
          </li>
        </ul>
        <t>A VC-based model for E2E identity is clearly still incomplete, but given the
good conceptual alignment and potential for a better fit with user identity than
PKI, it seems like a promising candidate for further development.</t>
      </section>
      <section anchor="secure-patterns-for-internet-credentials-spice">
        <name>Secure Patterns for Internet Credentials (SPICE)</name>
        <t>The SPICE working group was chartered to develop digital credential profiles
which work in scenarios with an issuer, holder (a presenter in this
model), and a verifier. SPICE is clearly a natural fit for MLS credentials
and MIMI identity.</t>
        <t>SPICE makes extensive use of CBOR Web Tokens <xref target="RFC8392"/>, and includes
support for cryptographic properties such as redaction, linkability and
selective disclosure <xref target="I-D.ietf-spice-sd-cwt"/>.</t>
      </section>
    </section>
    <section anchor="requirements-for-interoperable-identity">
      <name>Requirements for Interoperable Identity</name>
      <t>The MIMI working group is focused on establishing interoperability among
messaging systems.  In order to have E2E identity protections in an
interoperable context, the interoperating parties will need to agree on the
answers to a few questions:</t>
      <ul spacing="normal">
        <li>
          <t>What E2E encryption protocol will be used? (Currently this is MLS only.)</t>
        </li>
        <li>
          <t>How are credentials integrated with the E2E encryption protocol?
          </t>
          <ul spacing="normal">
            <li>
              <t>How is a credential verified against a participant public key?</t>
            </li>
            <li>
              <t>What mechanisms for revocation are used (if any)?</t>
            </li>
            <li>
              <t>How are credentials associated to the encryption protocol?</t>
            </li>
          </ul>
        </li>
        <li>
          <t>What types of credentials are clients expected to be able to verify?</t>
        </li>
        <li>
          <t>Which identity providers are trusted?</t>
        </li>
      </ul>
      <t>Most of these questions are addressed at the presentation and verification
phases in the above architecture.  The interoperability considerations around
issuance are different: For issuance, there does not need to be a common
solution across the population of clients, only between a client and the
authority that issues its credential.  Nonetheless, having a common,
interoperable issuance interface is still valuable, since it simplifies
integration between clients and authorities.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document describes a scheme for authentication in E2E security contexts.
Security requirements are described in <xref target="operational-context-and-assumptions"/>,
a general architecture in <xref target="an-architecture-for-e2e-identity"/>, and some
candidate instantiations of the architecture in <xref target="instantiations"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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-oauth-status-list">
          <front>
            <title>Token Status List (TSL)</title>
            <author fullname="Tobias Looker" initials="T." surname="Looker">
              <organization>MATTR</organization>
            </author>
            <author fullname="Paul Bastian" initials="P." surname="Bastian">
              <organization>Bundesdruckerei</organization>
            </author>
            <author fullname="Christian Bormann" initials="C." surname="Bormann">
              <organization>SPRIND</organization>
            </author>
            <date day="21" month="June" year="2026"/>
            <abstract>
              <t>   This specification defines a status mechanism called Token Status
   List (TSL), data structures and processing rules for representing the
   status of tokens secured by JSON Object Signing and Encryption (JOSE)
   or CBOR Object Signing and Encryption (COSE), such as JWT, SD-JWT,
   CBOR Web Token, and ISO mdoc.  It also defines an extension point and
   a registry for future status mechanisms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-21"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="DoubleRatchet" target="https://www.signal.org/docs/specifications/doubleratchet/">
          <front>
            <title>The Double Ratchet Algorithm</title>
            <author initials="T." surname="Perrin" fullname="Trevor Perrin">
              <organization/>
            </author>
            <author initials="M." surname="Marlinspike" fullname="Moxie Marlinspike">
              <organization/>
            </author>
            <date year="2016" month="November" day="20"/>
          </front>
        </reference>
        <reference anchor="crlite">
          <front>
            <title>CRLite: A Scalable System for Pushing All TLS Revocations to All Browsers</title>
            <author fullname="James Larisch" initials="J." surname="Larisch">
              <organization/>
            </author>
            <author fullname="David Choffnes" initials="D." surname="Choffnes">
              <organization/>
            </author>
            <author fullname="Dave Levin" initials="D." surname="Levin">
              <organization/>
            </author>
            <author fullname="Bruce M. Maggs" initials="B." surname="Maggs">
              <organization/>
            </author>
            <author fullname="Alan Mislove" initials="A." surname="Mislove">
              <organization/>
            </author>
            <author fullname="Christo Wilson" initials="C." surname="Wilson">
              <organization/>
            </author>
            <date month="May" year="2017"/>
          </front>
          <seriesInfo name="2017 IEEE Symposium on Security and Privacy (SP)" value="pp. 539-556"/>
          <seriesInfo name="DOI" value="10.1109/sp.2017.17"/>
          <refcontent>IEEE</refcontent>
        </reference>
        <reference anchor="signal-uks">
          <front>
            <title>A Formal Security Analysis of the Signal Messaging Protocol</title>
            <author fullname="Katriel Cohn-Gordon" initials="K." surname="Cohn-Gordon">
              <organization/>
            </author>
            <author fullname="Cas Cremers" initials="C." surname="Cremers">
              <organization/>
            </author>
            <author fullname="Benjamin Dowling" initials="B." surname="Dowling">
              <organization/>
            </author>
            <author fullname="Luke Garratt" initials="L." surname="Garratt">
              <organization/>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization/>
            </author>
            <date month="April" year="2017"/>
          </front>
          <seriesInfo name="2017 IEEE European Symposium on Security and Privacy (EuroS&amp;P)" value="pp. 451-466"/>
          <seriesInfo name="DOI" value="10.1109/eurosp.2017.27"/>
          <refcontent>IEEE</refcontent>
        </reference>
        <reference anchor="saml" target="https://www.oasis-open.org/committees/download.php/35711/sstc-saml-core-errata-2.0-wd-06-diff.pdf">
          <front>
            <title>Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="oidc" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="openid-4-vci" target="https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html">
          <front>
            <title>OpenID for Verifiable Credential Issuance</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="StatusList2021" target="https://w3c-ccg.github.io/vc-status-list-2021/">
          <front>
            <title>Status List 2021</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.mahy-mimi-identity">
          <front>
            <title>More Instant Messaging Interoperability (MIMI) Identity Concepts</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mahy-mimi-identity-05"/>
        </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="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. 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="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC8844">
          <front>
            <title>Unknown Key-Share Attacks on Uses of TLS with the Session Description Protocol (SDP)</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document describes unknown key-share attacks on the use of Datagram Transport Layer Security for the Secure Real-Time Transport Protocol (DTLS-SRTP). Similar attacks are described on the use of DTLS-SRTP with the identity bindings used in Web Real-Time Communications (WebRTC) and SIP identity. These attacks are difficult to mount, but they cause a victim to be misled about the identity of a communicating peer. This document defines mitigation techniques that implementations of RFC 8122 are encouraged to deploy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8844"/>
          <seriesInfo name="DOI" value="10.17487/RFC8844"/>
        </reference>
        <reference anchor="I-D.ietf-keytrans-architecture">
          <front>
            <title>Key Transparency Architecture</title>
            <author fullname="Brendan McMillion" initials="B." surname="McMillion">
              <organization>Independent</organization>
            </author>
            <date day="1" month="November" year="2026"/>
            <abstract>
              <t>   This document defines the terminology and interaction patterns
   involved in the deployment of Key Transparency in end-to-end
   encrypted communication services, 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-11"/>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </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="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="RFC6960">
          <front>
            <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <author fullname="R. Ankney" initials="R." surname="Ankney"/>
            <author fullname="A. Malpani" initials="A." surname="Malpani"/>
            <author fullname="S. Galperin" initials="S." surname="Galperin"/>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs). Additional mechanisms addressing PKIX operational requirements are specified in separate documents. This document obsoletes RFCs 2560 and 6277. It also updates RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6960"/>
          <seriesInfo name="DOI" value="10.17487/RFC6960"/>
        </reference>
        <reference anchor="RFC6066">
          <front>
            <title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>This document provides specifications for existing TLS extensions. It is a companion document for RFC 5246, "The Transport Layer Security (TLS) Protocol Version 1.2". The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6066"/>
          <seriesInfo name="DOI" value="10.17487/RFC6066"/>
        </reference>
        <reference anchor="RFC633">
          <front>
            <title>IMP/TIP preventive maintenance schedule</title>
            <author fullname="A.M. McKenzie" initials="A.M." surname="McKenzie"/>
            <date month="March" year="1974"/>
            <abstract>
              <t>An old version; see RFC 638.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="633"/>
          <seriesInfo name="DOI" value="10.17487/RFC633"/>
        </reference>
        <reference anchor="RFC7030">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="W3C.vc-data-model" target="https://www.w3.org/TR/vc-data-model/">
          <front>
            <title>Verifiable Credentials Data Model v1.1</title>
            <author/>
          </front>
          <seriesInfo name="W3C REC" value="vc-data-model"/>
          <seriesInfo name="W3C" value="vc-data-model"/>
        </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="30" month="October" 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-09"/>
        </reference>
      </references>
    </references>
    <?line 534?>



  </back>
  <!-- ##markdown-source:
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
EySUMhFpKTbIhRdmp2b2Vqn/BgNYY/QLXwAA

-->

</rfc>
