<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-cose-key-thumbprint-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="COSE Key Thumbprint">CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>

    <author initials="K." surname="Isobe" fullname="Kohei Isobe">
      <organization>SECOM CO., LTD.</organization>
      <address>
        <email>isobekohei@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization></organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="O." surname="Steele" fullname="Orie Steele">
      <organization>Transmute</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>orie@transmute.industries</email>
      </address>
    </author>

    <date year="2023" month="October" day="23"/>

    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 66?>

<t>This specification defines a method for computing a hash value over a
COSE Key. It defines which fields in a COSE Key structure are used in the
hash computation, the method of creating a canonical form of the fields,
and how to hash the byte sequence. The resulting hash value can be used
for identifying or selecting a key that is the subject of the thumbprint.</t>



    </abstract>



  </front>

  <middle>


<?line 74?>

<section anchor="introduction"><name>Introduction</name>

<t>This specification defines a method for computing a hash value (a.k.a. digest)
over a COSE Key structure <xref target="RFC9052"/>.  It defines which fields in a COSE Key
structure are used in the hash computation, the method of creating a canonical
form for those fields, and how to hash the byte sequence.  The resulting hash
value can be used for identifying or selecting the key that is the subject of
the thumbprint, for instance, by using the COSE Key Thumbprint value as a "kid"
(key ID) value.</t>

<t>This specification defines how thumbprints of COSE keys are created.
Additionally, a new CWT confirmation method is added to the IANA "CWT
Confirmation Methods" registry created by <xref target="RFC8747"/>. See Section 3.1 of
<xref target="RFC8747"/> for details about the use of a confirmation claim in a CWT
with a proof-of-possession key.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" 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>

</section>
<section anchor="thumbprint"><name>COSE Key Thumbprint</name>

<t>The thumbprint of a COSE Key MUST be computed as follows:</t>

<t><list style="numbers">
  <t>Construct a COSE_Key structure (see Section 7 of <xref target="RFC9052"/>) containing
only the required parameters representing the key. This specification
describes what those required parameters are and what, if necessary,
what the unique encoding is.</t>
  <t>Apply the deterministic encoding described in Section 4.2.1 of <xref target="RFC8949"/>
to the representation constructed in step (1).</t>
  <t>Hash the bytes produced in step (2) with a cryptographic hash function H.
For example, SHA-256 <xref target="RFC6234"/> may be used as a hash function.</t>
</list></t>

<t>The resulting value is the COSE Key Thumbprint with H of the COSE Key. The
details of this computation are further described in subsequent
sections.</t>

</section>
<section anchor="required"><name>Required COSE Key Parameters</name>

<t>Only the required parameters of a key's representation are used when
computing its COSE Key Thumbprint value. This section summarizes the
required parameters.</t>

<t>The "kty" (label: 1) element MUST be present for all key types and the integer
value found in the IANA COSE Key Types registry MUST be used. The tstr data
type is not used with the kty element.</t>

<t>Many COSE Key parameters depend on the chosen key type. The subsection below list
the required parameters for commonly used key types.</t>

<section anchor="octet-key-pair-okp"><name>Octet Key Pair (OKP)</name>

<t>The required parameters for elliptic curve public keys that use the OKP key type,
such as X25519, are:</t>

<t><list style="symbols">
  <t>"kty" (label: 1, data type: int, value: 1)</t>
  <t>"crv" (label: -1, value: int)</t>
  <t>"x" (label: -2, value: bstr)</t>
</list></t>

<t>Details can be found in Section 7.1 of <xref target="RFC9053"/>.</t>

</section>
<section anchor="ecc"><name>Elliptic Curve Keys with X- and Y-Coordinate Pair</name>

<t>The required parameters for elliptic curve public keys that use the EC2 key type, such
as NIST P-256, are:</t>

<t><list style="symbols">
  <t>"kty" (label: 1, data type: int, value: 2)</t>
  <t>"crv" (label: -1, data type: int)</t>
  <t>"x" (label: -2, data type: bstr)</t>
  <t>"y" (label: -3, data type: bstr)</t>
</list></t>

<t>Details can be found in Section 7.1 of <xref target="RFC9053"/>.</t>

<t>Note: <xref target="RFC9052"/> offers both compressed as well as uncompressed point
representations. For interoperability, implementations following this
specification MUST use the uncompressed point representation. Hence,
the y-coordinate is expressed as a bstr. An implementation that uses
the compressed point representation MUST compute the uncompressed
representation for the purpose of the thumbprint calculation.</t>

