<?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.4 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-uccs-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.1 -->
  <front>
    <title abbrev="Unprotected CWT Claims Sets">A CBOR Tag for Unprotected CWT Claims Sets</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-uccs-08"/>
    <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>
    <author initials="J." surname="O'Donoghue" fullname="Jeremy O'Donoghue">
      <organization abbrev="Qualcomm Technologies Inc.">Qualcomm Technologies Inc.</organization>
      <address>
        <postal>
          <street>279 Farnborough Road</street>
          <city>Farnborough</city>
          <code>GU14 7LS</code>
          <country>United Kingdom</country>
        </postal>
        <email>jodonogh@qti.qualcomm.com</email>
      </address>
    </author>
    <author initials="N." surname="Cam-Winget" fullname="Nancy Cam-Winget">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>3550 Cisco Way</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>USA</country>
        </postal>
        <email>ncamwing@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2024" month="January" day="16"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 85?>

<t>When transported over secure channels, CBOR Web Token (CWT, RFC 8392) Claims Sets may not need the protection afforded by wrapping them into COSE, as is required for a true CWT.
This specification defines a CBOR tag for such unprotected CWT Claims Sets (UCCS) and discusses conditions for its proper use.</t>
      <!--
[^status]

[^status]:
    The present version (-03)
 -->



    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-rats-uccs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Remote ATtestation procedureS (rats) Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-uccs"/>.</t>
    </note>
  </front>
  <middle>
    <?line 97?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A CBOR Web Token (CWT) as specified by <xref target="RFC8392"/> is always wrapped in a
CBOR Object Signing and Encryption (COSE, <xref target="RFC9052"/>) envelope.
COSE provides -- amongst other things -- end-to-end data origin
authentication and integrity protection employed by RFC 8392 as well as
optional encryption for CWTs.
Under the right circumstances (<xref target="secchan"/>),
though, a signature providing proof for authenticity and integrity can be
provided through the transfer protocol and thus omitted from the
information in a CWT without compromising the intended goal of authenticity
and integrity.
In other words, if communicating parties have a pre-existing security
association, they can reuse it to provide authenticity and integrity
for their messages, enabling the basic principle of using resources
parsimoniously.
Specifically, if a mutually secured channel is established between two
remote peers, and if that secure channel provides the required
properties (as discussed below), it is possible to omit the protection
provided by COSE, creating a use case for unprotected CWT Claims Sets.
Similarly, if there is one-way authentication, the party that did not
authenticate may be in a position to send authentication information through
this channel that allows the already authenticated party to authenticate the
other party.</t>
      <t>This specification allocates a CBOR tag to mark Unprotected CWT Claims Sets
(UCCS) as such and discusses conditions for its proper use in the scope of
Remote Attestation Procedures (RATS <xref target="RFC9334"/>) for the
conveyance of RATS Conceptual Messages.</t>
      <t>This specification does not change <xref target="RFC8392"/>: A true CWT does not make use of
the tag allocated here; the UCCS tag is an alternative to using COSE
protection and a CWT tag.
Consequently, within the well-defined scope of a secure channel, it
can be acceptable and economic to use the contents of a CWT without
its COSE container and tag it with a UCCS CBOR tag for further
processing within that scope -- or to use the contents of a UCCS CBOR
tag for building a CWT to be signed by some entity that can vouch for
those contents.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The term Claim is used as in <xref target="RFC7519"/>.</t>
        <t>The terms Claim Key, Claim Value, and CWT Claims Set are used as in
<xref target="RFC8392"/>.</t>
        <t>The terms Attester, Attesting Environment, Evidence, Relying Party and Verifier are used as in <xref target="RFC9334"/>.</t>
        <dl>
          <dt>UCCS:</dt>
          <dd>
            <t>Unprotected CWT Claims Set(s); CBOR map(s) of Claims as defined by the CWT
Claims Registry that are composed of pairs of Claim Keys and Claim Values.</t>
          </dd>
          <dt>Secure Channel:</dt>
          <dd>
            <t><xref target="NIST-SP800-90Ar1"/> defines a Secure Channel as follows:
</t>
            <aside>
              <!-- This really is a block quote, but RFCXMLv3 doesn't allow that -->
      <t>"A path for transferring data between two entities or components that
ensures confidentiality, integrity and replay protection, as well as
mutual authentication between the entities or components. The secure
channel may be provided using approved cryptographic, physical or
procedural methods, or a combination thereof"</t>
            </aside>
            <t>For the purposes of the present document, we focus on a protected communication
channel used for conveyance that can ensure the same qualities as CWT without
the COSE protection. Examples include conveyance via PCIe (Peripheral Component Interconnect Express) IDE (Integrity and Data Encryption), a TLS tunnel,
or other object security than COSE, such as CMS or X.509 v3 certificates.
Note that this means that, in specific cases, the Secure Channel as defined here
does not itself provide mutual authentication.  See <xref target="secchan"/>.</t>
          </dd>
        </dl>
        <t>All terms referenced or defined in this section are capitalized in the remainder of
this document.</t>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="deployment-and-usage-of-uccs">
      <name>Deployment and Usage of UCCS</name>
      <t>Usage scenarios involving the conveyance of Claims, in particular
RATS, require a standardized data definition and encoding format that
can be transferred
and transported using different communication channels.  As these are Claims, <xref target="RFC8392"/> is
a suitable format.  However, the way these Claims are secured depends on the deployment, the security
capabilities of the device, as well as their software stack.  For example, a Claim may be securely
stored and conveyed using a device's Trusted Execution Environment (TEE, see <xref target="RFC9397"/>) or
a Trusted Platform Module (TPM, see <xref target="TPM2"/>).
Especially in some resource constrained environments, the same process that provides the secure communication
transport is also the delegate to compose the Claim to be conveyed.  Whether it is a transfer
or transport, a Secure Channel is presumed to be used for conveying such UCCS.  The following sections
elaborate on Secure Channel characteristics in general and further describe RATS usage scenarios and
corresponding requirements for UCCS deployment.</t>
    </section>
    <section anchor="secchan">
      <name>Characteristics of a Secure Channel</name>
      <t>A Secure Channel for the conveyance of UCCS needs to provide the security
properties that would otherwise be provided by COSE for a CWT.
In this regard, UCCS is similar in security considerations to JWTs <xref target="RFC8725"/>
using the algorithm "none".  RFC 8725 states:</t>
      <blockquote>
        <t>[...] if a JWT is cryptographically
protected end-to-end by a transport layer, such as TLS using
cryptographically current algorithms, there may be no need to apply another
layer of cryptographic protections to the JWT.  In such cases, the use of
the "none" algorithm can be perfectly acceptable.</t>
      </blockquote>
      <t>The security considerations discussed, e.g., in Sections <xref target="RFC8725" section="2.1" sectionFormat="bare"/>, <xref target="RFC8725" section="3.1" sectionFormat="bare"/>, and <xref target="RFC8725" section="3.2" sectionFormat="bare"/> of <xref target="RFC8725"/> apply in an analogous way to the use of UCCS as
elaborated on in this document.</t>
      <t>Secure Channels are often set up in a handshake protocol that mutually
derives a session key, where the handshake protocol establishes the
(identity and thus) authenticity of one or both ends of the communication.
The session key can
then be used to provide confidentiality and integrity of the transfer of
information inside the Secure Channel.  A well-known example of a such a
Secure Channel setup protocol is the TLS <xref target="RFC8446"/> handshake; the
TLS record protocol can then be used for secure conveyance.</t>
      <t>As UCCS were initially created for use in RATS Secure Channels, the following
section provides a discussion of
their use in these channels.  Where other environments are intended to be
used to convey UCCS, similar considerations need to be documented before
UCCS can be used.</t>
    </section>
    <section anchor="uccs-and-remote-attestation-procedures-rats">
      <name>UCCS and Remote Attestation Procedures (RATS)</name>
      <t>This section describes three detailed usage scenarios for UCCS in the context of RATS.</t>
      <section anchor="conceptual-messages-conveyance">
        <name>Conceptual Messages Conveyance</name>
        <t>For the purposes of this section, any RATS role can be the sender or the receiver of the UCCS.</t>
        <t>Secure Channels can be transient in nature.  For the purposes of this
