<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-barnes-mimi-identity-arch-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="E2E Identity">Identity for E2E-Secure Communications</title>
    <seriesInfo name="Internet-Draft" value="draft-barnes-mimi-identity-arch-03"/>
    <author fullname="Richard Barnes">
      <organization>Cisco</organization>
      <address>
        <email>rlb@ipv.sx</email>
      </address>
    </author>
    <author fullname="Rohan Mahy">
      <organization>Rohan Mahy Consulting Service</organization>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>Applications and Real-Time</area>
    <workgroup>More Instant Messaging Interoperability</workgroup>
    <keyword>end to end security</keyword>
    <keyword>identity</keyword>
    <abstract>
      <?line 65?>

<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 78?>

<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="7" month="July" year="2025"/>
            <abstract>
              <t>   This specification defines a mechanism called Token Status List
   (abbreviated 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 VC, 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-12"/>
        </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="3" month="March" year="2025"/>
            <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-03"/>
        </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">
         </author>
            <date day="19" month="October" year="2025"/>
            <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-05"/>
        </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/RFC0633"/>
        </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>SPICE SD-CWT</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This specification describes a data minimization technique for use
   with CBOR Web Tokens (CWTs).  The approach is based on 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-04"/>
        </reference>
      </references>
    </references>
    <?line 536?>



  </back>
  <!-- ##markdown-source:
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
hVPVU18AAA==

-->

</rfc>
