<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-skokan-oauth-additional-hashes-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Additional Hashes for OAuth PoP and PKCE">Additional Hash Algorithms for OAuth 2.0 PKCE and Proof-of-Possession</title>
    <seriesInfo name="Internet-Draft" value="draft-skokan-oauth-additional-hashes-02"/>
    <author fullname="Filip Skokan">
      <organization>Okta</organization>
      <address>
        <email>panva.ip@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="27"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>pkce</keyword>
    <keyword>dpop</keyword>
    <keyword>mtls</keyword>
    <abstract>
      <?line 57?>

<t>This document defines SHA-512 as an additional hash algorithm for
OAuth 2.0 Proof Key for Code Exchange (PKCE), mutual-TLS
certificate-bound access tokens, and Demonstrating Proof of
Possession (DPoP), for use in deployments operating under security
policies that prohibit the use of SHA-256, which is otherwise
mandated or the only option in these mechanisms.</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-skokan-oauth-additional-hashes/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/panva/draft-oauth-additional-hashes"/>.</t>
    </note>
  </front>
  <middle>
    <?line 67?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Several OAuth 2.0 mechanisms exclusively mandate the use of SHA-256:
Proof Key for Code Exchange (PKCE) <xref target="RFC7636"/>, mutual-TLS
certificate-bound access tokens <xref target="RFC8705"/>, and Demonstrating Proof
of Possession (DPoP) <xref target="RFC9449"/>.</t>
      <t>Security policies, such as the US Commercial National Security
Algorithm (CNSA 2.0) Suite <xref target="cnsafaq"/>, prohibit the use of SHA-256 and
require SHA-384 or SHA-512. This prevents the deployment of these
OAuth 2.0 mechanisms in such environments.</t>
      <t>This document addresses this gap by defining SHA-512 alternatives
