<?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.24 (Ruby 3.2.3) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tschofenig-cose-cwt-chain-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="CWT Chains">CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing Chains of CBOR Web Tokens (CWTs)</title>
    <seriesInfo name="Internet-Draft" value="draft-tschofenig-cose-cwt-chain-02"/>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="B." surname="Moran" fullname="Brendan Moran">
      <organization>Arm Limited</organization>
      <address>
        <email>brendan.moran.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2025" month="March" day="02"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 75?>

<t>The CBOR Object Signing and Encryption (COSE) message structure uses
references to keys and defines header parameters to carry chains of X.509
certificates.</t>
      <t>This specification extends this functionality to CBOR Web Tokens (CWTs).</t>
    </abstract>
  </front>
  <middle>
    <?line 83?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The CBOR Object Signing and Encryption (COSE) message structure uses
references to keys and defines header parameters to carry chains of X.509
certificates. The header parameters for conveying X.509 certificate chains
in a COSE payload are defined in <xref target="RFC9360"/>.</t>
      <t>This document is inspired by RFC 9360 and defines header parameters to
convey chains of CBOR Web Tokens (CWTs) <xref target="RFC8392"/>. The use of chains of
CWTs allows a trust infrastructure established by CWTs to be used with COSE.
The Concise Binary Object Representation (CBOR) key structures <xref target="RFC8949"/>
that have been defined in COSE support the use of X.509 certificates. This
specification applies the well-proven concepts to CWTs. These chains of CWTs
allow path validation similarly to what a X.509 certificate-based Public Key
Infrastructure (PKI) provides. Since <xref target="RFC8747"/> does not define the
semantics of path validation for CWTs, new terminology is introduced.</t>
      <t>This document is structured as follows: After introducing some terms, we
describe path validation for CWTs. Then, we define new header parameters.</t>
    </section>
    <section anchor="terminology-and-requirements-language">
      <name>Terminology and Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 <xref target="RFC2119"/>.</t>
      <t>The following terms are useful for readers of this document:</t>
      <ul spacing="normal">
        <li>
          <t>End Entity: user of CWT and/or end user system that is the subject of a CWT;</t>
        </li>
        <li>
          <t>CA: certification authority; RFC 8747 calls this entity the "issuer" and
describes it as "the party that creates the CWT and binds the claims about
the subject to the proof-of-possession key". In an OAuth-based system,
this entity often corresponds to an authorization server.</t>
        </li>
        <li>
          <t>CA CWT: A CWT that is self-issued whereby the same name appears in the
subject and issuer claims.</t>
        </li>
        <li>
          <t>RA: registration authority, i.e., an optional system to which
a CA delegates certain management functions; while often used in PKI
deployments it is a role that has not found usage in systems using CWTs.</t>
        </li>
        <li>
          <t>CRL issuer: a system that generates and signs Certificate Revocation
Lists (CRLs); The term CRL is used generically to also refer to status
lists <xref target="I-D.ietf-oauth-status-list"/>.</t>
        </li>
        <li>
          <t>repository: a system or collection of distributed systems that stores
CWTs and CRLs and serves as a means of distributing these CWTs and CRLs
to end entities. These repositories may be append-only databases, in the
style of <xref target="I-D.ietf-keytrans-architecture"/>.</t>
        </li>
        <li>
          <t>Trust Anchor:  As defined in <xref target="RFC6024"/> and <xref target="RFC9019"/>, a Trust Anchor
"represents an authoritative entity via a public key and associated data.
The public key is used to verify digital signatures, and the associated
data is used to constrain the types of information for which the trust
anchor is authoritative." The trust anchor may be a CWT, a raw public key,
or other structure, as appropriate.</t>
        </li>
        <li>
          <t>Subject Public Key (Info): The "confirmation" claim, defined in <xref target="RFC8747"/>,
used to carry the public key and the algorithm with which the key is used.</t>
        </li>
      </ul>
    </section>
    <section anchor="cwt-path-validation">
      <name>CWT Path Validation</name>
      <t>The goal of path validation is to verify the binding between a subject