</section>
<section anchor="rsa-public-keys"><name>RSA Public Keys</name>

<t>The required parameters for an RSA public key are:</t>

<t><list style="symbols">
  <t>"kty" (label: 1, data type: int, value: 3)</t>
  <t>"n" (label: -1, data type: bstr)</t>
  <t>"e" (label: -2, data type: bstr)</t>
</list></t>

</section>
<section anchor="symmetric-keys"><name>Symmetric Keys</name>

<t>The required parameters for a symmetric key are:</t>

<t><list style="symbols">
  <t>"kty" (label: 1, data type: int, value: 4)</t>
  <t>"k" (label: -1, data type: bstr)</t>
</list></t>

</section>
<section anchor="hss-lms"><name>HSS-LMS</name>

<t>The required parameters for HSS-LMS keys are:</t>

<t><list style="symbols">
  <t>"kty" (label: 1, data type: int, value: 5)</t>
  <t>"pub" (label: -1, data type: bstr)</t>
</list></t>

</section>
<section anchor="others"><name>Others</name>

<t>As other key type values are defined, the specifications
defining them should be similarly consulted to determine which
parameters, in addition to the "kty" element, are required.</t>

</section>
</section>
<section anchor="miscellaneous-considerations"><name>Miscellaneous Considerations</name>

<section anchor="why-not-include-optional-cose-key-parameters"><name>Why Not Include Optional COSE Key Parameters?</name>

<t>Optional parameters of COSE Keys are intentionally not included in the
COSE Key Thumbprint computation so that their absence or presence
in the COSE Key does not alter the resulting value.  The COSE Key
Thumbprint value is a digest of the parameters required to represent
the key as a COSE Key -- not of additional data that may also
accompany the key.</t>

<t>Optional parameters are not included so that the COSE Key Thumbprint refers
to a key -- not a key with an associated set of key attributes.
Different application contexts might or might not include different
subsets of optional attributes about the key in the COSE Key structure.
If these were included in the calculation of the COSE Key Thumbprint,
the values would be different for those COSE Keys, even though the keys
are the same. The benefit of including only the required parameters is that the
COSE Key Thumbprint of any COSE Key representing the key remains the same,
regardless of any other attributes that are present.</t>

<t>Different kinds of thumbprints could be defined by other specifications
that might include some or all additional COSE Key parameters, if use
cases arise where such different kinds of thumbprints would be useful.</t>

</section>
<section anchor="selection-of-hash-function"><name>Selection of Hash Function</name>

<t>A specific hash function must be chosen by an application to compute
the hash value of the hash input.  For example, SHA-256 <xref target="RFC6234"/> might
be used as the hash function by the application.  While SHA-256 is a
good default choice at the time of writing, the hash function of
choice can be expected to change over time as the cryptographic
landscape evolves.</t>

<t>Note that in many cases, only the party that creates a key will need
to know the hash function used.  A typical usage is for the producer
of the key to use the thumbprint value as a "kid" (key ID) value. In
this case, the consumer of the "kid" treats it as an opaque value that
it uses to select the key.</t>

<t>However, in some cases, multiple parties will be reproducing the COSE Key
Thumbprint calculation and comparing the results.  In these cases,
the parties will need to know which hash function was used and use
the same one.</t>

</section>
<section anchor="thumbprints-of-keys-not-in-cose-key-format"><name>Thumbprints of Keys Not in COSE Key Format</name>

<t>A key need not be in COSE Key format to create a COSE Key Thumbprint
of it.  The only prerequisites are that the COSE Key representation of the
key be defined and the party creating the COSE KEY Thumbprint be in
possession of the necessary key material.</t>

</section>
<section anchor="relationship-to-digests-of-x509-values"><name>Relationship to Digests of X.509 Values</name>

<t>COSE Key Thumbprint values are computed on the COSE Key element required to
represent a key, rather than all members of a COSE Key that the key is
represented in.  Thus, they are more analogous to applications that
use digests of X.509 Subject Public Key Info (SPKI) values, which are
defined in Section 4.1.2.7 of <xref target="RFC5280"/>, than to applications that
use digests of complete certificate values, as the "x5t" (X.509
certificate SHA-1 thumbprint) <xref target="RFC9360"/> value defined for X.509
certificate objects does.  While logically equivalent to a digest of
the SPKI representation of the key, a COSE Key Thumbprint is computed over
the CBOR representation of that key, rather than over an ASN.1
representation of it.</t>

