<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rosomakho-tls-supplemental-auth-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Supplemental Authentication in TLS 1.3">Supplemental Authentication in TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-rosomakho-tls-supplemental-auth-00"/>
    <author fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <author fullname="Rifaat Shekh-Yusef">
      <organization>Ciena</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>rifaat.s.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Hannes Tschofenig">
      <organization abbrev="UniBw M.">University of the Bundeswehr Munich</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2026" month="June" day="25"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>tls</keyword>
    <keyword>supplemental authentication</keyword>
    <keyword>secondary certificates</keyword>
    <abstract>
      <?line 60?>

<t>TLS 1.3 allows endpoints to authenticate using certificates during the handshake and supports optional post-handshake client authentication. However, some deployments require presenting additional certificate-based authentication statements bound to the same TLS connection, such as separate device and user identities, attestation evidence, or multiple certificate chains during cryptographic transitions.</t>
      <t>This document defines Supplemental Authentication for TLS 1.3, a mechanism that allows endpoints to present additional certificate authentication messages after the handshake while preserving the authentication semantics of TLS 1.3. Supplemental authentication reuses the existing Certificate, CertificateVerify, and Finished message structure and allows endpoints to exchange one or more additional certificate-based authentication statements before sending application data or other post-handshake TLS messages.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://yaroslavros.github.io/tls-supplemental-auth/draft-rosomakho-tls-supplemental-auth.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rosomakho-tls-supplemental-auth/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/yaroslavros/tls-supplemental-auth"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>TLS 1.3 <xref target="TLS"/> allows endpoints to authenticate using certificates during the handshake. A server presents its certificate chain in the handshake <tt>Certificate</tt> message, and the server may request a client certificate using the <tt>CertificateRequest</tt> message. TLS 1.3 also defines post-handshake client authentication, which allows a server to request a client certificate after the handshake has completed.</t>
      <t>Some deployments require presenting multiple certificate-based authentication statements bound to the same TLS connection. Examples include separating device and user authentication, presenting attestation evidence in addition to a device identity, or providing multiple certificate chains during cryptographic transitions such as migration to post-quantum algorithms. In these scenarios, multiple authentication statements may need to be associated with a single secure connection.</t>
      <t>While TLS 1.3 post-handshake authentication can be used to request additional client certificates, it is rarely deployed in practice. Post-handshake authentication is explicitly prohibited in HTTP/2 (<xref section="9.2.3" sectionFormat="of" target="H2"/>) and QUIC (<xref section="4.4" sectionFormat="of" target="QUIC-TLS"/>).</t>
      <t>This document defines Supplemental Authentication for TLS 1.3. Supplemental authentication allows endpoints to present additional certificate-based authentication messages after the sender's <tt>Finished</tt> message and before that sender transmits application data or any other post-handshake TLS message. These additional authentication statements are cryptographically bound to the TLS connection and reuse the existing <tt>Certificate</tt>, <tt>CertificateVerify</tt>, and <tt>Finished</tt> message structure defined by TLS 1.3.</t>
      <t>Endpoints signal support for supplemental authentication and optionally request additional authentication statements using a new <tt>supplemental_certificate_requests</tt> extension. A peer that is willing to provide supplemental authentication in response to this extension indicates this by setting the <tt>supplemental_certificate</tt> flag in its main handshake <tt>Certificate</tt> message, and then sends any supplemental authentication flights after its own <tt>Finished</tt> message and before it transmits application data. When both endpoints use supplemental authentication, each endpoint follows this rule independently.</t>
      <t>Supplemental authentication extends the existing TLS certificate authentication mechanism. It does not replace primary certificate authentication performed during the handshake and does not change the semantics of TLS authentication or authorization decisions, which remain application-specific.</t>
      <t>Supplemental authentication requires certificate-based authentication in the main handshake. An endpoint <bcp14>MUST NOT</bcp14> send supplemental authentication sequences unless that endpoint presented a non-empty certificate chain in the main handshake <tt>Certificate</tt> message. Consequently, this mechanism cannot be used by an endpoint authenticated only with a PSK.</t>
      <t>The mechanism defined in this document can also be used with DTLS 1.3 <xref target="DTLS"/> and protocols that use the TLS 1.3 handshake such as QUIC <xref target="QUIC-TLS"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="overview-of-supplemental-authentication">
      <name>Overview of Supplemental Authentication</name>
      <t>Supplemental authentication allows endpoints to present additional certificate-based authentication statements associated with an established TLS connection.</t>
      <t>A fundamental concept of this specification is the clear separation between the "Main Handshake" and the "Supplemental Authentication phase". The Main Handshake is considered complete upon the successful processing of the initial Finished messages by both endpoints, at which point a secure connection is established and application traffic keys are available.</t>
      <t>These additional authentication statements are exchanged during the Supplemental Authentication phase, after the sender's <tt>Finished</tt> message and before that sender transmits application data or any other post-handshake TLS message, and are cryptographically bound to the connection using the same authentication mechanisms defined in TLS 1.3.</t>
      <t>Endpoints signal support for supplemental authentication and optionally request additional authentication statements using the <tt>supplemental_certificate_requests</tt> extension. This extension can appear in the <tt>ClientHello</tt> or <tt>CertificateRequest</tt> messages and contains <tt>SupplementalCertificateRequest</tt> structures that describe the requested authentication contexts and associated parameters.</t>
      <t>A peer that is willing to provide supplemental authentication indicates acceptance by including the <tt>supplemental_certificate</tt> flag in its main handshake <tt>Certificate</tt> message. The presence of this flag indicates that the sender will transmit at least one additional authentication flight after the handshake completes.</t>
      <t>Each supplemental authentication flight consists of the TLS 1.3 authentication message sequence:</t>
      <figure anchor="fig-tls-auth-messages">
        <name>TLS 1.3 authentication message sequence</name>
        <artwork><![CDATA[
Certificate
CertificateVerify
Finished
]]></artwork>
      </figure>
      <t>These messages are processed using the same cryptographic mechanisms defined for certificate authentication in TLS 1.3. Supplemental authentication flights are sent after the handshake <tt>Finished</tt> message and are protected using the established connection keys.</t>
      <t>Multiple supplemental authentication flights may be sent by a single endpoint. If the <tt>supplemental_certificate</tt> flag is present in a supplemental <tt>Certificate</tt> message, it indicates that another supplemental authentication flight will follow. If the flag is absent, the <tt>Certificate</tt> message is the final supplemental authentication flight sent by that endpoint.</t>
      <t>Supplemental authentication flights from a given sender <bcp14>MUST</bcp14> form a contiguous sequence of handshake messages from that sender. An endpoint <bcp14>MUST NOT</bcp14> interleave application data or other TLS messages from that endpoint with its supplemental authentication flights.</t>
      <t>Each supplemental authentication flight satisfies at most one <tt>SupplementalCertificateRequest</tt>. A sender <bcp14>MAY</bcp14> transmit multiple supplemental authentication flights that satisfy the same request, provided that the number of flights does not exceed the <tt>max_certificates</tt> value specified in the corresponding request.</t>
      <t>Supplemental authentication flights for different request contexts <bcp14>MAY</bcp14> appear in any order. The receiver determines which <tt>SupplementalCertificateRequest</tt> a supplemental authentication flight satisfies based on the <tt>certificate_request_context</tt> value.</t>
      <t>The following sections illustrate typical message flows.</t>
      <section anchor="server-supplemental-authentication-example">
        <name>Server Supplemental Authentication Example</name>
        <t>In this example, the client requests additional authentication statements from the server using the <tt>supplemental_certificate_requests</tt> extension in the <tt>ClientHello</tt>. The server indicates acceptance in its handshake <tt>Certificate</tt> message and sends two supplemental authentication flights after the handshake.</t>
        <figure anchor="fig-tls-server-supplemental-auth-example">
          <name>Server Supplemental Authentication example</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="592" viewBox="0 0 592 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 400,48 L 440,48" fill="none" stroke="black"/>
                <path d="M 192,112 L 256,112" fill="none" stroke="black"/>
                <path d="M 192,336 L 256,336" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="264,112 252,106.4 252,117.6" fill="black" transform="rotate(0,256,112)"/>
                <polygon class="arrowhead" points="200,336 188,330.4 188,341.6" fill="black" transform="rotate(180,192,336)"/>
                <g class="text">
                  <text x="28" y="36">Client</text>
                  <text x="420" y="36">Server</text>
                  <text x="48" y="84">ClientHello</text>
                  <text x="24" y="100">+</text>
                  <text x="168" y="100">supplemental_certificate_requests</text>
                  <text x="408" y="132">ServerHello</text>
                  <text x="440" y="148">EncryptedExtensions</text>
                  <text x="408" y="164">Certificate</text>
                  <text x="384" y="180">+</text>
                  <text x="492" y="180">supplemental_certificate</text>
                  <text x="432" y="196">CertificateVerify</text>
                  <text x="396" y="212">Finished</text>
                  <text x="408" y="228">Certificate</text>
                  <text x="384" y="244">+</text>
                  <text x="492" y="244">supplemental_certificate</text>
                  <text x="432" y="260">CertificateVerify</text>
                  <text x="396" y="276">Finished</text>
                  <text x="408" y="292">Certificate</text>
                  <text x="432" y="308">CertificateVerify</text>
                  <text x="396" y="324">Finished</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