name and the public key, as represented in the target CWT, based
on the public key of the trust anchor. In most cases, the target
CWT will be an end entity CWT. Verifying the binding between the name and
subject public key requires obtaining a sequence of certificates that
support that binding. For path validation to work CWTs that have a
minimum number of claims, namely:</t>
      <ul spacing="normal">
        <li>
          <t>Subject</t>
        </li>
        <li>
          <t>Issuer</t>
        </li>
        <li>
          <t>Confirmation</t>
        </li>
      </ul>
      <t>Valid paths begin with CWTs issued by a trust anchor and the trust anchor
is an input to the algorithm. The algorithm in Section 6 of <xref target="RFC5280"/>
requires the public key of the CA, the CA's name, and any constraints upon
the set of paths that may be validated using this key.</t>
      <t>The path validation algorithm verifies that a prospective certification
path (a sequence of n CWTs) satisfies the following conditions:</t>
      <t>(a)  for all x in {1, ..., n-1}, the subject of CWT x is the issuer of CWT x+1;</t>
      <t>(b)  CWT 1 is issued by the trust anchor;</t>
      <t>(c)  CWT n is the CWT to be validated (i.e., the target CWT); and</t>
      <t>Note:  When the trust anchor is provided in the form of a self-signed CWT,
this self-signed CWT is not included as part of the prospective certification path.</t>
      <t>As a variation to the algorithm presented in Section 6 of <xref target="RFC5280"/>, there
is no strict requirement for a CWT being valid in terms of its lifetime (as
indicated by the "Expiration Time" and the "Not Before" claims) since CWTs
may not necessarily carry these claims and validatity may be determined via
different means, which are outside the scope of this algorithm.</t>
      <t>Path validation is an important part of establishing trust in a CWT and
when applying path validation, as defined in Section 6 of<xref target="RFC5280"/>, to
CWTs the reader needs to treat them as certificates. It is important to keep
in mind that many of the advanced features available with an X.509 certificate-based
PKI are, at the time of writing, not available with CWTs. The authors do,
however, believe that differences will decrease over time as CWT-based deployments
scale.</t>
    </section>
    <section anchor="cwt-cose-header-parameters">
      <name>CWT COSE Header Parameters</name>
      <t>Parties that intend to rely on the assertions made by a CWTs