</section>
<section anchor="confirmation-methods"><name>Confirmation Methods</name>

<t><xref target="RFC8747"/> introduced confirmation methods for use with CBOR
Web Tokens (CWTs). CWTs have been defined in <xref target="RFC8392"/>. This
specification adds a new confirmation method based on COSE Key
Thumbprints.</t>

<t>The proof-of-possession key is identified using the "ckt" claim,
the COSE Key Thumbprint claim. This claim contains the value of
the COSE Key Thumbprint encoded as a binary string. Instead of
communicating the actual COSE Key only the thumbprint is conveyed.
This approach assumes that the recipient is able to obtain the
identified COSE Key using the thumbprint contained in the "ckt"
claim. In this case, the issuer of a CWT declares that the
presenter possesses a particular key and that the recipient
can cryptographically confirm the presenter's proof of possession
of the key by including a "ckt" claim in the CWT.</t>

<t>The following example demonstrates the use of the "ckt" claim
in a CWT (with line-breaks inserted for editorial reasons):</t>

<figure><artwork><![CDATA[
   {
    /iss/ 1 : "coaps://as.example.com",
    /aud/ 3 : "coaps://resource.example.org",
    /exp/ 4 : 1361398824,
    /cnf/ 8 : {
      /ckt/ [[TBD1]] : h'496bd8afadf307e5b08c64b0421bf9dc
                  01528a344a43bda88fadd1669da253ec'
     }
   }
]]></artwork></figure>

<t><xref target="IANA"/> registers the "ckt" claim and the confirmation method.
The "ckt" claim is expected to be used in the "cnf" claim.</t>

</section>
<section anchor="cose-key-thumbprint-uris"><name>COSE Key Thumbprint URIs</name>

<t>This specification defines Uniform Resource Identifiers (URIs)
to represent a COSE Key Thumbprint value. The design follows
the work of the JSON Web Key (JWK) Thumbprint URIs, specified
in <xref target="RFC9278"/>. This enables COSE Key Thumbprints to be used,
for example, as key identifiers in contexts requiring URIs.
This specification defines a URI prefix indicating that the
portion of the URI following the prefix is a COSE Key Thumbprint.</t>

<t>The following URI prefix is defined to indicate that the portion
of the URI following the prefix is a COSE Key Thumbprint:</t>

<figure><artwork><![CDATA[
  urn:ietf:params:oauth:ckt
]]></artwork></figure>

<t>To make the hash algorithm being used explicit in a URI, the prefix
is followed by a hash algorithm identifier and a COSE Key Thumbprint
value, each separated by a colon character to form a URI representing
a COSE Key Thumbprint.</t>

<t>Hash algorithm identifiers used in COSE Key Thumbprint URIs MUST be values
from the "Hash Name String" column in the IANA "Named Information
Hash Algorithm Registry" <xref target="IANA.Hash.Algorithms"/>. COSE Key Thumbprint URIs
with hash algorithm identifiers not found in this registry are not
considered valid and applications will need to detect and handle this
error, should it occur.</t>

<t>To promote interoperability among implementations, the SHA-256 hash
algorithm is mandatory to implement.</t>

<t>Since the URN is encoded as a string, the output of the COSE Key
Thumbprint computation described in <xref target="thumbprint"/> MUST be base64url
encoded without padding.</t>

<t><xref target="RFC7515"/> specifies Base64url encoding as follows:</t>

<t>"Base64 encoding using the URL- and filename-safe character set
defined in Section 5 of RFC 4648 <xref target="RFC4648"/>, with all trailing '='
characters omitted and without the inclusion of any line breaks,
whitespace, or other additional characters.  Note that the base64url
encoding of the empty octet sequence is the empty string.
(See Appendix C of <xref target="RFC7515"/> for notes on implementing base64url
encoding without padding.)"</t>

<t>The base64url encoding of the thumbprint shown in <xref target="example"/> is
shown below (with a line-break added for readability purposes).</t>

<figure><artwork><![CDATA[
SWvYr63zB-WwjGSwQhv53AFSijRKQ72oj63RZp2iU-w
]]></artwork></figure>

<t>The full example of a COSE Key Thumbprint URI is shown below, again
with a line-break added.</t>