Client                                           Server
------                                           ------

ClientHello
  + supplemental_certificate_requests
                       -------->
                                             ServerHello
                                             EncryptedExtensions
                                             Certificate
                                               + supplemental_certificate
                                             CertificateVerify
                                             Finished
                                             Certificate
                                               + supplemental_certificate
                                             CertificateVerify
                                             Finished
                                             Certificate
                                             CertificateVerify
                                             Finished
                       <--------

]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="client-supplemental-authentication-example">
        <name>Client Supplemental Authentication Example</name>
        <t>In this example, the server requests client authentication in the main handshake and additionally requests supplemental authentication statements from the client using the <tt>supplemental_certificate_requests</tt> extension in the <tt>CertificateRequest</tt> message. After the client completes the handshake, it sends two supplemental authentication flights.</t>
        <figure anchor="fig-tls-client-supplemental-auth-example">
          <name>Client Supplemental Authentication example</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="448" width="664" viewBox="0 0 664 448" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 400,48 L 440,48" fill="none" stroke="black"/>
                <path d="M 192,96 L 256,96" fill="none" stroke="black"/>
                <path d="M 192,224 L 256,224" fill="none" stroke="black"/>
                <path d="M 192,416 L 256,416" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="264,416 252,410.4 252,421.6" fill="black" transform="rotate(0,256,416)"/>
                <polygon class="arrowhead" points="264,96 252,90.4 252,101.6" fill="black" transform="rotate(0,256,96)"/>
                <polygon class="arrowhead" points="200,224 188,218.4 188,229.6" fill="black" transform="rotate(180,192,224)"/>
                <g class="text">
                  <text x="28" y="36">Client</text>
                  <text x="420" y="36">Server</text>
                  <text x="48" y="84">ClientHello</text>
                  <text x="408" y="116">ServerHello</text>
                  <text x="440" y="132">EncryptedExtensions</text>
                  <text x="436" y="148">CertificateRequest</text>
                  <text x="384" y="164">+</text>
                  <text x="528" y="164">supplemental_certificate_requests</text>
                  <text x="408" y="180">Certificate</text>
                  <text x="432" y="196">CertificateVerify</text>
                  <text x="396" y="212">Finished</text>
                  <text x="48" y="244">Certificate</text>
                  <text x="16" y="260">+</text>
                  <text x="124" y="260">supplemental_certificate</text>
                  <text x="72" y="276">CertificateVerify</text>
                  <text x="36" y="292">Finished</text>
                  <text x="48" y="308">Certificate</text>
                  <text x="16" y="324">+</text>
                  <text x="124" y="324">supplemental_certificate</text>
                  <text x="72" y="340">CertificateVerify</text>
                  <text x="36" y="356">Finished</text>
                  <text x="48" y="372">Certificate</text>
                  <text x="72" y="388">CertificateVerify</text>
                  <text x="36" y="404">Finished</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