obtained from any of these methods still need to validate it.  This
validation can be done according to the PKIX rules specified in
<xref target="RFC5280"/> or by using a different trust structure, such as a trusted
distributor for self-signed CWTs.  The PKIX
validation includes matching against the trust anchors configured for
the application.  These rules apply when the validation succeeds in a
single step as well as when CWT chains need to be built.  If
the application cannot establish trust in the CWT, the public
key contained in the CWT cannot be used for cryptographic
operations.</t>
      <t>The header parameters defined in this document are as follows:</t>
      <t>cwt-bag:  This header parameter contains a bag of CWTs, which is unordered and
    may contain self-signed CWTs.  Note that there could be
    duplicate CWTs.  The CWT bag can contain
    CWT that are completely extraneous to the message.  (An
    example of this would be where a signed message is being used to
    transport a CWT containing a key agreement key.)  As the
    CWT are unordered, the party evaluating the signature
    will need to be capable of building the CWT path as
    necessary.  That party will also have to take into account that
    the bag may not contain the full set of CWT needed to
    build any particular chain.</t>
      <artwork><![CDATA[
The trust mechanism MUST process any CWT in this
parameter as untrusted input.  The presence of a self-signed
CWT in the parameter MUST NOT cause the update of the set
of trust anchors without some out-of-band confirmation.  As the
contents of this header parameter are untrusted input, the header
parameter can be in either the protected or unprotected header
bucket.  Sending the header parameter in the unprotected header
bucket allows an intermediary to remove or add CWT.

The end entity CWT MUST be integrity protected by COSE.
This can, for example, be done by sending the header parameter in
the protected header, sending an 'cwt-bag' in the unprotected header
combined with an 'cwt-t' in the protected header, or including the
end entity CWT in the external_aad.

This header parameter allows for a single CWT or a
bag of CWT to be carried in the message.

*  If a single CWT is conveyed, it is placed in a CBOR
    byte string.

*  If multiple CWTs are conveyed, a CBOR array of byte
    strings is used, with each CWT being in its own byte
    string.
]]></artwork>
      <t>cwt-chain:  This header parameter contains an ordered array of CWTs.
    The CWTs are to be ordered starting with
    the CWT containing the end entity key followed by the
    CWT that signed it, and so on.  There is no requirement
    for the entire chain to be present in the element if there is
    reason to believe that the relying party already has, or can
    locate, the missing CWT.  This means that the relying
    party is still required to do path building but that a candidate
    path is proposed in this header parameter.</t>
      <artwork><![CDATA[
The trust mechanism MUST process any CWT in this
parameter as untrusted input.  The presence of a self-signed
CWT in the parameter MUST NOT cause the update of the set
of trust anchors without some out-of-band confirmation.  As the
contents of this header parameter are untrusted input, the header
parameter can be in either the protected or unprotected header
bucket.  Sending the header parameter in the unprotected header
bucket allows an intermediary to remove or add CWT.

The end entity CWT MUST be integrity protected by COSE.
This can, for example, be done by sending the header parameter in
the protected header, sending an 'cwt-chain' in the unprotected
header combined with an 'cwt-t' in the protected header, or
including the end entity CWT in the external_aad.

This header parameter allows for a single CWT or a
chain of CWTs to be carried in the message.

*  If a single CWT is conveyed, it is placed in a CBOR
    byte string.

*  If multiple CWTs are conveyed, a CBOR array of byte
    strings is used, with each CWT being in its own byte
    string.
]]></artwork>
      <t>cwt-t:  This header parameter identifies the end entity CWT
    by a hash value (a thumbprint).  The 'cwt-t' header
    parameter is represented as an array of two elements.  The first
    element is an algorithm identifier that is an integer or a string
    containing the hash algorithm identifier corresponding to the
    Value column (integer or text string) of the algorithm registered
    in the "COSE Algorithms" registry (see <xref target="COSE-IANA"/>).  The second
    element is a binary string containing the hash value computed over the CWT.</t>
      <artwork><![CDATA[
As this header parameter does not provide any trust, the header
parameter can be in either a protected or unprotected header
bucket.

The identification of the end entity CWT MUST be integrity
protected by COSE.  This can be done by sending the header
parameter in the protected header or including the end entity
CWT in the external_aad.

The 'cwt-t' header parameter can be used alone or together with the
'cwt-bag', 'cwt-chain', or 'cwt-u' header parameters to provide
integrity protection of the end entity CWT.

For interoperability, applications that use this header parameter
MUST support the hash algorithm 'SHA-256' but can use other hash
algorithms.  This requirement allows for different implementations
to be configured to use an interoperable algorithm, but does not
preclude the use (by prior agreement) of other algorithms.

Note: For conveying the thumbprint of a public key alone, see
{{RFC9679}}.
]]></artwork>
      <t>cwt-u:  This header parameter provides the ability to identify a CWT
    by a URI <xref target="RFC3986"/>.  It contains a CBOR text string.
    The referenced resource can be any of the following media types:</t>
      <artwork><![CDATA[
*  application/cwt {{RFC8392}}

*  application/cwt usage=chain (see {{chain}})

When the application/cwt media type is used, the data is a
encoded according to RFC 8392.  If the parameter "usage" is
set to "chain", this sequence indicates a CWT chain.

The end entity CWT MUST be integrity protected by COSE.
This can, for example, be done by sending the 'cwt-u' in the
unprotected or protected header combined with an 'cwt-t' in the
protected header, or including the end entity CWT in the
external_aad.  As the end entity CWT is integrity
protected by COSE, the URI does not need to provide any
protection.

If a retrieved CWT does not chain to an existing trust
anchor, that CWT MUST NOT be trusted unless the URI
provides integrity protection and server authentication and the
server is configured as trusted to provide new trust anchors or if
an out-of-band confirmation can be received for trusting the
retrieved CWT.  If an HTTP or Constrained Application
Protocol (CoAP) GET request is used to retrieve a CWT, a
standardized security protocol should be used. Examples of such
security protocols include TLS
{{RFC8446}}, DTLS {{RFC9147}}, or Object Security for Constrained
RESTful Environments (OSCORE) {{RFC8613}} should be used.
]]></artwork>
      <t>The header parameters are used in the following locations:</t>
      <t>COSE_Signature and COSE_Sign1 objects:  In these objects, the
    parameters identify the CWT to be used for validating the
    signature.</t>
      <t>COSE_recipient objects:  In this location, the parameters identify
    the CWT for the recipient of the message.</t>
      <t>The labels assigned to each header parameter can be found in