<figure><artwork><![CDATA[
urn:ietf:params:oauth:ckt:sha-256:
SWvYr63zB-WwjGSwQhv53AFSijRKQ72oj63RZp2iU-w
]]></artwork></figure>

</section>
</section>
<section anchor="example"><name>Example</name>

<t>This section demonstrates the COSE Key Thumbprint computation for the
following example COSE Key containing an ECC public key.</t>

<t>For better readability, the example is first presented in CBOR diagnostic format (with
the long line broken for display purposes only).</t>

<figure><artwork><![CDATA[
  {
    / kty set to EC2 = Elliptic Curve Keys /
    1:2,
    / crv set to P-256 /
    -1:1,
    / public key: x-coordinate /
    -2:h'65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c0
8551d',
    / public key: y-coordinate /
    -3:h'1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd008
4d19c',
    / kid is bstr, not used in COSE Key Thumbprint /
    2:h'1decade2facade3'
  }
]]></artwork></figure>

<t>The example above corresponds to the following CBOR encoding
(with link breaks added for display purposes only):</t>

<figure><artwork><![CDATA[
A50102200121582065EDA5A12577C2BAE829437FE338701A10AAA375E1BB5B5DE108D
E439C08551D2258201E52ED75701163F7F9E40DDF9F341B3DC9BA860AF7E0CA7CA7E9
EECD0084D19C0258246D65726961646F632E6272616E64796275636B406275636B6C6
16E642E6578616D706C65
]]></artwork></figure>

<t>Not all of the parameters from the example above are used in the COSE Key
Thumbprint computation since the required parameters of an elliptic curve
public key are (as listed in <xref target="ecc"/>) "kty", "crv", "x", and "y".</t>

<t>The resulting COSE Key structure, in CBOR diagnostic format with
line-breaks added for better readability, with the minimum parameters
in the correct order are.</t>

<figure><artwork><![CDATA[
{
   1:2,
  -1:1,
  -2:h'65eda5a12577c2bae829437fe338701a
       10aaa375e1bb5b5de108de439c08551d',
  -3:h'1e52ed75701163f7f9e40ddf9f341b3d
       c9ba860af7e0ca7ca7e9eecd0084d19c'
}
]]></artwork></figure>

<t>In CBOR encoding the result is (with line-breaks added for display
purposes only):</t>

<figure><artwork><![CDATA[
A40102200121582065EDA5A12577C2BAE829437FE338701A10AAA375E1BB5B5DE
108DE439C08551D2258201E52ED75701163F7F9E40DDF9F341B3DC9BA860AF7E0
CA7CA7E9EECD0084D19C
]]></artwork></figure>

<t>Using SHA-256, the resulting thumbprint is:</t>

<figure><artwork><![CDATA[
496bd8afadf307e5b08c64b0421bf9dc01528a344a43bda88fadd1669da253ec
]]></artwork></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>A COSE Key Thumbprint will only uniquely identify a particular key if a
single unambiguous COSE Key representation for that key is defined and
used when computing the COSE Key Thumbprint.</t>

<t>If two asymmetric keys are used by different parties with different
key identifiers then the COSE Key Thumbprints will still be equal since
the key identifier itself is not included in the thumbprint calculation
(similarly to other optional parameters in the COSE_Key structure).
When the inclusion of certain optional parameters in the thumbprint
calcuation is important for a given application, this specification
is not the appropriate choice.</t>

<t>To promote interoperability among implementations, the SHA-256 hash
algorithm is mandatory to implement.</t>

<t>While thumbprint values are valuable for identifying legitimate keys,
comparing thumbprint values is not a reliable means of excluding the
use of particular keys (or transformations thereof). The reason is
that an attacker may supply a key that is a transformation of a key
in order to have it appear to be a different key.  For instance, if
a legitimate RSA key uses a modulus value N and an attacker supplies
a key with modulus 3*N, the modified key would still work about 1/3
of the time, but would appear to be a different key.</t>

<t>Producing thumbprints of symmetric keys needs to be done with care. Developers
MUST ensure that the symmetric key has sufficient entropy to prevent
attackers to precompute tables of symmetric keys with their corresponding
hash values. This can be prevented if the symmetric key is a randomly
selected key of at least 128 bit length. Using thumbprints with passwords
(i.e. low-entropy secrets) is dangerous and MUST be avoided. If a
developer is unable to determine whether all symmetric keys used in an
application have sufficient entropy, then thumbprints of symmetric keys
MUST NOT be used. In general, using thumbprints of symmetric keys should
only be used in special applications. In most other deployment scenarios
it is more appropriate to utilize a different naming scheme for key
identifiers.</t>