for each of these mechanisms, for use in deployments operating
under such constrained policies. For PKCE, a new <tt>S512</tt> code challenge
method is defined. For mutual-TLS certificate-bound access tokens,
a new <tt>x5t#S512</tt> confirmation method is defined. For DPoP, this
document defines SHA-512 alternatives for the JWK Thumbprint
confirmation method (<tt>jkt#S512</tt>) and the access token hash claim
(<tt>ath#S512</tt>), as well as an extensible framework for
authorization code binding and access token hash algorithm
negotiation.</t>
      <t>[[TODO: The hash algorithm chosen by this document is
currently SHA-512. The working group should determine whether to
define SHA-384 or SHA-512.]]</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>All references to "CNSA 2.0" in this document refer to CNSA 2.0
<xref target="cnsafaq"/>, unless stated otherwise.</t>
    </section>
    <section anchor="purpose-and-scope">
      <name>Purpose and Scope</name>
      <t>The sole purpose of this document is to enable deployments operating
under security policies that prohibit SHA-256 to use PKCE,
mutual-TLS certificate-bound access tokens, and DPoP. In such
constrained
deployments, the SHA-512 alternatives defined herein are used in
place of their SHA-256 counterparts, since those deployments cannot
use SHA-256 at all.</t>
      <t>This document does not deprecate the SHA-256 based methods defined
in existing specifications. The SHA-256 based methods remain the
widely deployed, interoperable and recommended defaults for all
mechanisms addressed by this document. Deployments that are not
subject to such security policies <bcp14>SHOULD NOT</bcp14> offer or use the
SHA-512 based methods defined herein.</t>
      <t>The negotiation mechanisms defined herein may however facilitate a
broader transition away from SHA-256 in the future, should that
become necessary.</t>
    </section>
    <section anchor="pkce">
      <name>PKCE</name>
      <t>Proof Key for Code Exchange (PKCE) <xref target="RFC7636"/> defines <tt>plain</tt> and
<tt>S256</tt> as code challenge methods, with <tt>S256</tt> being the only method
that applies a
cryptographic hash to the code verifier. The specification
establishes the "PKCE Code Challenge Methods" registry, which this
document uses to register the <tt>S512</tt> code challenge method.</t>
      <section anchor="S512">
        <name><tt>S512</tt> Code Challenge Method</name>
        <t>This document defines a new code challenge method for use with
PKCE <xref target="RFC7636"/>. The client creates a code challenge derived from
the code verifier by using the following transformation on the code
verifier:</t>
        <dl>
          <dt>S512:</dt>
          <dd>
            <t>code_challenge = BASE64URL(SHA-512(ASCII(code_verifier)))</t>
          </dd>
        </dl>
        <t>The server-side verification of the code verifier follows
<xref section="4.6" sectionFormat="of" target="RFC7636"/>, using SHA-512 as the hash algorithm.</t>
      </section>
      <section anchor="as-metadata">
        <name>Authorization Server Metadata</name>
        <t>An Authorization Server that supports the <tt>S512</tt> code challenge
method <bcp14>MUST</bcp14> advertise its support in its Authorization Server
metadata (e.g., <xref target="RFC8414"/> or <xref target="OpenID.Discovery"/>) by including
<tt>S512</tt> in the <tt>code_challenge_methods_supported</tt> metadata parameter
value as defined in <xref target="RFC8414"/>.</t>
      </section>
    </section>
    <section anchor="mtls">
      <name>Mutual-TLS</name>
      <t>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound
Access Tokens <xref target="RFC8705"/> exclusively uses SHA-256 for
certificate-bound access tokens via the <tt>x5t#S256</tt> confirmation
method. No alternative hash algorithms or extension points for hash
algorithm negotiation are defined. This document defines the
<tt>x5t#S512</tt> confirmation method and a Resource Server metadata
parameter for negotiating the confirmation method.</t>
      <section anchor="x5t-S512">
        <name><tt>x5t#S512</tt> Confirmation Method</name>
        <t>RFC 8705 <xref target="RFC8705"/> defines the <tt>x5t#S256</tt> confirmation method
member for binding access tokens to a client certificate using a
SHA-256 hash of the DER-encoded X.509 certificate.</t>
        <t>This document defines an analogous confirmation method member
<tt>x5t#S512</tt> that uses SHA-512 as the hash algorithm:</t>
        <dl>
          <dt>x5t#S512:</dt>
          <dd>
            <t>The value is a base64url-encoded SHA-512 hash of the
DER encoding of the X.509 certificate.</t>
          </dd>
        </dl>
        <t>When using <tt>x5t#S512</tt>, the Authorization Server computes the
SHA-512 hash of the client certificate presented during mutual-TLS
and includes the result as the <tt>x5t#S512</tt> member of the <tt>cnf</tt>
claim in the access token (for JWT access tokens) or associates
it with the token for later retrieval via token introspection
<xref target="RFC7662"/>.</t>
        <t>The Resource Server <bcp14>MUST</bcp14> compute the SHA-512 hash of the client
certificate presented during mutual-TLS and compare it with the
<tt>x5t#S512</tt> value in the <tt>cnf</tt> claim. If the values do not match,
the Resource Server <bcp14>MUST</bcp14> reject the request.</t>
        <t>The choice of <tt>x5t#S512</tt> over <tt>x5t#S256</tt> is a deployment decision.
It can be configured out of band or by the Authorization Server
using the Resource Server's metadata (<xref target="mtls-rs-metadata"/>).</t>
        <t>[[TODO: <xref section="3.1" sectionFormat="of" target="RFC7800"/> does not preclude
the presence of both <tt>x5t#S256</tt> and <tt>x5t#S512</tt> in the same <tt>cnf</tt>
claim. Including both would not represent confirmations for two
different keys but rather two different hash confirmations of the
same certificate. This may actually be useful during a transition
period in possible future non-constrained deployment scenarios.
The working group should determine whether to prohibit or allow
this.]]</t>
      </section>
      <section anchor="mtls-rs-metadata">
        <name>Resource Server Metadata</name>
        <t>This document defines the <tt>mtls_confirmation_methods_supported</tt>
Resource Server metadata parameter <xref target="RFC9728"/>. Its value is a JSON
array containing the mutual-TLS confirmation method names that the
Resource Server supports. Defined values are <tt>x5t#S256</tt> and
<tt>x5t#S512</tt>. If omitted, the default is <tt>["x5t#S256"]</tt>.</t>
      </section>
    </section>
    <section anchor="dpop">
      <name>DPoP</name>
      <t>OAuth 2.0 Demonstrating Proof of Possession (DPoP) <xref target="RFC9449"/>
exclusively uses SHA-256 for all of its hash
operations: the <tt>jkt</tt> confirmation method, the <tt>ath</tt> access token
hash claim, and the <tt>dpop_jkt</tt> authorization code binding parameter.
No alternative hash algorithms or extension points for hash
algorithm negotiation are defined.</t>
      <t><xref section="11.10" sectionFormat="of" target="RFC9449"/> anticipated the need for hash algorithm
agility and foresaw that a future specification would define a new
confirmation method, JWT claim, and authorization request parameter
for use as alternatives to their SHA-256 counterparts. This document
defines those DPoP mechanisms: the <tt>dpop_jkt_method</tt> authorization
request parameter, the <tt>jkt#S512</tt> confirmation method, and the
<tt>ath#S512</tt> JWT claim. In constrained deployments where SHA-256 is
prohibited, these are used in place of their SHA-256 counterparts
rather than alongside them.</t>
      <section anchor="authorization-code-binding-methods">
        <name>Authorization Code Binding Methods</name>
        <section anchor="dpop-jkt-method">
          <name><tt>dpop_jkt_method</tt> Authorization Request Parameter</name>
          <t>RFC 9449 <xref target="RFC9449"/> defines the <tt>dpop_jkt</tt> authorization request
parameter as the JWK Thumbprint <xref target="RFC7638"/> of the DPoP public key
using SHA-256. This document changes the definition of <tt>dpop_jkt</tt>
to allow alternative hash algorithms indicated by the
<tt>dpop_jkt_method</tt> parameter.</t>
          <t>This document defines the <tt>dpop_jkt_method</tt> authorization request
parameter, sent alongside <tt>dpop_jkt</tt>, to indicate the hash algorithm
used to compute the JWK Thumbprint. The following method values are
defined:</t>
          <dl>
            <dt>S256:</dt>
            <dd>
              <t>JWK Thumbprint <xref target="RFC7638"/> using SHA-256, as originally
defined in <xref section="10" sectionFormat="of" target="RFC9449"/>.</t>
            </dd>
            <dt>S512:</dt>
            <dd>
              <t>JWK Thumbprint <xref target="RFC7638"/> using SHA-512.</t>
            </dd>
          </dl>
          <t>For backwards compatibility, when <tt>dpop_jkt_method</tt> is absent from
the authorization request, the Authorization Server <bcp14>MUST</bcp14> assume the
value <tt>S256</tt>.</t>
          <t>The value of <tt>dpop_jkt</tt> <bcp14>MUST</bcp14> be computed using the hash algorithm
indicated by <tt>dpop_jkt_method</tt>.</t>
        </section>
        <section anchor="dpop-as-metadata">
          <name>Authorization Server Metadata</name>
          <t>This document defines the <tt>dpop_jkt_methods_supported</tt> Authorization
Server metadata parameter. Its value is a JSON array containing the
<tt>dpop_jkt_method</tt> values that the Authorization Server supports.</t>
          <t>An Authorization Server that supports <tt>dpop_jkt_method</tt> values
beyond <tt>S256</tt> <bcp14>MUST</bcp14> advertise its support by including the supported
values in the <tt>dpop_jkt_methods_supported</tt> metadata parameter.</t>
        </section>
      </section>
      <section anchor="sha-512-hash-algorithms">
        <name>SHA-512 Hash Algorithms</name>
        <section anchor="jkt-S512">
          <name><tt>jkt#S512</tt> Confirmation Method</name>
          <t>RFC 9449 <xref target="RFC9449"/> defines the <tt>jkt</tt> confirmation method member
for binding access tokens to a DPoP public key using a SHA-256
JWK Thumbprint <xref target="RFC7638"/>.</t>
          <t>This document defines an analogous confirmation method member
<tt>jkt#S512</tt> that uses SHA-512 as the hash algorithm:</t>
          <dl>
            <dt>jkt#S512:</dt>
            <dd>
              <t>The value is the base64url encoding of the JWK
Thumbprint <xref target="RFC7638"/> computed using SHA-512 of the DPoP
public key (in JWK format) to which the access token is bound.</t>
            </dd>
          </dl>
          <t>When using <tt>jkt#S512</tt>, the Authorization Server computes the
SHA-512 JWK Thumbprint of the DPoP public key and includes the
result as the <tt>jkt#S512</tt> member of the <tt>cnf</tt> claim in the access
token (for JWT access tokens) or associates it with the token
for later retrieval via token introspection <xref target="RFC7662"/>.</t>
          <t>The Resource Server <bcp14>MUST</bcp14> compute the SHA-512 JWK Thumbprint of
the DPoP public key and compare it with the <tt>jkt#S512</tt> value in
the <tt>cnf</tt> claim. If the values do not match, the Resource Server
<bcp14>MUST</bcp14> reject the request.</t>
          <t>The choice of <tt>jkt#S512</tt> over <tt>jkt</tt> is a deployment decision. It
can be configured out of band or by the Authorization Server using
the Resource Server's metadata (<xref target="dpop-rs-metadata"/>).</t>
          <t>[[TODO: <xref section="3.1" sectionFormat="of" target="RFC7800"/> does not preclude
the presence of both <tt>jkt</tt> and <tt>jkt#S512</tt> in the same <tt>cnf</tt> claim.
Including both would not represent confirmations for two different
keys but rather two different hash confirmations of the same key.
This may actually be useful during a transition period in possible
future non-constrained deployment scenarios. The working group
should determine whether to prohibit or allow this.]]</t>
        </section>
        <section anchor="dpop-ath">
          <name><tt>ath#S512</tt> Access Token Hash</name>
          <t>RFC 9449 <xref target="RFC9449"/> defines the <tt>ath</tt> claim in the DPoP proof JWT
as the base64url-encoded SHA-256 hash of the ASCII encoding of the
access token value.</t>
          <t>This document defines an analogous claim <tt>ath#S512</tt> that uses
SHA-512 as the hash algorithm:</t>
          <dl>
            <dt>ath#S512:</dt>
            <dd>
              <t>The value is the base64url encoding of the SHA-512 hash of
the ASCII encoding of the associated access token's value.</t>
            </dd>
          </dl>
          <t>When used, <tt>ath#S512</tt> is included in the DPoP proof JWT in place
of <tt>ath</tt>.</t>
          <t>[[TODO: Including both <tt>ath</tt> and <tt>ath#S512</tt> in the same DPoP proof
JWT would not represent hashes of two different access tokens but
rather two different hash confirmations of the same access token.
This may actually be useful during a transition period in possible
future non-constrained deployment scenarios. The working group
should determine whether to prohibit or allow this.]]</t>
          <t>The Resource Server <bcp14>MUST</bcp14> compute the SHA-512 hash of the ASCII
encoding of the access token value and compare it with the
<tt>ath#S512</tt> value in the DPoP proof JWT. If the values do not
match, the Resource Server <bcp14>MUST</bcp14> reject the request.</t>
          <t>A Resource Server <bcp14>MAY</bcp14> signal the required access token hash method
by including the <tt>ath_method</tt> parameter in the <tt>WWW-Authenticate:
DPoP</tt> challenge. The value of <tt>ath_method</tt> is the name of the claim
the Client <bcp14>MUST</bcp14> use: <tt>ath</tt> for SHA-256 or <tt>ath#S512</tt> for SHA-512.
When <tt>ath_method</tt> is absent, the Client <bcp14>MUST</bcp14> use <tt>ath</tt>.
Additionally, Resource Server metadata for the supported access
token hash methods is defined in <xref target="dpop-rs-metadata"/>.</t>
          <t>The following is a non-normative example of an HTTP response
signalling the client to use <tt>ath#S512</tt>:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 401 Unauthorized
WWW-Authenticate: DPoP algs="Ed25519", ath_method="ath#S512"
]]></sourcecode>
        </section>
        <section anchor="dpop-rs-metadata">
          <name>Resource Server Metadata</name>
          <t>This document defines the following Resource Server metadata