<xref target="fig-parameters"/>.</t>
      <figure anchor="fig-parameters">
        <name>CWT COSE Header Parameters.</name>
        <artwork><![CDATA[
+===========+=======+===============+==========================+
| Name      | Label | Value Type    | Description              |
+===========+=======+===============+==========================+
| cwt-bag   | TBD1  | COSE_CWT      | An unordered bag of CWTs |
+-----------+-------+---------------+--------------------------+
| cwt-chain | TBD2  | COSE_CWT      | An ordered chain of CWTs |
+-----------+-------+---------------+--------------------------+
| cwt-t     | TBD3  | COSE_CWTHash  | Hash of a CWT            |
+-----------+-------+---------------+--------------------------+
| cwt-u     | TBD4  | uri           | URI pointing to a CWT    |
+-----------+-------+---------------+--------------------------+
]]></artwork>
      </figure>
      <t>Below is an equivalent Concise Data Definition Language (CDDL)
description (see <xref target="RFC8610"/>) of the text above.</t>
      <artwork><![CDATA[
COSE_CWT = CWT-Messages / [ 2*CWT-Messages ]
COSE_CWTHash = [ hashAlg: (int / tstr), hashValue: bstr ]
]]></artwork>
      <t>The contents of "bstr" are the bytes of a CWT.</t>
    </section>
    <section anchor="cwts-and-static-static-ecdh">
      <name>CWTs and Static-Static ECDH</name>
      <t>The header parameters defined in the previous section are used to
identify the recipient CWT. In this section, we define
the algorithm-specific parameters that are used for identifying or
transporting the sender's key for static-static key agreement
algorithms.</t>
      <t>These attributes are defined analogously to those in the previous
section.  There is no definition for the CWT bag, as the same
parameter would be used for both the sender and recipient.</t>
      <t>cwt-chain-sender:
    This header parameter contains the chain of CWT starting
    with the sender's key exchange CWT.  The structure is the
    same as 'cwt-chain'.</t>
      <t>cwt-t-sender:
    This header parameter contains the hash value for the sender's key
    exchange CWT.  The structure is the same as 'cwt-t'.</t>
      <t>cwt-u-sender:
    This header parameter contains a URI for the sender's key exchange
    CWT.  The structure and processing are the same as 'cwt-u'.</t>
      <figure anchor="fig-static-ecdh">
        <name>Static ECDH Algorithm Values.</name>
        <artwork><![CDATA[
+==============+=====+=============+===================+===========+
|Name          |Label|Type         | Algorithm         |Description|
+==============+=====+=============+===================+===========+
|cwt-t-sender  |TBD5 |COSE_CWTHash | ECDH-SS+HKDF-256, |Thumbprint |
|              |     |             | ECDH-SS+HKDF-512, |for the    |
|              |     |             | ECDH-SS+A128KW,   |sender's   |
|              |     |             | ECDH-SS+A192KW,   |CWT        |
|              |     |             | ECDH-SS+A256KW    |           |
+--------------+-----+-------------+-------------------+-----------+
|cwt-u-sender  |TBD6 |uri          | ECDH-SS+HKDF-256, |URI for the|
|              |     |             | ECDH-SS+HKDF-512, |sender's   |
|              |     |             | ECDH-SS+A128KW,   |CWT        |
|              |     |             | ECDH-SS+A192KW,   |           |
|              |     |             | ECDH-SS+A256KW    |           |
+--------------+-----+-------------+-------------------+-----------+
|cwt-chain-    |TBD7 |COSE_CWT     | ECDH-SS+HKDF-256, |static key |
|  sender      |     |             | ECDH-SS+HKDF-512, |CWT chain  |
|              |     |             | ECDH-SS+A128KW,   |           |
|              |     |             | ECDH-SS+A192KW,   |           |
|              |     |             | ECDH-SS+A256KW    |           |
+--------------+-----+-------------+-------------------+-----------+
]]></artwork>
      </figure>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Establishing trust in a CWT is a vital part of processing.  A