Client                                           Server
------                                           ------

ClientHello
                       -------->
                                             ServerHello
                                             EncryptedExtensions
                                             CertificateRequest
                                               + supplemental_certificate_requests
                                             Certificate
                                             CertificateVerify
                                             Finished
                       <--------
Certificate
 + supplemental_certificate
CertificateVerify
Finished
Certificate
 + supplemental_certificate
CertificateVerify
Finished
Certificate
CertificateVerify
Finished
                       -------->

]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="the-supplementalcertificaterequests-extension">
      <name>The supplemental_certificate_requests Extension</name>
      <t>The <tt>supplemental_certificate_requests</tt> TLS extension is used to signal support for supplemental authentication and to optionally request additional certificate-based authentication statements from the peer.</t>
      <t>This extension <bcp14>MAY</bcp14> appear in the <tt>ClientHello</tt> or <tt>CertificateRequest</tt> messages:</t>
      <ul spacing="normal">
        <li>
          <t>When included in a <tt>ClientHello</tt>, the extension indicates that the client supports supplemental authentication and optionally requests supplemental authentication statements from the server.</t>
        </li>
        <li>
          <t>When included in a <tt>CertificateRequest</tt>, the extension indicates that the server supports supplemental authentication and optionally requests supplemental authentication statements from the client.</t>
        </li>
      </ul>
      <t>When included in a <tt>CertificateRequest</tt>, this extension augments rather than replaces the semantics of the enclosing <tt>CertificateRequest</tt>. In particular, a <tt>CertificateRequest</tt> sent during the main handshake still requests client authentication for the main handshake.</t>
      <t>The extension contains a list of <tt>SupplementalCertificateRequest</tt> structures describing requested supplemental authentication contexts.</t>
      <t>The extension structure is defined as follows:</t>
      <figure anchor="fig-supplemental-certificate-requests">
        <name>supplemental_certificate_requests Extension Structure</name>
        <artwork><![CDATA[
struct {
  uint8 max_certificates;
  opaque certificate_request_context<0..255>;
  Extension extensions<0..2^16-1>;
} SupplementalCertificateRequest;

struct {
  SupplementalCertificateRequest requests<0..2^16-1>;
} SupplementalCertificateRequests;
]]></artwork>
      </figure>
      <t>The requests field contains zero or more <tt>SupplementalCertificateRequest</tt> structures.</t>
      <t>If the list is empty, the sender indicates willingness to receive supplemental authentication statements without specifying any particular request contexts.</t>
      <t>Each <tt>SupplementalCertificateRequest</tt> describes a requested supplemental authentication context and the parameters associated with that request.</t>
      <t>The fields of <tt>SupplementalCertificateRequest</tt> are defined as follows:</t>
      <dl>
        <dt><strong>max_certificates</strong>:</dt>
        <dd>
          <t>A limit on the number of supplemental authentication flights that the peer may send in response to this request. The value specifies the maximum number of Certificate authentication flights that may satisfy this request. The value <bcp14>MUST</bcp14> be greater than zero.</t>
        </dd>
        <dt><strong>certificate_request_context</strong>:</dt>
        <dd>
          <t>An opaque value used to identify this supplemental authentication request. This value is carried in the <tt>certificate_request_context</tt> field of the <tt>Certificate</tt> message sent in response to this request.</t>
        </dd>
      </dl>
      <t>Within a single <tt>supplemental_certificate_requests</tt> extension, each <tt>certificate_request_context</tt> value <bcp14>MUST</bcp14> be unique. If more than one <tt>SupplementalCertificateRequest</tt> structure is present, at most one of them <bcp14>MAY</bcp14> use an empty <tt>certificate_request_context</tt>.</t>
      <dl>
        <dt><strong>extensions</strong>:</dt>
        <dd>
          <t>A list of extensions that describe parameters associated with this request. Except as described below for <tt>server_name</tt>, these extensions follow the same syntax and semantics as extensions carried in the TLS 1.3 <tt>CertificateRequest</tt> message. Only extensions that are valid in a <tt>CertificateRequest</tt> message <bcp14>MAY</bcp14> appear in this list. The <tt>supplemental_certificate_requests</tt> extension <bcp14>MUST NOT</bcp14> appear in the <tt>extensions</tt> list of a <tt>SupplementalCertificateRequest</tt>.</t>
        </dd>
      </dl>
      <t>The <tt>server_name</tt> extension <bcp14>MAY</bcp14> appear in the <tt>extensions</tt> list of a <tt>SupplementalCertificateRequest</tt> when the containing <tt>supplemental_certificate_requests</tt> extension appears in the <tt>ClientHello</tt>. The <tt>server_name</tt> extension <bcp14>MUST NOT</bcp14> appear in the <tt>extensions</tt> list of a <tt>SupplementalCertificateRequest</tt> when the containing <tt>supplemental_certificate_requests</tt> extension appears in a <tt>CertificateRequest</tt>.</t>
      <t>If an extension is not present in the <tt>extensions</tt> list of a <tt>SupplementalCertificateRequest</tt>, the parameters for that extension are inherited from the corresponding values negotiated in the main handshake. Unlike the TLS 1.3 <tt>ClientHello</tt> and <tt>CertificateRequest</tt> messages, the <tt>signature_algorithms</tt> extension is <bcp14>OPTIONAL</bcp14> in a <tt>SupplementalCertificateRequest</tt>.</t>
      <t>When the <tt>supplemental_certificate_requests</tt> extension appears in the <tt>ClientHello</tt>, the inherited values are taken from the client's