specification, the mechanisms used to establish a Secure Channel are out of
scope.</t>
        <t>As a minimum requirement in the scope of RATS Claims, the receiver <bcp14>MUST</bcp14>
authenticate the sender as part of the establishment of the Secure Channel.
Furthermore, the channel <bcp14>MUST</bcp14> provide integrity of the communication between the
communicating RATS roles.
If data confidentiality <xref target="RFC4949"/> is also required, the receiving side <bcp14>MUST</bcp14> be
authenticated as well; this can be achieved if the sender and receiver
mutually authenticate when establishing the Secure Channel.</t>
        <t>The extent to which a Secure Channel can provide assurances that UCCS
originate from a trustworthy Attesting Environment depends on the
characteristics of both the cryptographic mechanisms used to establish the
channel and the characteristics of the Attesting Environment itself.</t>
        <t>A Secure Channel established or maintained using weak cryptography
may not provide the assurance required by a Relying Party of the authenticity
and integrity of the UCCS.</t>
        <t>Ultimately, it is up to the receiver's policy to determine whether to accept
a UCCS from the sender and to the type of Secure Channel it must negotiate.
While the security considerations of the cryptographic algorithms used are similar
to COSE, the considerations of the Secure Channel should also adhere to the policy
configured at each of end of the Secure Channel.  However, the policy controls
and definitions are out of scope for this document.</t>
        <t>Where the security assurance required of an Attesting Environment by a
Relying Party requires it, the Attesting Environment <bcp14>SHOULD</bcp14> be implemented
using techniques designed to provide enhanced protection from an attacker
wishing to tamper with or forge UCCS.  A possible approach might be to
implement the Attesting Environment in a hardened environment such as a
TEE <xref target="RFC9397"/> or a TPM <xref target="TPM2"/>.</t>
        <t>When UCCS emerge from the Secure Channel and into the receiver, the security
properties of the secure channel no longer protect the UCCS, which now are subject to the same security properties
as any other unprotected data in the Verifier environment.
If the receiver subsequently forwards UCCS, they are treated as though they originated within the receiver.</t>
        <t>As with EATs nested in other EATs (Section <xref target="I-D.ietf-rats-eat" section="4.2.18.3" sectionFormat="bare">Nested Tokens</xref> of <xref target="I-D.ietf-rats-eat"/>), the Secure
Channel does not endorse fully formed CWTs transferred through it.
Effectively, the COSE envelope of a CWT (or a nested EAT) shields the CWT Claims Set from the
endorsement of the secure channel.  (Note that EAT might add a nested UCCS
Claim, and this statement does not apply to UCCS nested into UCCS, only to
fully formed CWTs.)</t>
      </section>
      <section anchor="delegated-attestation">
        <name>Delegated Attestation</name>
        <t>Another usage scenario is that of a sub-Attester that has no signing keys (for example, to keep the implementation complexity to a minimum) and has a Secure Channel, such as a local IPC, to interact with a lead Attester (see Composite Device, <xref section="3.3" sectionFormat="of" target="RFC9334"/>).
The sub-Attester produces a UCCS with the required CWT Claims Set and sends the UCCS through the Secure Channel to the lead Attester.
The lead Attester then computes a cryptographic hash of the UCCS and
protects that hash using its signing key for Evidence, for example,
using a Detached-Submodule-Digest or Detached EAT Bundle (<xref section="5" sectionFormat="of" target="I-D.ietf-rats-eat"/>).</t>
      </section>
      <section anchor="privacy-preservation">
        <name>Privacy Preservation</name>
        <t>A Secure Channel which preserves the privacy of the Attester may provide
security properties equivalent to COSE, but only inside the life-span of the
session established.  In general, when a privacy preserving Secure Channel is employed for conveying a conceptual message the receiver cannot correlate the message with the senders of other received UCCS messages.</t>
        <t>An Attester must consider whether any UCCS it returns over a privacy
