<?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.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-uccs-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <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-07"/>
    <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="2023" month="November" day="27"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 83?>

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

<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>Implementations need to provide sufficient protection for private or
secret key material used to establish or protect the Secure Channel.</li>
          <li>Using a key for more than one algorithm can leak information about the
key and is not recommended.</li>
          <li>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.</li>
          <li>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.</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>Ensuring that any permissions associated with key ownership are respected
in the establishment of the Secure Channel.</li>
          <li>Using cryptographic algorithms appropriately.</li>
          <li>Using key material in accordance with any usage restrictions such as
freshness or algorithm restrictions.</li>
          <li>Ensuring that appropriate protections are in place to address potential
traffic analysis attacks.</li>
        </ul>
      </section>
      <section anchor="aes-cbcmac">
        <name>AES-CBC_MAC</name>
        <ul spacing="normal">
          <li>A given key should only be used for messages of fixed or known length.</li>
          <li>Different keys should be used for authentication and encryption operations.</li>
          <li>A mechanism to ensure that IV cannot be modified is required.</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>The key and nonce pair is unique for every encrypted message.</li>
          <li>The maximum number of messages to be encrypted for a given key is not exceeded.</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>The key and nonce pair is unique for every encrypted message.</li>
          <li>The maximum number of messages to be encrypted for a given block cipher is not exceeded.</li>
          <li>The number of messages both successfully and unsuccessfully decrypted is used to
determine when rekeying is required.</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>The nonce is unique for every encrypted message.</li>
          <li>The number of messages both successfully and unsuccessfully decrypted is used to
determine when rekeying is required.</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>
        <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="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>
        <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">
              <organization>Qualcomm Technologies Inc.</organization>
            </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="14" month="October" year="2023"/>
            <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-22"/>
        </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 407?>

<section anchor="cddl">
      <name>CDDL</name>
      <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 CDDL from RFC9052 to complete these CDDL definitions.
;# include 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 518?>

</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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
1t0kdj5Q/weD9F2UoFEAAA==

-->

</rfc>