major component of establishing trust is determining what the set of
trust anchors are for the process.  A new self-signed CWT
appearing on the client cannot be a trigger to modify the set of
trust anchors, because a well-defined trust-establishment process is
required.  One common way for a new trust anchor to be added to (or
removed from) a device is by doing a new firmware upgrade.</t>
      <t>In constrained systems, there is a trade-off between the order of
checking the signature and checking the CWT for validity.
Validating CWTs may require that network resources be
accessed in order to get statys information or retrieve
CWTs during path building.  The resulting network access can
consume power and network bandwidth.  On the other hand, if the
CWT are validated after the signature is validated, an
oracle can potentially be built based on detecting the network
resources, which is only done if the signature validation passes.  In
any event, both the signature validation and the CWT
validation MUST be completed successfully before acting on any
requests.</t>
      <t>The end entity CWT MUST be integrity protected
by COSE.  Without proof of possession, an attacker can trick the CA
into issuing an identity-misbinding CWT with someone else's
"borrowed" public key but with a different subject.  An on-path
attacker can then perform an identity-misbinding attack by replacing
the real end entity CWT in COSE with such an identity-
misbinding CWT.</t>
      <t>end entity CWTs contain identities that a passive on-path attacker
eavesdropping on the conversation can use to identify and track the
subject.  The 'cwt-t' and 'cwt-u' header parameters are just
alternative permanent identifiers and can also be used to track
the subject. To provide identity protection, COSE can be sent inside
another security protocol providing confidentiality. Additionally,
the encryption capabilities of COSE itself can be used to protect
the CWT content.</t>
      <t>When processing the 'cwt-u' header parameter, the security
considerations of <xref target="RFC3986"/>, and specifically those defined in
Section 7.1 of <xref target="RFC3986"/>, also apply.</t>
      <t>Protecting the integrity of the 'cwt-bag', 'cwt-chain', and 'cwt-t'
contents by placing them in the protected header bucket can help
mitigate some risks of a misbehaving CA (cf. Section 5.1 of
<xref target="RFC2634"/>).</t>
      <t>The security of the algorithm used for 'cwt-t' does not affect the
security of the system, as this header parameter selects which
CWT that is already present on the system should be used, but
it does not provide any trust.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cose-header-parameters-registry">
        <name>COSE Header Parameters Registry</name>
        <t>IANA has registered the new COSE Header parameters in <xref target="fig-parameters"/> in the
"COSE Header Parameters" registry.  The "Value Registry" field is
empty for all of the items.  For each item, the "Reference" field
points to this document.</t>
      </section>
      <section anchor="cose-header-algorithm-parameters-registry">
        <name>COSE Header Algorithm Parameters Registry</name>
        <t>IANA has registered the new COSE Header Algorithm parameters in
<xref target="fig-static-ecdh"/> in the "COSE Header Algorithm Parameters" registry.
For each item, the "Reference" field points to this document.</t>
      </section>
      <section anchor="media-type-applicationcwt">
        <name>Media Type application/cwt</name>
        <t>When the application/cwt media type is used, the data is a CBOR
sequence of single-entry COSE_CWT structures (encoding "bstr").  If
the parameter "usage" is set to "chain", this sequence indicates a
CWT chain.</t>
        <t>The application/cwt media type is already registered by <xref target="RFC8392"/> and