parameters <xref target="RFC9728"/>:</t>
          <dl>
            <dt>dpop_confirmation_methods_supported:</dt>
            <dd>
              <t>JSON array containing the DPoP confirmation method names
that the Resource Server supports. Defined values are <tt>jkt</tt>
and <tt>jkt#S512</tt>. If omitted, the default is <tt>["jkt"]</tt>.</t>
            </dd>
            <dt>dpop_access_token_hash_methods_supported:</dt>
            <dd>
              <t>JSON array containing the access token hash claim names
that the Resource Server supports. Defined values are <tt>ath</tt>
and <tt>ath#S512</tt>. If omitted, the default is <tt>["ath"]</tt>.</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The <tt>S512</tt> code challenge method provides the same structural
security properties as <tt>S256</tt>. It is a one-way transformation of
the code verifier that prevents an attacker who intercepts the
authorization code from computing the code verifier needed to exchange
it for tokens.</t>
      <t>The <tt>x5t#S512</tt> confirmation method provides the same structural
security properties as <tt>x5t#S256</tt> defined in <xref target="RFC8705"/>.</t>
      <t>The <tt>jkt#S512</tt> confirmation method, <tt>dpop_jkt</tt> combined with
<tt>dpop_jkt_method</tt> parameter, and <tt>ath#S512</tt> claim provide the same
structural security properties as their SHA-256 counterparts
defined in DPoP <xref target="RFC9449"/>.</t>
      <t>SHA-512 provides a 256-bit collision resistance and 512-bit preimage