preserving Secure Channel compromises the privacy in unacceptable ways.  As
an example, the use of the EAT UEID Claim <xref section="4.2.1" sectionFormat="of" target="I-D.ietf-rats-eat"/> in UCCS over a privacy
preserving Secure Channel allows a Verifier to correlate UCCS from a single
Attesting Environment across many Secure Channel sessions. This may be
acceptable in some use-cases (e.g., if the Attesting Environment is a
physical sensor in a factory) and unacceptable in others (e.g., if the
Attesting Environment is a user device belonging to a child).</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>In the CBOR Tags registry <xref target="IANA.cbor-tags"/> as defined in <xref section="9.2" sectionFormat="of" target="RFC8949"/>, IANA is requested to allocate the tag in <xref target="tab-tag-values"/> from
the Specification Required space (1+2 size), with the present document
as the specification reference.</t>
      <table anchor="tab-tag-values">
        <name>Values for Tags</name>
        <thead>
          <tr>
            <th align="right">Tag</th>
            <th align="left">Data Item</th>
            <th align="left">Semantics</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">TBD601</td>
            <td align="left">map (Claims-Set as per <xref target="cddl"/> of [RFCthis])</td>
            <td align="left">Unprotected CWT Claims Set [RFCthis]</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8949"/> apply.
The security considerations of <xref target="RFC8392"/> need to be applied analogously,
replacing the function of COSE with that of the Secure Channel.</t>
      <t><xref target="secchan"/> discusses security considerations for Secure Channels, in which
UCCS might be used.
This document provides the CBOR tag definition for UCCS and a discussion
on security consideration for the use of UCCS in RATS.  Uses of UCCS outside the scope of
RATS are not covered by this document.  The UCCS specification -- and the
use of the UCCS CBOR tag, correspondingly -- is not intended for use in a
scope where a scope-specific security consideration discussion has not
been conducted, vetted and approved for that use.</t>
      <section anchor="general-considerations">
        <name>General Considerations</name>
        <t>Implementations of Secure Channels are often separate from the application
logic that has security requirements on them.  Similar security
considerations to those described in <xref target="RFC9052"/> for obtaining the
required levels of assurance include:</t>
        <ul spacing="normal">
          <li>
            <t>Implementations need to provide sufficient protection for private or
secret key material used to establish or protect the Secure Channel.</t>
          </li>
          <li>
            <t>Using a key for more than one algorithm can leak information about the
key and is not recommended.</t>
          </li>
          <li>
            <t>An algorithm used to establish or protect the Secure Channel may have
limits on the number of times that a key can be used without leaking
information about the key.</t>
          </li>
          <li>
            <t>Evidence in a UCCS conveyed in a Secure Channel generally cannot be
used to support trust in the credentials that were used to establish
that secure channel, as this would create a circular dependency.</t>
          </li>
        </ul>
        <t>The Verifier needs to ensure that the management of key material used to
establish or protect the Secure Channel is acceptable. This may include
factors such as:</t>
        <ul spacing="normal">
          <li>
            <t>Ensuring that any permissions associated with key ownership are respected
in the establishment of the Secure Channel.</t>
          </li>
          <li>
            <t>Using cryptographic algorithms appropriately.</t>
          </li>
          <li>
            <t>Using key material in accordance with any usage restrictions such as
freshness or algorithm restrictions.</t>
          </li>
          <li>
            <t>Ensuring that appropriate protections are in place to address potential
traffic analysis attacks.</t>
          </li>
        </ul>
      </section>
      <section anchor="aes-cbcmac">
        <name>AES-CBC_MAC</name>
        <ul spacing="normal">
          <li>
            <t>A given key should only be used for messages of fixed or known length.</t>
          </li>
          <li>
            <t>Different keys should be used for authentication and encryption operations.</t>
          </li>
          <li>
            <t>A mechanism to ensure that IV cannot be modified is required.</t>
          </li>
        </ul>
        <t><xref section="3.2.1" sectionFormat="of" target="RFC9053"/> contains a detailed explanation of these considerations.</t>
      </section>
      <section anchor="aes-gcm">
        <name>AES-GCM</name>
        <ul spacing="normal">
          <li>
            <t>The key and nonce pair is unique for every encrypted message.</t>
          </li>
          <li>
            <t>The maximum number of messages to be encrypted for a given key is not exceeded.</t>
          </li>
        </ul>
        <t><xref section="4.1.1" sectionFormat="of" target="RFC9053"/> contains a detailed explanation of these considerations.</t>
      </section>
      <section anchor="aes-ccm">
        <name>AES-CCM</name>
        <ul spacing="normal">
          <li>
            <t>The key and nonce pair is unique for every encrypted message.</t>
          </li>
          <li>
            <t>The maximum number of messages to be encrypted for a given block cipher is not exceeded.</t>
          </li>
          <li>
            <t>The number of messages both successfully and unsuccessfully decrypted is used to
