<?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.17 (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-tschofenig-cose-cwt-chain-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="CWT Chains">CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing Chains of CBOR Web Tokens (CWTs)</title>

    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization></organization>
      <address>
        <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>

    <date year="2024" month="July" day="08"/>

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

    <abstract>


<?line 62?>

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

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

<t>The CBOR Object Signing and Encryption (COSE) message structure utilizes
references to keys and defines header parameters for carrying 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>Inspired by RFC 9360, this document defines header parameters to convey chains
of CBOR Web Tokens (CWTs) <xref target="RFC8392"/>. Utilizing 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"/> defined in COSE support
the use of X.509 certificates and this specification applies these
well-established concepts to CWTs. Chains of CWTs enable path validation similar
to what is provided by a X.509 certificate-based Public Key Infrastructure (PKI).
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 key terms, we describe
path validation for CWTs. We then 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>

<t><list style="symbols">
  <t>End Entity: User of CWT and/or end-user system that is the subject of a CWT.</t>
  <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>
  <t>CA CWT: A CWT that is self-issued, whereby the same name appears in the
subject and issuer claims.</t>
  <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>
  <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>
  <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>
  <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 another structure, as appropriate.</t>
  <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>
</list></t>

</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 must contain at least the following claims:</t>

<t><list style="symbols">
  <t>Subject</t>
  <t>Issuer</t>
  <t>Confirmation</t>
</list></t>

<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 validity 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.
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 these 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 CWTs
obtained from any of these methods still need to validate them.  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
    CWTs 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
    CWTs 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 CWTs needed to
    build any particular chain.</t>

<figure><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 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></figure>

<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 CWTs.  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>

<figure><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 CWTs.

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 a '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></figure>

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

<figure><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
{{I-D.ietf-cose-key-thumbprint}}.
]]></artwork></figure>

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

<figure><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></figure>

<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 title="CWT COSE Header Parameters." anchor="fig-parameters"><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>

<figure><artwork><![CDATA[
COSE_CWT = CWT-Messages / [ 2*CWT-Messages ]
COSE_CWTHash = [ hashAlg: (int / tstr), hashValue: bstr ]
]]></artwork></figure>

<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>This section defines
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 title="Static ECDH Algorithm Values." anchor="fig-static-ecdh"><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="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 status information or retrieve
CWTs during path building.  The resulting network access can
consume power and network bandwidth.  On the other hand, if the
CWT is 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>

<t><list style="symbols">
  <t>Type name:  application</t>
  <t>Subtype name:  cwt</t>
  <t>Required parameters:  N/A</t>
  <t>Optional parameters:  usage  <list style="symbols">
      <t>Can be absent to provide no further information about the
 intended meaning of the order in the CBOR sequence of
 CWT.</t>
      <t>Can be set to "chain" to indicate that the sequence of data
 items is to be interpreted as a CWT chain.</t>
    </list></t>
  <t>Encoding considerations:  binary</t>
  <t>Security considerations:  See the Security Considerations section of
  RFC 8392 and [TBD: This RFC].</t>
  <t>Interoperability considerations:  N/A</t>
  <t>Published specification:  RFC 8392 and [TBD: This RFC]</t>
  <t>Applications that use this media type:  Applications that employ COSE
  and use CWTs, including IoT applications and digital credentials
  in general.</t>
  <t>Fragment identifier considerations:  N/A</t>
  <t>Additional information:  <list style="symbols">
      <t>Deprecated alias names for this type:  N/A</t>
      <t>Magic number(s):  N/A</t>
      <t>File extension(s):  N/A</t>
      <t>Macintosh file type code(s):  N/A</t>
    </list></t>
  <t>Person &amp; email address to contact for further information: iesg@ietf.org</t>
  <t>Intended usage:  COMMON</t>
  <t>Restrictions on usage:  N/A</t>
  <t>Author:  COSE WG</t>
  <t>Change controller:  IESG</t>
</list></t>

<t>Provisional registration?  No</t>