</section>
<section anchor="IANA"><name>IANA Considerations</name>

<t>IANA is requested to add the following entry to the IANA "CWT Confirmation
Methods" registry established by <xref target="RFC8747"/>:</t>

<t><list style="symbols">
  <t>Confirmation Method Name: ckt</t>
  <t>Confirmation Method Description: COSE Key Thumbprint</t>
  <t>JWT Confirmation Method Name: jkt</t>
  <t>Confirmation Key: [[TBD1]]</t>
  <t>Confirmation Value Type(s): binary string</t>
  <t>Change Controller: IESG</t>
  <t>Specification Document(s): [[This document]]</t>
</list></t>

<t>Furthermore, IANA is requested to add a value to the IANA "OAuth URI" registry
established with <xref target="RFC6755"/>:</t>

<t><list style="symbols">
  <t>URN:  urn:ietf:params:oauth:ckt</t>
  <t>Common Name:  COSE Key Thumbprint URI</t>
  <t>Change controller:  IESG</t>
  <t>Specification Document:  [[This document]]</t>
</list></t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>We would like to thank the authors of <xref target="RFC7638"/> for their work on the
JSON Web Key (JWK) Thumbprint specification. This document applies JWK
Thumbprints to COSE Key structures.</t>

<t>Additionally, we would like to thank Carsten Bormann, Ilari Liusvaara,
Laurence Lundblade, Daisuke Ajitomi, Michael Richardson, Michael B. Jones,
and Brendan Moran for their feedback.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<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="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</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="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
      <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9052"/>
  <seriesInfo name="DOI" value="10.17487/RFC9052"/>
</reference>

<reference anchor="RFC9053">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
      <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9053"/>
  <seriesInfo name="DOI" value="10.17487/RFC9053"/>
</reference>

<reference anchor="RFC8747">
  <front>
    <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="L. Seitz" initials="L." surname="Seitz"/>
    <author fullname="G. Selander" initials="G." surname="Selander"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8747"/>
  <seriesInfo name="DOI" value="10.17487/RFC8747"/>
</reference>

<reference anchor="RFC8392">
  <front>
    <title>CBOR Web Token (CWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8392"/>
  <seriesInfo name="DOI" value="10.17487/RFC8392"/>
</reference>

<reference anchor="RFC7515">
  <front>
    <title>JSON Web Signature (JWS)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7515"/>
  <seriesInfo name="DOI" value="10.17487/RFC7515"/>
</reference>

<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>

<reference anchor="RFC6755">
  <front>
    <title>An IETF URN Sub-Namespace for OAuth</title>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="October" year="2012"/>
    <abstract>
      <t>This document establishes an IETF URN Sub-namespace for use with OAuth-related specifications. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6755"/>
  <seriesInfo name="DOI" value="10.17487/RFC6755"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<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="RFC6234">
  <front>
    <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
    <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
    <author fullname="T. Hansen" initials="T." surname="Hansen"/>
    <date month="May" year="2011"/>
    <abstract>
      <t>Federal Information Processing Standard, FIPS</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6234"/>
  <seriesInfo name="DOI" value="10.17487/RFC6234"/>
</reference>

<reference anchor="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>

<reference anchor="RFC9360">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="February" year="2023"/>
    <abstract>
      <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9360"/>
  <seriesInfo name="DOI" value="10.17487/RFC9360"/>
</reference>

<reference anchor="RFC9278">
  <front>
    <title>JWK Thumbprint URI</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="K. Yasuda" initials="K." surname="Yasuda"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>This specification registers a kind of URI that represents a JSON Web Key (JWK) Thumbprint value. JWK Thumbprints are defined in RFC 7638. This enables JWK Thumbprints to be used, for instance, as key identifiers in contexts requiring URIs.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9278"/>
  <seriesInfo name="DOI" value="10.17487/RFC9278"/>
</reference>


<reference anchor="IANA.Hash.Algorithms" target="https://www.iana.org/assignments/named-information">
  <front>
    <title>Named Information Hash Algorithm Registry</title>
    <author >
      <organization></organization>
    </author>
    <date />
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
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
LsCvAfH/C7KQAYZoRwAA

-->

</rfc>