<tt>ClientHello</tt>. When the extension appears in a <tt>CertificateRequest</tt>, the inherited values are taken from the parameters of the enclosing <tt>CertificateRequest</tt> message.</t>
      <t>A peer receiving the <tt>supplemental_certificate_requests</tt> extension <bcp14>MAY</bcp14> respond to zero or more of the contained <tt>SupplementalCertificateRequest</tt> structures. For a given request, the peer <bcp14>MAY</bcp14> send between zero and <tt>max_certificates</tt> supplemental authentication flights.</t>
      <t>If a peer sends a supplemental authentication flight in response to a request, the <tt>certificate_request_context</tt> field of the <tt>Certificate</tt> message <bcp14>MUST</bcp14> be equal to the <tt>certificate_request_context</tt> value of the corresponding <tt>SupplementalCertificateRequest</tt>.</t>
      <t>The following is an example of SupplementalCertificateRequests:</t>
      <artwork><![CDATA[
SupplementalCertificateRequests {
  requests = [
    // Request for the Device Certificate
    SupplementalCertificateRequest {
      max_certificates = 1,
      certificate_request_context = "device-identity",
      extensions = { device cert specific extensions ... }
    },

    // Request for the User Certificate
    SupplementalCertificateRequest {
      max_certificates = 1,
      certificate_request_context = "user-identity",
      extensions = { user cert specific extensions ... }
    }
  ]
}
]]></artwork>
    </section>
    <section anchor="the-supplementalcertificate-tls-flag">
      <name>The supplemental_certificate TLS flag</name>
      <t>The <tt>supplemental_certificate</tt> TLS flag signals the use of supplemental authentication.</t>
      <t>This flag is defined as a TLS flag as specified in <xref target="TLS-FLAGS"/> and may appear in a <tt>Certificate</tt> message.</t>
      <t>The semantics of this flag depend on the context in which it appears.</t>
      <section anchor="use-in-the-main-handshake">
        <name>Use in the Main Handshake</name>
        <t>When the <tt>supplemental_certificate</tt> flag appears in the main handshake <tt>Certificate</tt> message, it indicates that the sender will transmit at least one additional certificate authentication sequence after the TLS handshake has completed.</t>
        <t>An endpoint <bcp14>MUST NOT</bcp14> set the <tt>supplemental_certificate</tt> flag in its main handshake <tt>Certificate</tt> message unless the peer indicated willingness to receive supplemental authentication by including the <tt>supplemental_certificate_requests</tt> extension.</t>
      </section>
      <section anchor="use-in-supplemental-authentication-certificates">
        <name>Use in Supplemental Authentication Certificates</name>
        <t>When the <tt>supplemental_certificate</tt> flag appears in a <tt>Certificate</tt> message sent after the handshake, it indicates that another supplemental authentication sequence will follow.</t>
        <t>If the flag is absent from a supplemental <tt>Certificate</tt> message, that <tt>Certificate</tt> message is the final supplemental authentication sequence sent by that endpoint.</t>
      </section>
    </section>
    <section anchor="supplemental-authentication-flights">
      <name>Supplemental Authentication Flights</name>
      <t>Supplemental authentication is performed using one or more additional certificate authentication sequences exchanged after the TLS handshake has completed.</t>
      <t>Each supplemental authentication sequence consists of the following TLS 1.3 authentication messages:</t>
      <artwork><![CDATA[
Certificate
CertificateVerify
Finished
]]></artwork>
      <t>These messages use the same structure and processing rules as the corresponding TLS 1.3 handshake messages defined in <xref target="TLS"/>.</t>
      <section anchor="record-protection">
        <name>Record Protection</name>
        <t>Supplemental authentication messages are sent after the TLS handshake has completed and are protected using the established application traffic secrets. In TLS and DTLS, these messages are carried as protected handshake messages and are encrypted under the sender's current application traffic keys.</t>
      </section>
      <section anchor="transcript-construction">
        <name> Transcript Construction</name>
        <t>Supplemental authentication does not extend the TLS 1.3 handshake transcript used for the key schedule, exporters, or session resumption. For the purpose of constructing supplemental authentication messages, each endpoint maintains a sender-local supplemental transcript.</t>
        <t>For a server sending supplemental authentication sequences, the sender-local supplemental transcript begins with the handshake transcript that includes all handshake messages up to and including the server's main-handshake <tt>Finished</tt> message.</t>
        <t>For a client sending supplemental authentication sequences, the sender-local supplemental transcript begins with the handshake transcript that includes all handshake messages up to and including the client's main-handshake <tt>Finished</tt> message.</t>
        <t>The sender-local supplemental transcript does not include post-handshake messages from the peer, including supplemental authentication sequences sent by the peer. Each endpoint therefore signs only its own supplemental authentication sequences together with the relevant TLS handshake transcript prefix.</t>
        <t>For each supplemental authentication sequence, the sender-local supplemental transcript additionally includes:</t>
        <ul spacing="normal">
          <li>
            <t>all messages from any preceding supplemental authentication sequences sent by this endpoint, and</t>
          </li>
          <li>
            <t>the <tt>Certificate</tt>, <tt>CertificateVerify</tt> and <tt>Finished</tt> message of the current supplemental authentication sequence.</t>
          </li>
        </ul>
        <t>The <tt>CertificateVerify</tt> message is constructed using the same procedure and context string defined for certificate authentication in TLS 1.3 <xref target="TLS"/>. A server uses the server <tt>CertificateVerify</tt> context string, and a client uses the client <tt>CertificateVerify</tt> context string.</t>
        <artwork><![CDATA[
CertificateVerify: A signature over the value
   Transcript-Hash(Handshake Context, Certificate).
]]></artwork>
        <t>The <tt>Finished</tt> message is constructed using the same procedure as <tt>Finished</tt> in TLS 1.3, except that the transcript hash is taken over the sender-local supplemental transcript defined above. The Base Key is the sender's current application traffic secret, namely <tt>server_application_traffic_secret_0</tt> for a server and <tt>client_application_traffic_secret_0</tt> for a client.</t>
        <artwork><![CDATA[
Finished: A MAC over the value Transcript-Hash(Handshake Context,
   Certificate, CertificateVerify) using a MAC key derived from the
   Base Key.
]]></artwork>
        <t>Handshake Context and Base Key are specified in the following table:</t>
        <artwork><![CDATA[
+--------------+-----------------------------+--------------------------------+
| Mode         | Handshake Context           | Base Key                       |
+--------------+-----------------------------+--------------------------------+
| Server       | ClientHello ... server      | server_application_traffic_    |
| Supplemental | Finished +                  | secret_N                       |
|              | all messages from           |                                |
|              | previously sent server      |                                |
|              | supplemental authentication |                                |
|              | sequences                   |                                |
|              |                             |                                |
| Client       | ClientHello ... client      | client_application_traffic_    |
| Supplemental | Finished +                  | secret_N                       |
|              | all messages from           |                                |
|              | previously sent client      |                                |
|              | supplemental authentication |                                |
|              | sequences                   |                                |
+--------------+-----------------------------+--------------------------------+
]]></artwork>
        <t>After a supplemental authentication sequence is sent, its <tt>Certificate</tt>, <tt>CertificateVerify</tt>, and <tt>Finished</tt> messages are appended to the sender's Handshake Context, so that each subsequent sequence is bound to all previously transmitted sequences from that sender. Endpoints performing supplemental authentication <bcp14>MUST</bcp14> retain the transcript hash state at the end of the handshake and update it with each supplemental authentication message sent, until all supplemental authentication sequences have been transmitted.</t>
        <t>An endpoint <bcp14>MUST NOT</bcp14> change its sending application traffic keys in the middle of a supplemental authentication sequence. If an endpoint sends more than one supplemental authentication sequence, it <bcp14>MAY</bcp14> update its sending application traffic keys between sequences.</t>
        <t>Endpoints performing supplemental authentication <bcp14>MUST</bcp14> retain the necessary handshake authentication state required to compute additional <tt>CertificateVerify</tt> and <tt>Finished</tt> messages until supplemental authentication has completed.</t>
      </section>
      <section anchor="request-matching">
        <name>Request Matching</name>
        <t>If the peer previously sent a <tt>supplemental_certificate_requests</tt> extension, a supplemental authentication sequence <bcp14>MAY</bcp14> satisfy one of the contained <tt>SupplementalCertificateRequest</tt> structures.</t>
        <t>If a supplemental authentication sequence is sent in response to a request, the <tt>certificate_request_context</tt> field of the <tt>Certificate</tt> message <bcp14>MUST</bcp14> be equal to the <tt>certificate_request_context</tt> value of the corresponding SupplementalCertificateRequest.</t>
        <t>A sender <bcp14>MAY</bcp14> transmit multiple supplemental authentication sequences that satisfy the same request, provided that the number of sequences does not exceed the <tt>max_certificates</tt> value specified in the request.</t>
        <t>A sender <bcp14>MAY</bcp14> also transmit supplemental authentication sequences that are not associated with any specific request context, in which case the <tt>certificate_request_context</tt> field of the <tt>Certificate</tt> message is empty.</t>
      </section>
      <section anchor="message-ordering">
        <name>Message Ordering</name>
        <t>Supplemental authentication sequences sent by an endpoint <bcp14>MUST</bcp14> form a contiguous sequence of TLS handshake messages from that endpoint.</t>
        <t>An endpoint <bcp14>MUST NOT</bcp14> interleave application data or other TLS messages from that endpoint with its supplemental authentication sequences.</t>
        <t>If the <tt>supplemental_certificate</tt> TLS flag in a <tt>Certificate</tt> message indicates that another supplemental authentication sequence will follow, the <tt>Finished</tt> message completing that sequence <bcp14>MUST</bcp14> be followed by a <tt>Certificate</tt> message starting the next supplemental authentication sequence.</t>
        <t>Messages from the peer <bcp14>MAY</bcp14> appear between supplemental authentication sequences and are processed according to TLS 1.3. Such peer messages are not included in the sender-local supplemental transcript defined in <xref target="supplemental-authentication-flights"/>.</t>
        <t>If any other TLS message is received from that endpoint before the next <tt>Certificate</tt> message, the receiver <bcp14>MUST</bcp14> abort the connection with an <tt>unexpected_message</tt> alert.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="authentication-binding">
        <name>Authentication Binding</name>
        <t>Each supplemental authentication sequence includes a <tt>CertificateVerify</tt> and <tt>Finished</tt> message constructed using the sender-local supplemental transcript and the sender's application traffic secrets as described in <xref target="supplemental-authentication-flights"/>. This ensures that each supplemental certificate authentication statement is cryptographically bound to the TLS connection and cannot be replayed across connections.</t>
        <t>Supplemental authentication sequences sent by one endpoint are not included in the transcript used by the peer when constructing its own supplemental authentication messages. As a result, supplemental authentication statements produced by each endpoint are independently bound to the TLS handshake transcript rather than to the peer's supplemental authentication statements.</t>
        <t>This design allows both endpoints to transmit supplemental authentication sequences without introducing additional round-trip latency. Applications that rely on relationships between multiple authentication statements from different endpoints <bcp14>MUST</bcp14> verify those relationships explicitly at the application layer.</t>
      </section>
      <section anchor="message-ordering-and-integrity">
        <name>Message Ordering and Integrity</name>
        <t>The <tt>supplemental_certificate</tt> TLS flag ensures that supplemental authentication sequences cannot be truncated or reordered without detection. If a <tt>Certificate</tt> message indicates that another supplemental authentication sequence will follow, the receiver expects the next message from that endpoint to begin the next sequence. Any deviation from this ordering results in a TLS protocol error.</t>
        <t>Because each supplemental authentication sequence includes a <tt>Finished</tt> message that covers the transcript defined in <xref target="supplemental-authentication-flights"/>, modification, removal, or reordering of messages within a sequence is detected by the TLS authentication mechanisms.</t>
      </section>
      <section anchor="authorization-semantics">
        <name>Authorization Semantics</name>
        <t>TLS authentication establishes the identity of the peer but does not define how that identity is used for authorization. Supplemental authentication introduces additional authentication statements that may represent different identities or attributes (for example, device identity, user identity, or attestation evidence).</t>
        <t>Applications using supplemental authentication <bcp14>MUST</bcp14> define how these authentication statements are interpreted and how multiple statements are combined when making authorization decisions. Incorrect or ambiguous interpretation of multiple authentication statements could lead to unintended authorization outcomes.</t>
      </section>
      <section anchor="resource-consumption">
        <name>Resource Consumption</name>
        <t>A peer can request supplemental authentication using the <tt>supplemental_certificate_requests</tt> extension. Responding to such requests may require the peer to construct certificate chains and produce signatures. Implementations <bcp14>SHOULD</bcp14> ensure that the processing of supplemental authentication requests is subject to appropriate resource limits and policy checks to prevent denial-of-service conditions.</t>
        <t>The <tt>max_certificates</tt> field in <tt>SupplementalCertificateRequest</tt> limits the number of supplemental authentication sequences that may satisfy a given request. Implementations <bcp14>MUST</bcp14> enforce this limit.</t>
      </section>
      <section anchor="confidentiality-of-authentication-requests">
        <name>Confidentiality of Authentication Requests</name>
        <t>The <tt>supplemental_certificate_requests</tt> extension may reveal information about the types of authentication statements requested by an endpoint. When this extension appears in the <tt>ClientHello</tt>, its contents are visible to on-path observers unless the connection uses Encrypted ClientHello <xref target="ECH"/>.</t>
        <t>Clients that wish to avoid revealing requested supplemental authentication contexts <bcp14>SHOULD</bcp14> use ECH so that the contents of the inner ClientHello are encrypted.</t>
        <t>A client <bcp14>MAY</bcp14> include an empty <tt>supplemental_certificate_requests</tt> extension in the outer ClientHello to indicate support for supplemental authentication while withholding the specific request parameters until the encrypted inner ClientHello is processed.</t>
      </section>
      <section anchor="session-resumption">
        <name>Session Resumption</name>
        <t>The <tt>resumption_master_secret</tt> is derived from <tt>ClientHello...client Finished</tt> per Section 7.1 of <xref target="TLS"/> and does not include supplemental authentication messages. A server <bcp14>MUST NOT</bcp14> send a <tt>NewSessionTicket</tt> message until all supplemental authentication sequences from both endpoints have been completed. This ensures that a resumed session is not established before the supplemental authentication guarantees of the original session have been fully established.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="tls-extension">
        <name>TLS Extension</name>
        <t>IANA is requested to add the following entry to the "TLS ExtensionType Values" extension registry <xref target="TLS-Ext-Registry"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD1</t>
          </li>
          <li>
            <t>Extension Name: supplemental_certificate_requests</t>
          </li>
          <li>
            <t>TLS 1.3: CH, CR</t>
          </li>
          <li>
            <t>DTLS-Only: N</t>
          </li>
          <li>
            <t>Recommended: Y</t>
          </li>
          <li>
            <t>Reference: [This document]</t>
          </li>
        </ul>
      </section>
      <section anchor="tls-flag">
        <name>TLS Flag</name>
        <t>IANA is requested to add the following entry to the "TLS Flags" registry created by <xref target="TLS-FLAGS"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD2</t>
          </li>
          <li>
            <t>Flag Name: supplemental_certificate</t>
          </li>
          <li>
            <t>Messages: CT</t>
          </li>
          <li>
            <t>Recommended: Y</t>
          </li>
          <li>
            <t>Reference: [This document]</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="TLS">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <date day="13" month="September" year="2025"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Transport Layer Security
   (TLS) protocol.  TLS allows client/server applications to communicate
   over the Internet in a way that is designed to prevent eavesdropping,
   tampering, and message forgery.

   This document updates RFCs 5705, 6066, 7627, and 8422 and obsoletes
   RFCs 5077, 5246, 6961, 8422, and 8446.  This document also specifies
   new requirements for TLS 1.2 implementations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-14"/>
        </reference>
        <reference anchor="RFC2119">
          <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">
          <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="TLS-FLAGS">
          <front>
            <title>A Flags Extension for TLS 1.3</title>
            <author fullname="Yoav Nir" initials="Y." surname="Nir">
              <organization>Dell Technologies</organization>
            </author>
            <date day="17" month="March" year="2026"/>
            <abstract>
              <t>   A number of extensions are proposed in the TLS working group that
   carry no interesting information except the 1-bit indication that a
   certain optional feature is supported.  Such extensions take 4 octets
   each.  This document defines a flags extension that can provide such
   indications at an average marginal cost of 1 bit each.  More
   precisely, it provides as many flag extensions as needed at 4 + the
   order of the last set bit divided by 8.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-tlsflags-17"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="TLS-Ext-Registry" target="https://www.iana.org/assignments/tls-extensiontype-values">
          <front>
            <title>Transport Layer Security (TLS) Extensions</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2026" month="March"/>
          </front>
        </reference>
        <reference anchor="H2">
          <front>
            <title>HTTP/2</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
              <t>This document obsoletes RFCs 7540 and 8740.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9113"/>
          <seriesInfo name="DOI" value="10.17487/RFC9113"/>
        </reference>
        <reference anchor="QUIC-TLS">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="DTLS">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Nagendra Modadugu" initials="N." surname="Modadugu">
              <organization>Google, Inc.</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Datagram Transport Layer
   Security (DTLS) protocol.  DTLS 1.3 allows client/server applications
   to communicate over the Internet in a way that is designed to prevent
   eavesdropping, tampering, and message forgery.

   The DTLS 1.3 protocol is based on the Transport Layer Security (TLS)
   1.3 protocol and provides equivalent security guarantees with the
   exception of order protection / non-replayability.  Datagram
   semantics of the underlying transport are preserved by the DTLS
   protocol.

   This document obsoletes RFC 6347.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc9147bis-01"/>
        </reference>
        <reference anchor="ECH">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="K. Oku" initials="K." surname="Oku"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document describes a mechanism in Transport Layer Security (TLS) for encrypting a message under a server public key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9849"/>
          <seriesInfo name="DOI" value="10.17487/RFC9849"/>
        </reference>
      </references>
    </references>
    <?line 470?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
    </section>
    <section anchor="appendix">
      <name>Appendix</name>
      <section anchor="application-policy-enforcement">
        <name>Application Policy Enforcement</name>
        <t>Applications making use of supplemental authentication must define a clear and unambiguous policy for interpreting the set of authentication statements presented in the TLS handshake and subsequent supplemental authentication flights. This policy dictates the requirements for establishing a connection and for granting access to specific resources.