this document updates the IANA entry of this media type <xref target="RFC6838"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Type name:  application</t>
          </li>
          <li>
            <t>Subtype name:  cwt</t>
          </li>
          <li>
            <t>Required parameters:  N/A</t>
          </li>
          <li>
            <t>Optional parameters:  usage  </t>
            <ul spacing="normal">
              <li>
                <t>Can be absent to provide no further information about the
 intended meaning of the order in the CBOR sequence of
 CWT.</t>
              </li>
              <li>
                <t>Can be set to "chain" to indicate that the sequence of data
 items is to be interpreted as a CWT chain.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Encoding considerations:  binary</t>
          </li>
          <li>
            <t>Security considerations:  See the Security Considerations section of
  RFC 8392 and [TBD: This RFC].</t>
          </li>
          <li>
            <t>Interoperability considerations:  N/A</t>
          </li>
          <li>
            <t>Published specification:  RFC 8392 and [TBD: This RFC]</t>
          </li>
          <li>
            <t>Applications that use this media type:  Applications that employ COSE
  and use CWTs, including IoT applications and digital credentials
  in general.</t>
          </li>
          <li>
            <t>Fragment identifier considerations:  N/A</t>
          </li>
          <li>
            <t>Additional information:  </t>
            <ul spacing="normal">
              <li>
                <t>Deprecated alias names for this type:  N/A</t>
              </li>
              <li>
                <t>Magic number(s):  N/A</t>
              </li>
              <li>
                <t>File extension(s):  N/A</t>
              </li>
              <li>
                <t>Macintosh file type code(s):  N/A</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: iesg@ietf.org</t>
          </li>
          <li>
            <t>Intended usage:  COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage:  N/A</t>
          </li>
          <li>
            <t>Author:  COSE WG</t>
          </li>
          <li>
            <t>Change controller:  IESG</t>
          </li>
        </ul>
        <t>Provisional registration?  No</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC2634">
          <front>
            <title>Enhanced Security Services for S/MIME</title>
            <author fullname="P. Hoffman" initials="P." role="editor" surname="Hoffman"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document describes four optional security service extensions for S/MIME. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2634"/>
          <seriesInfo name="DOI" value="10.17487/RFC2634"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </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="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </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="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6024">
          <front>
            <title>Trust Anchor Management Requirements</title>
            <author fullname="R. Reddy" initials="R." surname="Reddy"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>A trust anchor represents an authoritative entity via a public key and associated data. The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative. A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor. This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6024"/>
          <seriesInfo name="DOI" value="10.17487/RFC6024"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <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.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC9019">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="M. Meriac" initials="M." surname="Meriac"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
              <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9019"/>
          <seriesInfo name="DOI" value="10.17487/RFC9019"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <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.</t>
              <t>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.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </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="RFC9679">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
            <author fullname="K. Isobe" initials="K." surname="Isobe"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9679"/>
          <seriesInfo name="DOI" value="10.17487/RFC9679"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-status-list">
          <front>
            <title>Token Status List</title>
            <author fullname="Tobias Looker" initials="T." surname="Looker">
              <organization>MATTR</organization>
            </author>
            <author fullname="Paul Bastian" initials="P." surname="Bastian">
         </author>
            <author fullname="Christian Bormann" initials="C." surname="Bormann">
              <organization>SPRIND</organization>
            </author>
            <date day="19" month="February" year="2025"/>
            <abstract>
              <t>   This specification defines a mechanism, data structures and
   processing rules for representing the status of tokens secured by
   JSON Object Signing and Encryption (JOSE) or CBOR Object Signing and
   Encryption (COSE), such as JWT, SD-JWT VC, CBOR Web Token and ISO
   mdoc.  It also defines an extension point and a registry for future
   status mechanisms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-08"/>
        </reference>
        <reference anchor="I-D.ietf-keytrans-architecture">
          <front>
            <title>Key Transparency Architecture</title>
            <author fullname="Brendan McMillion" initials="B." surname="McMillion">
         </author>
            <date day="25" month="February" year="2025"/>
            <abstract>
              <t>   This document defines the terminology and interaction patterns
   involved in the deployment of Key Transparency (KT) in a general
   secure group messaging infrastructure, and specifies the security
   properties that the protocol provides.  It also gives more general,
   non-prescriptive guidance on how to securely apply KT to a number of
   common applications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-keytrans-architecture-03"/>
        </reference>
        <reference anchor="COSE-IANA" target="https://www.iana.org/assignments/cose/">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) IANA Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2023" month="December"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 562?>

<section anchor="contributor">
      <name>Contributor</name>
      <t>We would like to thank Ken Takayama for his work on the IETF SUIT trust
domains draft, which created the idea for writing this specification. Ken
provided valuable review feedback.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Add your name here.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
U72fYHeH2M+symUl1/wg7UPv/j/vn1HxR1wAAA==

-->

</rfc>