determine when rekeying is required.</t>
          </li>
        </ul>
        <t><xref section="4.2.1" sectionFormat="of" target="RFC9053"/> contains a detailed explanation of these considerations.</t>
      </section>
      <section anchor="chacha20-and-poly1305">
        <name>ChaCha20 and Poly1305</name>
        <ul spacing="normal">
          <li>
            <t>The nonce is unique for every encrypted message.</t>
          </li>
          <li>
            <t>The number of messages both successfully and unsuccessfully decrypted is used to
determine when rekeying is required.</t>
          </li>
        </ul>
        <t><xref section="4.3.1" sectionFormat="of" target="RFC9053"/> contains a detailed explanation of these considerations.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </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="IANA.cbor-tags" target="http://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </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="RFC9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed:,, and for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </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="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9397">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Architecture</title>
            <author fullname="M. Pei" initials="M." surname="Pei"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="D. Wheeler" initials="D." surname="Wheeler"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>A Trusted Execution Environment (TEE) is an environment that enforces the following: any code within the environment cannot be tampered with, and any data used by such code cannot be read or tampered with by any code outside the environment. This architecture document discusses the motivation for designing and standardizing a protocol for managing the lifecycle of Trusted Applications running inside such a TEE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9397"/>
          <seriesInfo name="DOI" value="10.17487/RFC9397"/>
        </reference>
        <reference anchor="TPM2">
          <front>
            <title>Trusted Platform Module Library Specification, Family “2.0”, Level 00, Revision 01.59 ed., Trusted Computing Group</title>
            <author>
              <organization/>
            </author>
            <date year="2019"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
         </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="15" month="January" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-25"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC8747">
          <front>
            <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8747"/>
          <seriesInfo name="DOI" value="10.17487/RFC8747"/>
        </reference>
        <reference anchor="NIST-SP800-90Ar1">
          <front>
            <title>Recommendation for Random Number Generation Using Deterministic Random Bit Generators</title>
            <author fullname="Elaine B. Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="John M. Kelsey" initials="J." surname="Kelsey">
              <organization/>
            </author>
            <date month="June" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-90ar1"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
      </references>
    </references>
    <?line 409?>

<section anchor="cddl">
      <name>CDDL</name>
      <t>The Concise Data Definition Language (CDDL), as defined in <xref target="RFC8610"/> and
<xref target="RFC9165"/>, provides an easy and unambiguous way to express
structures for protocol messages and data formats that use CBOR or
JSON.</t>
      <t><xref target="RFC8392"/> does not define CDDL for CWT Claims Sets.</t>
      <t>This specification proposes using the definitions in <xref target="fig-claims-set"/>