When evaluating a connection, the application's policy engine must consider all received authentication statements, as well as the absence of expected statements, as inputs to its authorization decision. Incorrect or incomplete policy evaluation can lead to severe security vulnerabilities.</t>
        <t>Endpoints should perform their complete policy evaluation after all supplemental authentication flights are complete and before processing any application data. If the full set of presented identities does not satisfy the application's policy, the endpoint must terminate the connection, preferably with a specific alert (e.g., bad_certificate or access_denied).</t>
      </section>
      <section anchor="policy-enforcement-scenarios">
        <name>Policy Enforcement Scenarios</name>
        <t>The following non-normative examples illustrate how application policy interacts with the supplemental authentication mechanism.</t>
        <section anchor="hybrid-post-quantum-and-traditional-authentication">
          <name>Hybrid Post-Quantum and Traditional Authentication</name>
          <t>A high-security client has a local policy requiring that all connections to a specific server be mutually authenticated using both a traditional ECDSA certificate and a post-quantum ML-DSA certificate.</t>
          <ul spacing="normal">
            <li>
              <t>Client Policy: Connection requires client authentication with both an ECDSA certificate and a ML-DSA certificate.</t>
            </li>
            <li>
              <t>Handshake: The server sends a CertificateRequest message.</t>
            </li>
            <li>
              <t>Success: The server includes the supplemental_certificate_requests extension. The main request asks for an ECDSA certificate, and a supplemental request asks for a ML-DSA certificate. The client is able to satisfy both and proceeds.</t>
            </li>
            <li>
              <t>Failure: The server's CertificateRequest only asks for an ECDSA certificate and does not include a supplemental request for ML-DSA. Upon receiving the CertificateRequest, the client's policy engine determines that its mandatory requirement for dual authentication cannot be met. The client must abort the handshake by sending a handshake_failure alert. It is a policy violation to proceed with a connection that is only partially authenticated according to its own requirements.</t>
            </li>
          </ul>
        </section>
        <section anchor="device-and-user-identity">
          <name>Device and User Identity</name>
          <t>A service provider uses supplemental authentication to separate device and user identity for a remote access service. The policy grants different levels of access based on the combination of identities presented.</t>
          <t>Server Policy:</t>
          <ul spacing="normal">
            <li>
              <t>Any connection requires a valid, corporate-managed device certificate.</t>
            </li>
            <li>
              <t>Access to the general user portal requires a valid user certificate in addition to the device certificate.</t>
            </li>
            <li>
              <t>Access to the admin portal requires a valid user certificate with the "admin" role, in addition to the device certificate.</t>
            </li>
          </ul>
          <t>Handshake:</t>
          <t>The server sends a CertificateRequest asking for the device certificate in the main handshake and includes a supplemental_certificate_requests extension asking for a user certificate.</t>
          <t>Server Action:</t>
          <ul spacing="normal">
            <li>
              <t>If a client provides only a valid device certificate, the connection is established, but the application will deny access to any resource pending the user authentication.</t>
            </li>
            <li>
              <t>If a client provides a valid device certificate and a valid standard user certificate, the application grants access to the general user portal but denies access to the admin portal.</t>
            </li>
            <li>
              <t>If a client provides a valid device certificate and a valid admin user certificate, the application grants access to both portals.</t>
            </li>
            <li>
              <t>If a client provides an invalid device certificate, the server must abort the handshake, regardless of what user certificate is offered. The primary authentication failed to meet the baseline policy.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