resistance, exceeding the 128-bit and 256-bit levels provided by
SHA-256. The use of SHA-512 is suitable for deployments with elevated
security requirements.</t>
      <t>Deployments that do not have restrictions on use of SHA-256
do not need to migrate away from the established SHA-256 based
mechanisms.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="pkce-code-challenge-method-registration">
        <name>PKCE Code Challenge Method Registration</name>
        <t>This document requests registration of the following value in the
"PKCE Code Challenge Methods" registry established by <xref section="6.2" sectionFormat="of" target="RFC7636"/>:</t>
        <dl>
          <dt>Code Challenge Method Parameter Name:</dt>
          <dd>
            <t><tt>S512</tt></t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="S512"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="dpop-binding-registry">
        <name>DPoP Authorization Code Binding Methods Registry</name>
        <t>This document establishes the "DPoP Authorization Code Binding
Methods" registry for <tt>dpop_jkt_method</tt> values.</t>
        <t>New entries are registered using the Specification Required policy
<xref target="RFC5226"/>.</t>
        <t>The initial contents of the registry are:</t>
        <dl>
          <dt>Method Name:</dt>
          <dd>
            <t><tt>S256</tt></t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref section="10" sectionFormat="of" target="RFC9449"/></t>
          </dd>
          <dt>Method Name:</dt>
          <dd>
            <t><tt>S512</tt></t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="dpop-jkt-method"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-parameters-registrations">
        <name>OAuth Parameters Registrations</name>
        <t>This document requests registration of the following value in the
