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


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

]>

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

<rfc ipr="trust200902" docName="draft-tschofenig-cose-cwt-chain-00" 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="January" day="04"/>

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

    <abstract>


<?line 65?>

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

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

<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.mcmillion-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 other 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 that have a
minimum number of claims, namely:</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 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>

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

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

<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>OAuth 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="23" month="October" year="2023"/>
      <abstract>
	 <t>   This specification defines status list data structures for
   representing the status of JSON Web Tokens (JWTs) [RFC7519] and CBOR
   Web Tokens (CWTs) [RFC8392].  The status list data structures
   themselves are also represented as JWTs or CWTs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-00"/>
   
</reference>


<reference anchor="I-D.mcmillion-keytrans-architecture">
   <front>
      <title>Key Transparency Architecture</title>
      <author fullname="Brendan McMillion" initials="B." surname="McMillion">
         </author>
      <date day="4" month="December" year="2023"/>
      <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-mcmillion-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 552?>

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

-->

</rfc>