</section>
</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="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 title='Informative References' anchor="sec-informative-references">



<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="I-D.ietf-cose-key-thumbprint">
   <front>
      <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
      <author fullname="Kohei Isobe" initials="K." surname="Isobe">
         <organization>SECOM CO., LTD.</organization>
      </author>
      <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
      <author fullname="Orie Steele" initials="O." surname="Steele">
         <organization>Transmute</organization>
      </author>
      <date day="23" month="October" year="2023"/>
      <abstract>
	 <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>
   <seriesInfo name="Internet-Draft" value="draft-ietf-cose-key-thumbprint-04"/>
   
</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">
         </author>
      <date day="3" month="March" year="2024"/>
      <abstract>
	 <t>   This specification defines status list 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 JSON Web Tokens (JWTs), CBOR Web Tokens
   (CWTs) and ISO mdoc.  The status list token data structures
   themselves are also represented as JWTs or CWTs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-02"/>
   
</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="4" month="March" year="2024"/>
      <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-01"/>
   
</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>


<?line 543?>

<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:
H4sIAAAAAAAAA+1cbW8bubX+bsD/gdACN85GUmJnN5u4WNw6ttMYeXFu7DS9
KIqCGlHS1KMZdTiyo27S337Pc84hhyPJyWZ3UdwCzYdYGg3Jw/P+Rg4Gg92d
Jm8Kd2h6x0/P35rz0d9c1piLfFrm5dTYcmxOy6xeLZq8Ks3e8fnF6d1D89zZ
savNG1vbuWtc7c2kqs2xretVGPXWTVztygzfj2c2L72pJobXeO9G5rK6cvRo
7/j9pb/b293Z3bGjUe2uDw090QG7O+MqK2mFQzOu7aQZND6bVRNX5tNBVnk3
yG6aQYZXBw/2d3cy27hpVa8OjW/GmDFf1IemqZe+OXjw4MmDA1qjdvbQXLhs
WefNanfnpqqvpnW1XNCytLPdnSu3omfjQ3NW0rZK1wxOsDJm8w1t66+2qEqC
Z+UIukV+uLtjTD3J3Ng3qyI8N6apsvRzXo5d2cQnvqqb2k18+2A1735v6jxr
38+q+ZzGt7/nZZGXyWruQzMoct8MaKJRVdCLg+rbe/iJEDi3iwURQd+2y2ZW
1YB7gN/xjzBNFB2ay4jd8Ivg/rktS+e3/OzmNi8OzYx/H7bE+f10/mFIuNtY
5OnQvKpqW3bnf0psMrZl96eqntoy/4cF2x2ao3puXubzvHHjtcVHMng4x+Bh
7poJrU6/DAlpoFpZ1XOa5Noxqd4+Oz7Y338SPz96+F34/PDJ40fh8/cHjx+E
z48eP3wcPj9++OQgfn60H995/MN3P8TPT77D/Hk5WV/50YODuNrj7757lMz0
MHx+8qCF7sl+O+uTh49ktbPBCe9SBIDYddDMlvPRos6JwTovVCD1gLi2WXrm
ju7PNLQhlPmBrbMZITZrlrWACkkYnB29PjoUXLcsEyhD4kE/ywPVHj9befBQ
0g5TgqheyRxjktxDc+IyNx+RWjl4cPBQJ7f11JEgzJpm4Q/v37+5uRnmtrRD
AuK+9Z4WYsm4D2zc390ZDAbGjmhim7HMXs7cV0A2d97bqYP4LRkdZukhM7Wq
MhKCpjKEOM8TjN0kh2DMRBkuWmVIb2XQhSaLiu9Pw+8fPCEd5eomn+RQVX4o
EObe+IXL5CmgIWkmnqZZ8NNkWWZ4agtSWJh4uwblubD7eT4eFw7fvjFQYnU1
XvIEvwk6mrzI//GLUAL7kAX78Hm0GIB5ywxVee14Ch5oknE6KSTPWOZhGrwq
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
f+6GrxvMWgAA

-->

</rfc>