"OAuth Parameters" registry established by <xref target="RFC6749"/>:</t>
        <dl>
          <dt>Parameter Name:</dt>
          <dd>
            <t><tt>dpop_jkt_method</tt></t>
          </dd>
          <dt>Parameter Usage Location:</dt>
          <dd>
            <t>authorization request</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="dpop-jkt-method"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-authorization-server-metadata-registration">
        <name>OAuth Authorization Server Metadata Registration</name>
        <t>This document requests registration of the following value in the
"OAuth Authorization Server Metadata" registry established by
<xref target="RFC8414"/>:</t>
        <dl>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>dpop_jkt_methods_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>JSON array containing a list of the <tt>dpop_jkt_method</tt>
values supported by the Authorization Server</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="dpop-as-metadata"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="jwt-claims-registration">
        <name>JWT Claims Registration</name>
        <t>This document requests registration of the following value in the
"JSON Web Token Claims" registry established by <xref target="RFC7519"/>:</t>
        <dl>
          <dt>Claim Name:</dt>
          <dd>
            <t><tt>ath#S512</tt></t>
          </dd>
          <dt>Claim Description:</dt>
          <dd>
            <t>The base64url-encoded SHA-512 hash of the ASCII encoding
of the associated access token's value</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="dpop-ath"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-protected-resource-metadata-registrations">
        <name>OAuth Protected Resource Metadata Registrations</name>
        <t>This document requests registration of the following values in the