for the CWT Claims Set defined in <xref target="RFC8392"/>.  Note that these definitions
have been built such that they also can describe <xref target="RFC7519"/> Claims sets by
disabling feature "cbor" and enabling feature "json", but this
flexibility is not the subject of the present specification.</t>
      <figure anchor="fig-claims-set">
        <name>CDDL definition for Claims-Set</name>
        <sourcecode type="cddl"><![CDATA[
UCCS-Untagged = Claims-Set
UCCS-Tagged = #6.601(UCCS-Untagged)

Claims-Set = {
 * $$Claims-Set-Claims
 * Claim-Label .feature "extended-claims-label" => any
}
Claim-Label = CBOR-ONLY<int> / text
string-or-uri = text

$$Claims-Set-Claims //= ( iss-claim-label => string-or-uri )
$$Claims-Set-Claims //= ( sub-claim-label => string-or-uri )
$$Claims-Set-Claims //= ( aud-claim-label => string-or-uri )
$$Claims-Set-Claims //= ( exp-claim-label => ~time )
$$Claims-Set-Claims //= ( nbf-claim-label => ~time )
$$Claims-Set-Claims //= ( iat-claim-label => ~time )
$$Claims-Set-Claims //= ( cti-claim-label => bytes )

iss-claim-label = JC<"iss", 1>
sub-claim-label = JC<"sub", 2>
aud-claim-label = JC<"aud", 3>
exp-claim-label = JC<"exp", 4>
nbf-claim-label = JC<"nbf", 5>
iat-claim-label = JC<"iat", 6>
cti-claim-label = CBOR-ONLY<7>  ; jti in JWT: different name and text

JSON-ONLY<J> = J .feature "json"
CBOR-ONLY<C> = C .feature "cbor"
JC<J,C> = JSON-ONLY<J> / CBOR-ONLY<C>
]]></sourcecode>
      </figure>
      <t>Specifications that define additional Claims should also supply
additions to the $$Claims-Set-Claims socket, e.g.:</t>
      <sourcecode type="cddl" name="uccs-additional-examples.cddl"><![CDATA[
; [RFC8747]
$$Claims-Set-Claims //= ( 8: CWT-cnf ) ; cnf
CWT-cnf = {
  (1: CWT-COSE-Key) //
  (2: CWT-Encrypted_COSE_Key) //
  (3: CWT-kid)
}

CWT-COSE-Key = COSE_Key
CWT-Encrypted_COSE_Key = COSE_Encrypt / COSE_Encrypt0
CWT-kid = bytes

;;; Insert the required CDDL from RFC 9052 to complete these
;;; definitions.  This can be done manually or automated by a
;;; tool that implements an import directive such as:
;# import rfc9052
]]></sourcecode>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t>The example CWT Claims Set from <xref section="A.1" sectionFormat="of" target="RFC8392"/> can be turned into
an UCCS by enclosing it with a tag number TBD601:</t>
      <sourcecode type="cbor-diag"><![CDATA[
 601(
   {
     / iss / 1: "coap://as.example.com",
     / sub / 2: "erikw",
     / aud / 3: "coap://light.example.com",
     / exp / 4: 1444064944,
     / nbf / 5: 1443944944,
     / iat / 6: 1443944944,
     / cti / 7: h'0b71'
   }
 )
]]></sourcecode>
      <!--  LocalWords:  Attester Verifier UCCS decrypted rekeying JWT EATs
 -->
<!--  LocalWords:  Verifier's CWTs Attester Verifier FCFS
 -->

</section>
    <section anchor="json-support">
      <name>JSON Support</name>
      <t>The above definitions, concepts and security considerations all may be applied to define a JSON-encoded Claims-Set.
Such an unsigned Claims-Set can be referred to as a "UJCS", an "Unprotected JWT Claims Set".
The CDDL definition in <xref target="fig-claims-set"/> can be used for a "UJCS".</t>
      <sourcecode type="cddl"><![CDATA[
UJCS = Claims-Set
]]></sourcecode>
    </section>
    <section anchor="eat">
      <name>EAT</name>
      <t>The following CDDL adds UCCS-format and UJCS-format tokens to EAT using its predefined extension points (see Section <xref target="I-D.ietf-rats-eat" section="4.2.18" sectionFormat="bare">submods</xref> of <xref target="I-D.ietf-rats-eat"/>).</t>
      <sourcecode type="cddl"><![CDATA[
$EAT-CBOR-Tagged-Token /= UCCS-Tagged
$EAT-CBOR-Untagged-Token /= UCCS-Untagged

$JSON-Selector /= [type: "UJCS", nested-token: UJCS]
]]></sourcecode>
      <?line 527?>

</section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t><contact fullname="Laurence Lundblade"/> suggested some improvements to the CDDL.
<contact fullname="Carl Wallace"/> provided a very useful review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