"OAuth Protected Resource Metadata" registry established by
<xref target="RFC9728"/>:</t>
        <dl>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>dpop_confirmation_methods_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>JSON array containing a list of the DPoP confirmation
method names supported by the Resource Server</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="dpop-rs-metadata"/> of this document</t>
          </dd>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>dpop_access_token_hash_methods_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>JSON array containing a list of the access token hash
claim names supported by the Resource Server</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="dpop-rs-metadata"/> of this document</t>
          </dd>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>mtls_confirmation_methods_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>JSON array containing a list of the mutual-TLS
confirmation method names supported by the Resource Server</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="mtls-rs-metadata"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="jwt-confirmation-methods-registrations">
        <name>JWT Confirmation Methods Registrations</name>
        <t>This document requests registration of the following values in the
"JWT Confirmation Methods" registry established by <xref target="RFC7800"/>:</t>
        <dl>
          <dt>Confirmation Method Value:</dt>
          <dd>
            <t><tt>x5t#S512</tt></t>
          </dd>
          <dt>Confirmation Method Description:</dt>
          <dd>
            <t>X.509 Certificate SHA-512 Thumbprint</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="x5t-S512"/> of this document</t>
          </dd>
          <dt>Confirmation Method Value:</dt>
          <dd>
            <t><tt>jkt#S512</tt></t>
          </dd>
          <dt>Confirmation Method Description:</dt>
          <dd>
            <t>JWK SHA-512 Thumbprint</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="jkt-S512"/> of this document</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7636">
          <front>
            <title>Proof Key for Code Exchange by OAuth Public Clients</title>
            <author fullname="N. Sakimura" initials="N." role="editor" surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Agarwal" initials="N." surname="Agarwal"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7636"/>
          <seriesInfo name="DOI" value="10.17487/RFC7636"/>
        </reference>
        <reference anchor="RFC7638">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="RFC9728">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </reference>
        <reference anchor="OpenID.Discovery" target="https://openid.net/specs/openid-connect-discovery-1_0-errata2.html">
          <front>
            <title>OpenID Connect Discovery 1.0 incorporating errata set 2</title>
            <author initials="N." surname="Sakimura">
              <organization/>
            </author>
            <author initials="J." surname="Bradley">
              <organization/>
            </author>
            <author initials="M." surname="Jones">
              <organization/>
            </author>
            <author initials="E." surname="Jay">
              <organization/>
            </author>
            <date year="2023" month="December"/>
          </front>
        </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="RFC5226">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>Many protocols make use of identifiers consisting of constants and other well-known values. Even after a protocol has been defined and deployment has begun, new values may need to be assigned (e.g., for a new option type in DHCP, or a new encryption or authentication transform for IPsec). To ensure that such quantities have consistent values and interpretations across all implementations, their assignment must be administered by a central authority. For IETF protocols, that role is provided by the Internet Assigned Numbers Authority (IANA).</t>
              <t>In order for IANA to manage a given namespace prudently, it needs guidelines describing the conditions under which new values can be assigned or when modifications to existing values can be made. If IANA is expected to play a role in the management of a namespace, IANA must be given clear and concise instructions describing that role. This document discusses issues that should be considered in formulating a policy for assigning values to a namespace and provides guidelines for authors on the specific text that must be included in documents that place demands on IANA.</t>
              <t>This document obsoletes RFC 2434. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5226"/>
          <seriesInfo name="DOI" value="10.17487/RFC5226"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </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="RFC7800">
          <front>
            <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7800"/>
          <seriesInfo name="DOI" value="10.17487/RFC7800"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7662">
          <front>
            <title>OAuth 2.0 Token Introspection</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7662"/>
          <seriesInfo name="DOI" value="10.17487/RFC7662"/>
        </reference>
        <reference anchor="cnsafaq" target="https://media.defense.gov/2022/Sep/07/2003071836/-1/-1/0/CSI_CNSA_2.0_FAQ_.PDF">
          <front>
            <title>The Commercial National Security Algorithm Suite 2.0 and Quantum Computing FAQ</title>
            <author>
              <organization>National Security Agency</organization>
            </author>
            <date year="2024" month="December"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 592?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
0diMEA1LAAA=

-->

</rfc>
