<?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.29 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-msg-wrap-21" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="RATS CMW">RATS Conceptual Messages Wrapper (CMW)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-21"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Independent</organization>
      <address>
        <email>ned.smith.ietf@outlook.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="D." surname="Glaze" fullname="Dionna Glaze">
      <organization>Google LLC</organization>
      <address>
        <email>dionnaglaze@google.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="18"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>evidence</keyword>
    <keyword>attestation results</keyword>
    <keyword>endorsements</keyword>
    <keyword>reference values</keyword>
    <abstract>
      <?line 96?>

<t>The Conceptual Messages introduced by the RATS architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during remote attestation procedures.
Conceptual Messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details.
The initial set of Conceptual Messages is defined in Section 8 of RFC 9334 and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t>This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages.
It defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
      <t>This allows CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts like X.509 certificates.
Additionally, the draft defines a media type and a CoAP content format to transport CMWs over protocols like HTTP, MIME, and CoAP.</t>
      <t>The goal is to improve the interoperability and flexibility of remote attestation protocols.
By introducing a shared message format like the CMW, we can consistently support different attestation message types, evolve message
serialization formats without breaking compatibility, and avoid having to redefine how messages are handled in each protocol.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Remote ATtestation ProcedureS Working Group mailing list (rats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/thomas-fossati/draft-ftbs-rats-msg-wrap"/>.</t>
    </note>
  </front>
  <middle>
    <?line 112?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Conceptual Messages introduced by the Remote ATtestation procedureS (RATS) architecture <xref target="RFC9334"/> are protocol-agnostic data units that are conveyed between RATS roles during remote attestation procedures.
Conceptual Messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details.
The initial set of Conceptual Messages is defined in <xref section="8" sectionFormat="of" target="RFC9334"/> and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t>Each conceptual message can have multiple claims encoding and serialization
formats (<xref section="9" sectionFormat="of" target="RFC9334"/>). Throughout their lifetime, RATS
conceptual messages are typically transported over different protocols.
For example,</t>
      <ul spacing="normal">
        <li>
          <t>In a "background check" topology, Evidence (e.g., EAT <xref target="RFC9711"/>) first flows from
the Attester to the Relying Party and then from the Relying Party to the Verifier,
each leg following a separate protocol path.</t>
        </li>
        <li>
          <t>In a "passport" topology, an attestation result payload (e.g., Attestation Results for Secure Interactions (AR4SI) <xref target="I-D.ietf-rats-ar4si"/>)
is initially sent from the Verifier to the Attester, and later,
via a different channel, from the Attester to the Relying Party.</t>
        </li>
      </ul>
      <t>By using the CMW format outlined in this document, protocol designers can avoid the need
to update protocol specifications to accommodate different conceptual messages and
serialization formats used by various attestation technologies. This approach streamlines
the implementation process for developers, enabling easier support for diverse attestation
technologies. For instance, a Relying Party application implementer does not need to parse
attestation-related messages, such as Evidence from Attesters on IoT devices with Trusted
Platform Modules (TPM) or servers using confidential computing hardware like Intel Trust
Domain Extensions (TDX). Instead, they can leverage the CMW format, remaining agnostic
to the specific attestation technology.</t>
      <t>A further design goal is extensibility.
This means that adding support for new conceptual messages and new attestation technologies should not change the core of the processor, and that a CMW stack can be designed to offer a plug-in interface for both encoding and decoding.
To achieve this, the format must provide consistent message encapsulation and explicit typing.
These features allow for selecting the appropriate message handler based on its type identifier.
An opaque message can then be passed between the core and the handler.</t>
      <t>This document defines two encapsulation formats for RATS conceptual
messages that aim to achieve the goals stated above.</t>
      <t>These encapsulation formats have been specifically designed to possess the following characteristics:</t>
      <ul spacing="normal">
        <li>
          <t>They are self-describing, which means that they can convey precise typing information without relying on the framing provided by the embedding protocol or the storage system.</t>
        </li>
        <li>
          <t>They are based on media types <xref target="RFC6838"/>, which allows the cost of their registration to be spread across numerous usage scenarios.</t>
        </li>
      </ul>
      <t>A protocol designer could use these formats, for example, to convey
Evidence, Endorsements and Reference Values in certificates and CRLs
extensions (<xref target="DICE-arch"/>), to embed Attestation Results or Evidence as
first-class authentication credentials in TLS handshake messages
<xref target="I-D.fossati-tls-attestation"/> <xref target="I-D.fossati-tls-exported-attestation"/>, to transport attestation-related payloads in RESTful APIs,
or for stable storage of Attestation Results in the form of file system
objects.</t>
      <t>This document also defines corresponding CBOR tag, JSON Web Tokens (JWT) and CBOR Web Tokens (CWT) claims, as well as an X.509 extension.
These allow embedding the wrapped conceptual messages into CBOR-based protocols, web APIs, and PKIX formats and protocols.
In addition, a Media Type and a CoAP Content-Format are defined for transporting CMWs in HTTP, MIME, CoAP and other Internet protocols.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <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?>

<t>In this document, CDDL <xref target="RFC8610"/> <xref target="RFC9165"/> is used to describe the
data formats.</t>
      <t>The reader is assumed to be familiar with the vocabulary and concepts
defined in <xref target="RFC9334"/>.</t>
      <t>This document reuses the terms defined in <xref section="2" sectionFormat="of" target="RFC9193"/>
(e.g., "Content-Type").</t>
    </section>
    <section anchor="conceptual-message-wrappers">
      <name>Conceptual Message Wrappers</name>
      <t>A RATS Conceptual Message Wrapper (CMW) has a tree structure.
Leaf nodes are of type "Record" (<xref target="type-n-val"/>), or "Tag" (<xref target="cbor-tag"/>).
Intermediate nodes are of type "Collection" (<xref target="cmw-coll"/>); they hold together multiple CMW items.</t>
      <t>The following snippet outlines the productions associated with the top-level types.</t>
      <sourcecode type="cddl"><![CDATA[
start = cmw

cmw = json-cmw / cbor-cmw

json-cmw = json-record / json-collection
cbor-cmw = cbor-record / cbor-collection / $cbor-tag
]]></sourcecode>
      <t>The complete CDDL can be found in <xref target="collected-cddl"/>.</t>
      <t><xref target="webtokens"/> and <xref target="x509"/> describe the transport of CMWs using CBOR and JSON Web Tokens and PKIX formats, including Certificate Signing Requests (CSRs), X.509 Certificates, and Certificate Revocation Lists (CRLs).</t>
      <t>This document only defines an encapsulation, not a security format.
It is the responsibility of the Attester to ensure that the CMW contents have the necessary security protection.
Security considerations are discussed in <xref target="seccons"/>.</t>
      <section anchor="type-n-val">
        <name>Record CMW</name>
        <t>The format of the Record CMW is shown in <xref target="fig-cddl-record"/>.
The JSON <xref target="STD90"/> and CBOR <xref target="STD94"/> representations are provided separately.
Both the <tt>json-record</tt> and <tt>cbor-record</tt> have the same fields except for slight differences in the types discussed below.</t>
        <figure anchor="fig-cddl-record">
          <name>CDDL definition of the Record CMW</name>
          <artwork type="cddl" align="left"><![CDATA[
json-record = [
  type: media-type
  value: base64url-string
  ? ind: uint .bits cm-type
]

cbor-record = [
  type: coap-content-format-type / media-type
  value: bytes
  ? ind: uint .bits cm-type
]
]]></artwork>
        </figure>
        <t>Each contains two or three members:</t>
        <dl newline="true">
          <dt><tt>type</tt>:</dt>
          <dd>
            <t>Either a text string representing a Content-Type (e.g., an EAT media type
<xref target="RFC9782"/>) or an unsigned integer corresponding to a CoAP Content-Format
ID (<xref section="12.3" sectionFormat="of" target="RFC7252"/>).
The latter is not used in the JSON serialization.</t>
          </dd>
          <dt><tt>value</tt>:</dt>
          <dd>
            <t>The RATS conceptual message serialized according to the
value defined in the type member.
When using JSON, the value field <bcp14>MUST</bcp14> be encoded as Base64 using the URL and
filename safe alphabet (<xref section="5" sectionFormat="of" target="RFC4648"/>) without padding.
This always applies, even if the conceptual message format is already textual (e.g., a JWT EAT).
When using CBOR, the value field <bcp14>MUST</bcp14> be encoded as a CBOR byte string.</t>
          </dd>
          <dt><tt>ind</tt>:</dt>
          <dd>
            <t>An optional bitmap with a maximum size of 4 bytes that indicates which conceptual message types are
carried in the <tt>value</tt> field.  Any combination (i.e., any value between
1 and 2<sup>32</sup>-1 inclusive) is allowed.  Only five bits are registered at the time of writing, so, the acceptable values are currently limited to 1 to 31.  This is useful only if the <tt>type</tt> is
potentially ambiguous and there is no further context available to the
CMW consumer to decide.  For example, this might be the case if the base
media type is not profiled (e.g., <tt>application/eat+cwt</tt>), if the <tt>value</tt>
field contains multiple conceptual messages with different types (e.g.,
both Reference Values and Endorsements within the same <tt>application/rim+cose</tt>), or if the same profile identifier is
shared by different conceptual messages.
The value <bcp14>MUST</bcp14> be non-zero. The absence of conceptual message indicator information is indicated by omitting the <tt>ind</tt> field entirely.
For further details, see <xref target="cm-type"/>.</t>
          </dd>
        </dl>
        <section anchor="cm-type">
          <name>CM Type</name>
          <t>The <tt>cm-type</tt> type is the control type for the <tt>ind</tt> field.
As such, it indicates which bits are allowed to be set in the <tt>ind</tt> byte string.</t>
          <figure anchor="fig-cddl-cm-type">
            <name>CDDL definition of the CM Type</name>
            <artwork type="cddl" align="left"><![CDATA[
cm-type = &(
  reference-values: 0
  endorsements: 1
  evidence: 2
  attestation-results: 3
  appraisal-policy: 4
)
]]></artwork>
          </figure>
          <t>The <tt>cm-type</tt> currently has five allowed values: Reference Values, Endorsements, Evidence, Attestation Results, and Appraisal Policy, as defined in <xref section="8" sectionFormat="of" target="RFC9334"/>.
Note that that an Appraisal Policy may refer to the appraisal of Evidence or Attestation Results, depending on whether the consumer of the conceptual message is a Verifier or a Relying Party.</t>
          <t>Future specifications that extend the RATS Conceptual Messages set can add new values to the <tt>cm-type</tt> using the process defined in <xref target="iana-ind-ext"/>.</t>
        </section>
      </section>
      <section anchor="cbor-tag">
        <name>Tag CMW</name>
        <t>Tag CMWs derive their tag numbers from a corresponding CoAP Content-Format ID using the <tt>TN()</tt> transform defined in <xref section="B" sectionFormat="of" target="RFC9277"/>.
Such CBOR tag numbers are in range [1668546817, 1668612095].</t>
        <t>The RATS conceptual message is first serialized according to the Content-Format ID and then encoded as a CBOR byte string, to which the TN-derived tag number is prepended.</t>
        <t>The Tag CMW is defined in <xref target="fig-cddl-cbor-tag"/> using two different macros.
One for CBOR-encoded types, the other for all other types.
Both macros take the CBOR tag number <tt>tn</tt> as a parameter.
The <tt>tag-cm-cbor</tt> macro takes the CDDL definition of the associated conceptual message <tt>fmt</tt> as a second parameter.</t>
        <figure anchor="fig-cddl-cbor-tag">
          <name>CDDL definition of the Tag CMW macros</name>
          <artwork type="cddl" align="left"><![CDATA[
tag-cm-cbor<tn, fmt> = #6.<tn>(bytes .cbor fmt)

tag-cm-data<tn> = #6.<tn>(bytes)
]]></artwork>
        </figure>
        <section anchor="how-to-plug-in-a-new-tag-cmw">
          <name>How To Plug in a New Tag CMW</name>
          <t>To plug a new Tag CMW into the CDDL defined in <xref target="collected-cddl"/>, the <tt>$cbor-tag</tt> type socket must be extended with a new instance of the Tag CMW macro (i.e., one of <tt>tag-cm-cbor</tt> or <tt>tag-cm-data</tt>).</t>
          <t>For instance, if a conceptual message of type <tt>my-evidence</tt> has a TN-derived CBOR tag <tt>1668576819</tt>, <tt>$cbor-tag</tt> would be extended as follows:</t>
          <sourcecode type="cddl"><![CDATA[
$cbor-tag /= tag-cm-cbor<1668576819, my-evidence>

my-evidence = {
  &(eat_nonce: 10) => bytes .size (8..64)
}
]]></sourcecode>
          <t>Instead, if a (non-CBOR) conceptual message has a TN-derived CBOR tag <tt>1668576935</tt>, <tt>$cbor-tag</tt> would be extended as follows:</t>
          <sourcecode type="cddl"><![CDATA[
$cbor-tag /= tag-cm-data<1668576935>
]]></sourcecode>
          <t>Note that since this specification defines no Tag CMW, the socket is currently empty.</t>
        </section>
      </section>
      <section anchor="cmw-coll">
        <name>Collection CMW</name>
        <t>Layered Attesters and composite devices (Sections <xref target="RFC9334" section="3.2" sectionFormat="bare"/> and <xref target="RFC9334" section="3.3" sectionFormat="bare"/> of <xref target="RFC9334"/>) generate Evidence that consists of multiple parts.
For example, in data center servers, it is not uncommon for separate attesting environments (AE) to serve a subsection of the entire machine.
One AE might measure and attest to what was booted on the main CPU, while another AE might measure and attest to what was booted on a SmartNIC plugged into a PCIe slot, and a third AE might measure and attest to what was booted on the machine's GPU.
To allow aggregation of multiple, potentially non-homogeneous evidence formats collected from different AEs, this document defines a Collection CMW as a container that holds several CMW items, each with a label that is unique within the scope of the Collection.</t>
        <t>Although originally designed to support layered Attester and composite device use cases, the Collection CMW can be adapted for other scenarios that require the aggregation of RATS conceptual messages.
For instance, Collections may be used to group Endorsements, Reference Values, Attestation Results, and more.
A single Collection CMW can contain a mix of different message types, and it can also be used to carry messages related to multiple devices simultaneously.</t>
        <t>The Collection CMW (<xref target="fig-cddl-collection"/>) is defined as a CBOR map or JSON object containing CMW values.
The position of a <tt>cmw</tt> entry in the <tt>cmw-collection</tt> is not significant.
Labels can be strings (or integers in the CBOR serialization) that serve as a mnemonic for different conceptual messages in the Collection.</t>
        <t>A Collection <bcp14>MUST</bcp14> have at least one CMW entry.</t>
        <t>The <tt>"__cmwc_t"</tt> key is reserved for associating an optional type with the overall Collection and <bcp14>MUST NOT</bcp14> be used for any purpose other than described here.</t>
        <t>The value of the <tt>"__cmwc_t"</tt> key is either a Uniform Resource Identifier (URI) or an object identifier (OID).
The OID is always absolute and never relative.
The URI <bcp14>MUST</bcp14> be in the absolute form (<xref section="4.3" sectionFormat="of" target="RFC3986"/>).</t>
        <t>The <tt>"__cmwc_t"</tt> key functions similar to an EAT profile claim (see <xref section="4.3.2" sectionFormat="of" target="RFC9711"/>), but at a higher level.
It can be used to indicate basics like CBOR serialization and COSE algorithms just as a profile in EAT does.
It provides a namespace in which the collection labels are interpreted.
At the higher level, it can be used to describe the allowed CMW collection assembly (this is somewhat parallel to the way EAT profiles indicate which claims are required and/or allowed).
For an example of a <tt>"__cmwc_t"</tt> that is defined for a bundle of endorsements and reference values, see <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-rats-corim"/>.</t>
        <t>Since the Collection CMW is recursive (a Collection CMW is itself a CMW), implementations <bcp14>MAY</bcp14> limit the allowed depth of nesting.</t>
        <figure anchor="fig-cddl-collection">
          <name>CDDL definition of the Collection CMW</name>
          <artwork type="cddl" align="left"><![CDATA[
json-collection = {
  ? "__cmwc_t": ~uri / oid
  + &(label: text) => json-cmw
}

cbor-collection = {
  ? "__cmwc_t": ~uri / oid
  + &(label: (int / text)) => cbor-cmw
}
]]></artwork>
        </figure>
      </section>
      <section anchor="demuxing">
        <name>Demuxing</name>
        <t>The split in the JSON/CBOR decoding path is expected to occur via the media type or content format (see <xref target="iana-mt"/> and <xref target="iana-cf"/>, respectively), or via the container context of the embedded CMW (see <xref target="iana-cwt"/> and <xref target="iana-jwt"/> for CWT/JWT, and <xref target="iana-smi"/> for X.509).</t>
        <t>The following pseudocode illustrates how a one-byte look-ahead is sufficient to determine how to decode the remaining byte buffer.</t>
        <artwork><![CDATA[
func CMWTypeDemux(b []byte) CMWType {
  if len(b) == 0 {
    return Unknown
  }

  switch b[0] {
  case 0x82: // 2-elements cbor-record (w/o ind field)
  case 0x83: // 3-elements cbor-record (w/ ind field)
  case 0x9f: // start of cbor-record using indefinite-length encoding
    return CBORRecord
  case 0xda: // tag-cm-cbor (CBOR Tag in the TN range)
    return CBORTag
  case 0x5b: // ASCII '[', start of json-record
    return JSONRecord
  case 0x7b: // ASCII '{', start of json-collection
    return JSONCollection
  case 0xa0..0xbb: // CBOR map start values, start of cbor-collection
  case 0xbf:       // ditto
    return CBORCollection
  }

  return Unknown
}
]]></artwork>
        <t>This code is provided for informational purposes only.
It is not expected that implementations will follow this demuxing strategy.</t>
      </section>
    </section>
    <section anchor="crypto">
      <name>Cryptographic Protection of CMWs</name>
      <t>This section highlights a number of mechanisms through which protocol designers can add data origin authentication, integrity, and, if used with a challenge-response protocol, anti-replay protection when employing CMWs.
These properties must be evaluated carefully in the context of the overall security model of the protocol.</t>
      <section anchor="signed-cbor-cmw">
        <name>Signing CBOR CMW using COSE Sign1</name>
        <t>A CBOR CMW can be signed using COSE <xref target="STD96"/>.
A <tt>signed-cbor-cmw</tt> is a <tt>COSE_Sign1</tt> with the following layout:</t>
        <sourcecode type="cddl"><![CDATA[
signed-cbor-cmw = [
  protected: bytes .cbor signed-cbor-cmw-protected-hdr
  unprotected: signed-cbor-cmw-unprotected-hdr
  payload: bytes .cbor cbor-cmw
  signature: bytes
]
]]></sourcecode>
        <t>The payload <bcp14>MUST</bcp14> be the CBOR-encoded Tag, Record, or Collection CMW.</t>
        <sourcecode type="cddl"><![CDATA[
signed-cbor-cmw-protected-hdr = {
  1 => int                            ; alg
  3 => "application/cmw+cbor" / 10000 ; cty
  * cose.label => cose.values
}

signed-cbor-cmw-unprotected-hdr = {
  * cose.label => cose.values
}

cose.label = int / text
cose.values = any

; Note: 10000 is a placeholder for the CoAP C-F codepoint corresponding
; to 'application/cmw+cbor'.  This CDDL fragment needs to be updated
; (and this note removed) once the relevant C-F codepoint has been
; assigned by IANA.
]]></sourcecode>
        <t>The protected header <bcp14>MUST</bcp14> include the signature algorithm identifier.
The protected header <bcp14>MUST</bcp14> include either the content type <tt>application/cmw+cbor</tt> or the CoAP Content-Format TBD1.
Other header parameters <bcp14>MAY</bcp14> be added to the header buckets, for example a <tt>kid</tt> that identifies the signing key.</t>
      </section>
      <section anchor="signed-json-cmw">
        <name>Signing JSON CMW using JWS</name>
        <t>A JSON CMW can be signed using JSON Web Signature (JWS) <xref target="RFC7515"/>.
A <tt>signed-json-cmw</tt> is a JWS object with the following layout:</t>
        <sourcecode type="cddl"><![CDATA[
signed-json-cmw = {
  "protected": text .b64u (text .json signed-json-cmw-protected-hdr)
  ? "header": text .b64u (text .json signed-json-cmw-unprotected-hdr)
  "payload": text .b64u (text .json json-cmw)
  "signature": text .b64u bytes
}
]]></sourcecode>
        <t>The payload <bcp14>MUST</bcp14> be the JSON-encoded Record, or Collection CMW.</t>
        <sourcecode type="cddl"><![CDATA[
signed-json-cmw-protected-hdr = {
  "alg": text
  "cty": "application/cmw+json"
  * text => text
}

signed-json-cmw-unprotected-hdr = {
  * text => text
}
]]></sourcecode>
        <t>The protected header <bcp14>MUST</bcp14> include the signature algorithm identifier.
The protected header <bcp14>MUST</bcp14> include the content type <tt>application/cmw+json</tt>.
Other header parameters <bcp14>MAY</bcp14> be added to the header buckets, for example a <tt>kid</tt> that identifies the signing key.</t>
        <t>For clarity, the above uses the Flattened JSON Serialization (<xref section="7.2.2" sectionFormat="of" target="RFC7515"/>).
However, the Compact Serialization (<xref section="3.1" sectionFormat="of" target="RFC7515"/>) can also be used.</t>
      </section>
      <section anchor="webtokens">
        <name>Transporting CMW in COSE and JOSE Web Tokens</name>
        <t>To facilitate the embedding of CMWs in CBOR-based protocols and web APIs, this document defines two <tt>"cmw"</tt> claims for use with JSON Web Tokens (JWT) and CBOR Web Tokens (CWT).</t>
        <t>The definitions for these claims can be found in <xref target="iana-jwt"/> and <xref target="iana-cwt"/>, respectively.</t>
        <section anchor="encoding-requirements">
          <name>Encoding Requirements</name>
          <t>A Collection CMW carried in a <tt>"cmw"</tt> JWT claim <bcp14>MUST</bcp14> be a <tt>json-collection</tt>.
A Collection CMW carried in a <tt>"cmw"</tt> CWT claim <bcp14>MUST</bcp14> be a <tt>cbor-collection</tt>.</t>
          <t>A Record CMW carried in a <tt>"cmw"</tt> JWT claim <bcp14>MUST</bcp14> be a <tt>json-record</tt>.
A Record CMW carried in a <tt>"cmw"</tt> CWT claim <bcp14>MUST</bcp14> be a <tt>cbor-record</tt>.</t>
        </section>
      </section>
      <section anchor="x509">
        <name>Transporting CMW in PKIX Formats</name>
        <t>CMW may need to be transported in PKIX formats, such as Certificate Signing Requests (CSRs) or in X.509 Certificates and Certificate Revocation Lists (CRLs).</t>
        <t>The use of CMW in CSRs is documented in <xref target="I-D.ietf-lamps-csr-attestation"/>, while one of the possible applications in X.509 Certificates and CRLs is detailed in Section 6.1 of <xref target="DICE-arch"/>.</t>
        <t>This section outlines the CMW extension designed to carry CMW objects.
<xref target="privcons"/> discusses some privacy considerations related to the transport of CMW in X.509 formats.</t>
        <t>The CMW extension <bcp14>MAY</bcp14> be included in X.509 Certificates, CRLs <xref target="RFC5280"/>, and CSRs.</t>
        <t>The CMW extension <bcp14>MUST</bcp14> be identified by the following object identifier:</t>
        <sourcecode type="asn.1"><![CDATA[
id-pe-cmw  OBJECT IDENTIFIER ::=
        { iso(1) identified-organization(3) dod(6) internet(1)
          security(5) mechanisms(5) pkix(7) id-pe(1) 35 }
]]></sourcecode>
        <t>This extension <bcp14>SHOULD NOT</bcp14> be marked critical.
In cases where the wrapped Conceptual Message is essential for granting resource access, and there is a risk that legacy relying parties would bypass crucial controls, it is acceptable to mark the extension as critical.</t>
        <t>The CMW extension <bcp14>MUST</bcp14> have the following syntax:</t>
        <sourcecode type="asn.1"><![CDATA[
CMW ::= CHOICE {
    json UTF8String,
    cbor OCTET STRING
}
]]></sourcecode>
        <t>The CMW <bcp14>MUST</bcp14> include the serialized CMW object in either JSON or CBOR format, utilizing the appropriate CHOICE entry.</t>
        <t>The DER-encoded CMW is the value of the OCTET STRING for the extnValue field of the extension.</t>
        <section anchor="asn1-x509">
          <name>ASN.1 Module</name>
          <t>This section provides an ASN.1 module <xref target="X.680"/> for the CMW extension, following the conventions established in <xref target="RFC5912"/> and <xref target="RFC6268"/>.</t>
          <sourcecode type="asn.1"><![CDATA[
CMWExtn
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-cmw-extn(TBD) }

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

IMPORTS
  EXTENSION
  FROM PKIX-CommonTypes-2009  -- RFC 5912
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-pkixCommon-02(57) } ;

-- CMW Extension

ext-CMW EXTENSION ::= {
  SYNTAX CMW
  IDENTIFIED BY id-pe-cmw }

-- CMW Extension OID

id-pe-cmw  OBJECT IDENTIFIER  ::=
   { iso(1) identified-organization(3) dod(6) internet(1)
     security(5) mechanisms(5) pkix(7) id-pe(1) 35 }

-- CMW Extension Syntax

CMW ::= CHOICE {
    json UTF8String,
    cbor OCTET STRING
}

END
]]></sourcecode>
        </section>
        <section anchor="compatibility-with-dice-conceptualmessagewrapper">
          <name>Compatibility with DICE <tt>ConceptualMessageWrapper</tt></name>
          <t>Section 6.1.8 of <xref target="DICE-arch"/> specifies the ConceptualMessageWrapper (CMW) format and its corresponding object identifier.
The CMW format outlined in <xref target="DICE-arch"/> permits only a subset of the CMW grammar defined in this document.
In particular, the Collection format cannot be encoded using DICE CMWs.</t>
        </section>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The (equivalent) examples in <xref target="ex-ja"/>, <xref target="ex-ca"/>, and <xref target="ex-ct"/> assume that
the Media-Type-Name <tt>application/vnd.example.rats-conceptual-msg</tt> has been
registered alongside a corresponding CoAP Content-Format ID <tt>30001</tt>.  The
CBOR tag <tt>1668576935</tt> is derived applying the <tt>TN()</tt> transform as described in
<xref target="cbor-tag"/>.</t>
      <t>All the examples focus on the wrapping aspects.
The wrapped messages are not instances of real Conceptual Messages.</t>
      <section anchor="ex-ja">
        <name>JSON-encoded Record</name>
        <sourcecode type="cbor-diag"><![CDATA[
[
  "application/vnd.example.rats-conceptual-msg",
  "I0faVQ"
]
]]></sourcecode>
      </section>
      <section anchor="ex-ca">
        <name>CBOR-encoded Record</name>
        <sourcecode type="cbor-diag"><![CDATA[
[
  30001,
  h'2347da55'
]
]]></sourcecode>
        <t>with the following wire representation:</t>
        <artwork><![CDATA[
82             # array(2)
   19 7531     # unsigned(30001)
   44          # bytes(4)
      2347da55 # "#G\xDAU"
]]></artwork>
        <t>Note that a Media-Type-Name can also be used with the CBOR-encoded Record form,
for example if it is known that the receiver cannot handle CoAP
Content-Formats, or (unlike the case in point) if a CoAP Content-Format
ID has not been registered.</t>
        <sourcecode type="cbor-diag"><![CDATA[
[
  "application/vnd.example.rats-conceptual-msg",
  h'2347da55'
]
]]></sourcecode>
      </section>
      <section anchor="ex-ct">
        <name>CBOR-encoded Tag CMW</name>
        <sourcecode type="cbor-diag"><![CDATA[
1668576935(h'2347da55')
]]></sourcecode>
        <t>with the following wire representation:</t>
        <artwork><![CDATA[
da 637476a7    # tag(1668576935)
   44          # bytes(4)
      2347da55 # "#G\xDAU"
]]></artwork>
      </section>
      <section anchor="ex-ca-ind">
        <name>CBOR-encoded Record with explicit CM indicator</name>
        <t>This is an example of a signed CoRIM (Concise Reference Integrity Manifest) <xref target="I-D.ietf-rats-corim"/> with an explicit <tt>ind</tt> value of <tt>0b0000_0011</tt> (3), indicating that the wrapped message contains both Reference Values and Endorsements.</t>
        <sourcecode type="cbor-diag"><![CDATA[
[
  "application/rim+cose",
  h'd28440a044d901f5a040',
  3
]
]]></sourcecode>
        <t>with the following wire representation:</t>
        <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

83                                      # array(3)
   74                                   # text(20)
      6170706c69636174696f6e2f72696d2b636f7365 # "application/rim+\
                                                                cose"
   4a                                   # bytes(10)
      d28440a044d901f5a040              # "҄@\xA0D\xD9\u0001\xF5\xA0\
                                                                   @"
   03                                   # unsigned(3)
]]></artwork>
      </section>
      <section anchor="cbor-encoded-collection">
        <name>CBOR-encoded Collection</name>
        <t>The following example is a CBOR-encoded Collection CMW that assembles conceptual messages from three attesters: Evidence for attesters A and B and Attestation Results for attester C.
It is given an explicit <tt>"__cmwc_t"</tt> using the URI form.</t>
        <artwork><![CDATA[
{
  "__cmwc_t": "tag:example.com,2024:composite-attester",
  / attester A / 0: [
    30001,
    h'2347da55',
    4
  ],
  / attester B / 1: 1668576935(h'2347da55'),
  / attester C / 2: [
    "application/eat+jwt",
    h'2e2e2e',
    8
  ]
}
]]></artwork>
      </section>
      <section anchor="json-encoded-collection">
        <name>JSON-encoded Collection</name>
        <t>The following example is a JSON-encoded Collection CMW that assembles Evidence from two attesters.</t>
        <artwork><![CDATA[
{
  "__cmwc_t": "tag:example.com,2024:another-composite-attester",
  "attester A": [
    "application/eat-ucs+json",
    "e30K",
    4
  ],
  "attester B": [
    "application/eat-ucs+cbor",
    "oA",
    4
  ]
}
]]></artwork>
      </section>
      <section anchor="use-in-jwt">
        <name>Use in JWT</name>
        <t>The following example shows the use of the <tt>"cmw"</tt> JWT claim to transport a Collection CMW in a JWT Claims Set <xref target="RFC7519"/>:</t>
        <artwork><![CDATA[
{
  "cmw": {
    "__cmwc_t": "tag:example.com,2024:another-composite-attester",
    "attester A": [
      "application/eat-ucs+json",
      "e30K",
      4
    ],
    "attester B": [
      "application/eat-ucs+cbor",
      "oA",
      4
    ]
  },
  "iss": "evidence collection daemon",
  "exp": 1300819380
}
]]></artwork>
      </section>
    </section>
    <section anchor="collected-cddl">
      <name>Collected CDDL</name>
      <t>This appendix contains all the CDDL definitions included in this specification.</t>
      <sourcecode type="cddl"><![CDATA[
start = cmw

cmw = json-cmw / cbor-cmw

json-cmw = json-record / json-collection
cbor-cmw = cbor-record / cbor-collection / $cbor-tag

json-record = [
  type: media-type
  value: base64url-string
  ? ind: uint .bits cm-type
]

cbor-record = [
  type: coap-content-format-type / media-type
  value: bytes
  ? ind: uint .bits cm-type
]

tag-cm-cbor<tn, fmt> = #6.<tn>(bytes .cbor fmt)

tag-cm-data<tn> = #6.<tn>(bytes)

json-collection = {
  ? "__cmwc_t": ~uri / oid
  + &(label: text) => json-cmw
}

cbor-collection = {
  ? "__cmwc_t": ~uri / oid
  + &(label: (int / text)) => cbor-cmw
}

media-type = text .abnf ("Content-Type" .cat Content-Type-ABNF)
base64url-string = text .regexp "[A-Za-z0-9_-]+"

coap-content-format-type = uint .size 2

oid = text .regexp "([0-2])((\\.0)|(\\.[1-9][0-9]*))*"

cm-type = &(
  reference-values: 0
  endorsements: 1
  evidence: 2
  attestation-results: 3
  appraisal-policy: 4
)

Content-Type-ABNF = '

Content-Type   = Media-Type-Name *( *SP ";" *SP parameter )
parameter      = token "=" ( token / quoted-string )

token          = 1*tchar
tchar          = "!" / "#" / "$" / "%" / "&" / "\'" / "*"
               / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
               / DIGIT / ALPHA
quoted-string  = %x22 *( qdtext / quoted-pair ) %x22
qdtext         = SP / %x21 / %x23-5B / %x5D-7E
quoted-pair    = "\\" ( SP / VCHAR )

Media-Type-Name = type-name "/" subtype-name

type-name = restricted-name
subtype-name = restricted-name

restricted-name = restricted-name-first *126restricted-name-chars
restricted-name-first  = ALPHA / DIGIT
restricted-name-chars  = ALPHA / DIGIT / "!" / "#" /
                         "$" / "&" / "-" / "^" / "_"
restricted-name-chars =/ "." ; Characters before first dot always
                             ; specify a facet name
restricted-name-chars =/ "+" ; Characters after last plus always
                             ; specify a structured syntax suffix

DIGIT     =  %x30-39           ; 0 - 9
POS-DIGIT =  %x31-39           ; 1 - 9
ALPHA     =  %x41-5A / %x61-7A ; A - Z / a - z
SP        =  %x20
VCHAR     =  %x21-7E           ; printable ASCII (no SP)
'

signed-cbor-cmw = [
  protected: bytes .cbor signed-cbor-cmw-protected-hdr
  unprotected: signed-cbor-cmw-unprotected-hdr
  payload: bytes .cbor cbor-cmw
  signature: bytes
]

signed-cbor-cmw-protected-hdr = {
  1 => int                            ; alg
  3 => "application/cmw+cbor" / 10000 ; cty
  * cose.label => cose.values
}

signed-cbor-cmw-unprotected-hdr = {
  * cose.label => cose.values
}

cose.label = int / text
cose.values = any


signed-json-cmw = {
  "protected": text .b64u (text .json signed-json-cmw-protected-hdr)
  ? "header": text .b64u (text .json signed-json-cmw-unprotected-hdr)
  "payload": text .b64u (text .json json-cmw)
  "signature": text .b64u bytes
}

signed-json-cmw-protected-hdr = {
  "alg": text
  "cty": "application/cmw+json"
  * text => text
}

signed-json-cmw-unprotected-hdr = {
  * text => text
}

]]></sourcecode>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t><cref anchor="rfced">RFC Editor:</cref> Please remove the entire section before publication, as well as the reference to RFC 7942.</t>
      <t>This section records the status of known implementations of the protocol
defined by this specification at the time of posting of this Internet-Draft,
and is based on a proposal described in <xref target="RFC7942"/>.
The description of implementations in this section is intended to assist the
IETF in its decision processes in progressing drafts to RFCs.
Please note that the listing of any individual implementation here does not
imply endorsement by the IETF.
Furthermore, no effort has been spent to verify the information presented here
that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a catalog of
available implementations or their features.
Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to
assign due consideration to documents that have the benefit of running code,
which may serve as evidence of valuable experimentation and feedback that have
made the implemented protocols more mature.
It is up to the individual working groups to use this information as they see
fit".</t>
      <section anchor="project-veraison">
        <name>Project Veraison</name>
        <t>The organization responsible for these implementations is Project Veraison, a
Linux Foundation project hosted at the Confidential Computing Consortium.</t>
        <t>The organisation hosts two libraries which allow encoding, decoding, and
manipulation of CMW payloads: one for the Golang ecosystem
(<eref target="https://github.com/veraison/cmw"/>), and one for Rust
(<eref target="https://github.com/veraison/rust-cmw"/>).
These implementations cover all the features presented in this draft.
The maturity level is alpha.
The license is Apache 2.0.
The developers can be contacted on the Zulip channel:
<eref target="https://veraison.zulipchat.com/#narrow/stream/383526-CMW/"/>.</t>
      </section>
    </section>
    <section anchor="privcons">
      <name>Privacy Considerations</name>
      <t>The privacy considerations outlined in <xref section="11" sectionFormat="of" target="RFC9334"/> are fully applicable.
In particular, when a CMW contains Personally Identifying Information (PII), which is the case for Evidence and sometimes for other conceptual messages as well, care must be taken to prevent unintended recipients from accessing it.
Generally, utilizing secure channels between the parties exchanging CMWs can help address or mitigate these concerns.
A specific scenario arises when a public key certificate is issued based on Evidence information provided by the certificate requestor to the issuing Certification Authority (CA).
For instance, an individual seeking a publicly-trusted code signing certificate may be willing to disclose the details of the hardware where their code signing keys are stored (e.g., HSM model, patch level, etc.).
However, they likely do not want this information to be publicly accessible.
Applications that intend to publicly "broadcast" Evidence claims received from a third party via X.509 Certificates should define a Certificate Practices Statement <xref target="RFC3647"/> that clearly specifies the circumstances under which the CA can include such data in the issued certificate.
Note that the aforementioned consideration does not apply to cases where X.509 Certificates are explicitly designed as a security envelope for Evidence claims, such as in DICE <xref target="DICE-arch"/>.</t>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>The security considerations discussed in <xref section="12.2" sectionFormat="of" target="RFC9334"/> concerning the protection of conceptual messages are fully applicable.
The following subsections provide further elaboration on these points, particularly in relation to Collection CMWs.</t>
      <section anchor="cmw-protection">
        <name>CMW Protection</name>
        <t>CMW Records, Tags, and Collections alone do not offer authenticity, integrity protection, or confidentiality.
It is the responsibility of the designer for each use case to determine the necessary security properties and implement them accordingly.</t>
        <t>RATS conceptual messages are typically secured using cryptography.
If the messages are already protected, no additional security requirements are imposed by this encapsulation.
If an adversary attempts to modify the payload encapsulation, it will result in incorrect processing of the encapsulated message, leading to an error.
If the messages are not protected, additional security must be added at a different layer.
For example, a <tt>cbor-record</tt> containing an Unprotected CWT Claims Set (UCCS) <xref target="RFC9781"/> can be signed as described in <xref target="signed-cbor-cmw"/>.</t>
        <t><xref target="crypto"/> describes a number of methods that can be used to add cryptographic protection to CMW.</t>
      </section>
      <section anchor="seccons-coll">
        <name>Using Collection CMWs for Evidence of Composite or Layered Devices</name>
        <t>When a Collection CMW is used to encapsulate Evidence for composite or layered attestation of a single device, all Evidence messages within the CMW <bcp14>MUST</bcp14> be cryptographically bound together to prevent an attacker from replacing Evidence from a compromised device with that from a non-compromised device.
If the Collection CMW is not protected from tampering by external security measures (such as object security primitives) or internal mechanisms (such as intra-item binding), an attacker could manipulate the Collection's contents to deceive the Verifier into accepting bogus Evidence as genuine.</t>
        <t>Authenticity and integrity protection is expected to be provided by the underlying attestation technology.
For example, key material used to sign/bind an entire Collection CMW should be an attestation key, handled as described in <xref section="12.1" sectionFormat="of" target="RFC9334"/>.
The binding does not necessarily have to be a signature over the Collection CMW, it might also be achieved through identifiers, linking claims (e.g., nonces) across CMW collection items, signing or hashing between the members of the Collection.
It is the responsibility of the Attester who creates the Collection CMW to ensure that the contents of the Collection are integrity-protected.</t>
      </section>
      <section anchor="integrating-cmw-into-protocols">
        <name>Integrating CMW into Protocols</name>
        <t>When CMW is integrated into some hosting protocol (for example, attested CSR <xref target="I-D.ietf-lamps-csr-attestation"/> or attested TLS <xref target="I-D.fossati-tls-attestation"/> <xref target="I-D.fossati-tls-exported-attestation"/>), it is up to that hosting protocol to describe how CMW is intended to be used and how it fits into the overall security model.</t>
        <t>Such an analysis should consider the types of conceptual messages allowed, including the permitted combinations, the protection requirements, the interface with the hosting protocol, and any other security-relevant aspect arising from the interaction between the CMW assembly and the hosting protocol.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="rfced_1">RFC Editor:</cref> Please replace "RFCthis" with the RFC number assigned to this document.</t>
      <t><cref anchor="rfced_2">RFC Editor:</cref> This document uses the CPA (code point allocation) convention described in <xref target="I-D.bormann-cbor-draft-numbers"/>. For each usage of the term "CPA", please remove the prefix "CPA" from the indicated value and replace the residue with the value assigned by IANA; perform an analogous substitution for all other occurrences of the prefix "CPA" in the document. Finally, please remove this note.</t>
      <section anchor="iana-cwt">
        <name>CWT <tt>cmw</tt> Claim Registration</name>
        <t>IANA is requested to add a new <tt>cmw</tt> claim to the "CBOR Web Token (CWT) Claims" registry <xref target="IANA.cwt"/> as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: cmw</t>
          </li>
          <li>
            <t>Claim Description: A RATS Conceptual Message Wrapper</t>
          </li>
          <li>
            <t>JWT Claim Name: cmw</t>
          </li>
          <li>
            <t>Claim Key: CPA299</t>
          </li>
          <li>
            <t>Claim Value Type(s): CBOR map, CBOR array, or CBOR tag</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="type-n-val"/>, <xref target="cmw-coll"/> and <xref target="cbor-tag"/> of RFCthis</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-jwt">
        <name>JWT <tt>cmw</tt> Claim Registration</name>
        <t>IANA is requested to add a new <tt>cmw</tt> claim to the "JSON Web Token Claims" registry of the "JSON Web Token (JWT)" registry group <xref target="IANA.jwt"/> as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: cmw</t>
          </li>
          <li>
            <t>Claim Description: A RATS Conceptual Message Wrapper</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="type-n-val"/> and <xref target="cmw-coll"/> of RFCthis</t>
          </li>
        </ul>
      </section>
      <section anchor="jws-structured-syntax-suffix">
        <name><tt>+jws</tt> Structured Syntax Suffix</name>
        <t>IANA is requested to register the <tt>+jws</tt> structured syntax suffix in the "Structured Syntax Suffixes" registry <xref target="IANA.media-type-structured-suffix"/> in the manner described in <xref target="RFC6838"/>, which can be used to indicate that the media type is encoded as JSON Web Signature (JWS) <xref target="RFC7515"/>.</t>
        <section anchor="registry-contents">
          <name>Registry Contents</name>
          <dl spacing="compact">
            <dt>Name:</dt>
            <dd>
              <t>JSON Web Signature (JWS)</t>
            </dd>
            <dt>+suffix:</dt>
            <dd>
              <t>+jws</t>
            </dd>
            <dt>References:</dt>
            <dd>
              <t><xref target="RFC7515"/></t>
            </dd>
            <dt>Encoding Considerations:</dt>
            <dd>
              <t>binary; values are represented as a JSON Object or as a series of base64url-encoded values each separated from the next by a single period ('.') character.</t>
            </dd>
            <dt>Interoperability Considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Fragment Identifier Considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Security Considerations:</dt>
            <dd>
              <t>See <xref section="10" sectionFormat="of" target="RFC7515"/></t>
            </dd>
            <dt>Contact:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org), or IETF Security Area (saag@ietf.org)</t>
            </dd>
            <dt>Author/Change Controller:</dt>
            <dd>
              <t>Remote ATtestation ProcedureS (RATS) Working Group.
The IETF has change control over this registration.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-ind-ext">
        <name>RATS Conceptual Message Wrapper (CMW) Indicators Registry</name>
        <t>This specification defines a new "RATS Conceptual Message Wrapper (CMW) Indicators" registry, with "IETF Review" policy (<xref section="4.8" sectionFormat="of" target="BCP26"/>).</t>
        <t>The objective is to register CMW Indicator values for all RATS Conceptual Messages (see <xref section="8" sectionFormat="of" target="RFC9334"/>).</t>
        <t>This registry is to be added to the Remote Attestation Procedures (RATS) registry group at <xref target="IANA.rats"/>.</t>
        <t>Indicator values should be added in ascending order, with no gaps between them.</t>
        <t>Acceptable values correspond to the RATS conceptual messages defined by the RATS architecture <xref target="RFC9334"/> and any updates to it.</t>
        <section anchor="structure-of-entries">
          <name>Structure of Entries</name>
          <t>Each entry in the registry must include:</t>
          <dl newline="true">
            <dt>Indicator value:</dt>
            <dd>
              <t>A number corresponding to the bit position in the <tt>ind</tt> bitmap (<xref target="type-n-val"/>).</t>
            </dd>
            <dt>Conceptual Message name:</dt>
            <dd>
              <t>A text string describing the RATS conceptual message this indicator corresponds to.</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>A reference to a document, if available, or the registrant.</t>
            </dd>
          </dl>
          <t>The initial registrations for the registry are detailed in <xref target="tab-ind-regs"/>.</t>
          <table anchor="tab-ind-regs">
            <name>CMW Indicators Registry Initial Contents</name>
            <thead>
              <tr>
                <th align="left">Indicator value</th>
                <th align="left">Conceptual Message name</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">Reference Values</td>
                <td align="left">
                  <xref target="cm-type"/> of RFCthis</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">Endorsements</td>
                <td align="left">
                  <xref target="cm-type"/> of RFCthis</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">Evidence</td>
                <td align="left">
                  <xref target="cm-type"/> of RFCthis</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">Attestation Results</td>
                <td align="left">
                  <xref target="cm-type"/> of RFCthis</td>
              </tr>
              <tr>
                <td align="left">4</td>
                <td align="left">Appraisal Policy</td>
                <td align="left">
                  <xref target="cm-type"/> of RFCthis</td>
              </tr>
              <tr>
                <td align="left">5-31</td>
                <td align="left">Unassigned</td>
                <td align="left"> </td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="provisional-registration">
          <name>Provisional Registration</name>
          <t><cref anchor="rfced_3">RFC Editor:</cref> Please remove this section before publication, as well as the reference to the provisional CMW Indicators registry.</t>
          <t>Before the creation of the registry by IANA, new codepoints can be added to the <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-msg-wrap/blob/main/provisional/cmw-indicators-registry.md">provisional CMW Indicators registry</eref> by following the documented procedure.</t>
          <t><xref target="tab-ind-regs"/> will be regularly updated, prior to publication of this specification as an RFC, to match the contents of the provisional registry.</t>
          <t>The provisional registry will be discontinued once IANA establishes the permanent registry, which is expected to coincide with the publication of the current document.</t>
        </section>
      </section>
      <section anchor="iana-mt">
        <name>Media Types</name>
        <t>IANA is requested to add the following media types to the "Media Types" registry <xref target="IANA.media-types"/>.</t>
        <table anchor="tab-mt-regs">
          <name>CMW Media Types</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Template</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>cmw+cbor</tt></td>
              <td align="left">
                <tt>application/cmw+cbor</tt></td>
              <td align="left">
                <xref target="type-n-val"/>, <xref target="cbor-tag"/> and <xref target="cmw-coll"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">
                <tt>cmw+json</tt></td>
              <td align="left">
                <tt>application/cmw+json</tt></td>
              <td align="left">
                <xref target="type-n-val"/> and <xref target="cmw-coll"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">
                <tt>cmw+cose</tt></td>
              <td align="left">
                <tt>application/cmw+cose</tt></td>
              <td align="left">
                <xref target="signed-cbor-cmw"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">
                <tt>cmw+jws</tt></td>
              <td align="left">
                <tt>application/cmw+jws</tt></td>
              <td align="left">
                <xref target="signed-json-cmw"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
        <section anchor="applicationcmwcbor">
          <name><tt>application/cmw+cbor</tt></name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>cmw+cbor</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMW that are not Collections.)</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary (CBOR)</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="seccons"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers are as specified for "application/cbor". (No fragment identification syntax is currently defined for "application/cbor".)</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration:</dt>
            <dd>
              <t>no</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationcmwjson">
          <name><tt>application/cmw+json</tt></name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>cmw+json</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMW that are not Collections.)</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary (JSON is UTF-8-encoded text)</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="seccons"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers are as specified for "application/json". (No fragment identification syntax is currently defined for "application/json".)</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration:</dt>
            <dd>
              <t>no</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationcmwcose">
          <name><tt>application/cmw+cose</tt></name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>cmw+cose</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMW that are not Collections.)  Note that the <tt>cose-type</tt> parameter is explicitly not supported, as it is understood to be <tt>"cose-sign1"</tt>.</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary (CBOR)</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="seccons"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration:</dt>
            <dd>
              <t>no</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationcmwjws">
          <name><tt>application/cmw+jws</tt></name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>cmw+jws</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMW that are not Collections.)</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>8bit; values are represented as a JSON Object or as a series of base64url-encoded values each separated from the next by a single period ('.') character.</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="seccons"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration:</dt>
            <dd>
              <t>no</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-cf">
        <name>CoAP Content-Formats</name>
        <t>IANA is requested to register the following Content-Format IDs in the "CoAP Content-Formats" registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry group <xref target="IANA.core-parameters"/>:</t>
        <table align="left" anchor="tab-cf-regs">
          <name>New CoAP Content Formats</name>
          <thead>
            <tr>
              <th align="left">Content-Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cmw+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD1</td>
              <td align="left">
                <xref target="type-n-val"/>, <xref target="cbor-tag"/> and <xref target="cmw-coll"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cmw+json</td>
              <td align="left">-</td>
              <td align="left">TBD2</td>
              <td align="left">
                <xref target="type-n-val"/> and <xref target="cmw-coll"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cmw+cose</td>
              <td align="left">-</td>
              <td align="left">TBD3</td>
              <td align="left">
                <xref target="signed-cbor-cmw"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cmw+jws</td>
              <td align="left">-</td>
              <td align="left">TBD4</td>
              <td align="left">
                <xref target="signed-json-cmw"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
        <t>If possible, TBD1, TBD2, TBD3 and TBD4 should be assigned in the 256..9999 range.</t>
        <section anchor="registering-new-coap-content-formats-for-parameterized-cmw-media-types">
          <name>Registering new CoAP Content-Formats for Parameterized CMW Media Types</name>
          <t>New CoAP Content-Formats can be created based on parameterized instances of the <tt>application/cmw+json</tt>, <tt>application/cmw+cbor</tt>, <tt>application/cmw+cose</tt> and <tt>application/cmw+jws</tt> media types.</t>
          <t>When assigning a new CoAP Content-Format ID for a CMW media type that utilizes the <tt>cmwc_t</tt> parameter, the registrar must check (directly or through the Designated Expert) that:</t>
          <ul spacing="normal">
            <li>
              <t>The corresponding CMW is a Collection (<xref target="cmw-coll"/>), and</t>
            </li>
            <li>
              <t>The <tt>cmwc_t</tt> value is either a (non-relative) OID or an absolute URI.</t>
            </li>
          </ul>
        </section>
        <section anchor="rfc9277-cbor-tags">
          <name>RFC9277 CBOR Tags</name>
          <t><cref anchor="rfced_4">RFC Editor:</cref> Once IANA has allocated TBD1..TBD4, please replace the placeholders in the first column of <xref target="tab-9277-tags"/> with the values computed using the TN() formula in <xref section="B" sectionFormat="of" target="RFC9277"/>.  Similarly, replace the macro parameters in <xref target="fig-9277-tags"/>.</t>
          <t>Registering the CoAP Content-Formats listed in <xref target="tab-cf-regs"/> automatically allocates CBOR Tags in the range [1668546817, 1668612095], using the <tt>TN()</tt> transform defined in <xref section="B" sectionFormat="of" target="RFC9277"/>.
The allocated CBOR Tag numbers and the corresponding data items are listed in <xref target="tab-9277-tags"/>.</t>
          <table align="left" anchor="tab-9277-tags">
            <name>TN-derived CBOR Tags</name>
            <thead>
              <tr>
                <th align="left">Tag Number</th>
                <th align="left">Tag Content</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TN(TBD1)</td>
                <td align="left">
                  <tt>bytes .cbor cbor-cmw</tt></td>
              </tr>
              <tr>
                <td align="left">TN(TBD2)</td>
                <td align="left">bytes-wrapped <tt>json-cmw</tt></td>
              </tr>
              <tr>
                <td align="left">TN(TBD3)</td>
                <td align="left">
                  <tt>bytes .cbor signed-cbor-cmw</tt></td>
              </tr>
              <tr>
                <td align="left">TN(TBD4)</td>
                <td align="left">bytes-wrapped <tt>signed-json-cmw</tt> or equivalent using JWS Compact Serialization (<xref section="3.1" sectionFormat="of" target="RFC7515"/>)</td>
              </tr>
            </tbody>
          </table>
          <t><xref target="fig-9277-tags"/> extends the <tt>$cbor-tag</tt> socket defined in <xref target="cbor-tag"/> to add the definitions of the associated Tag CMWs.
Note that CMWs in Tag and Record form are excluded from the productions.
This is because they can already be represented as a CMW, so the extra wrapping would be redundant.</t>
          <figure anchor="fig-9277-tags">
            <name>Tag CMW definitions</name>
            <sourcecode type="cddl"><![CDATA[
$cbor-tag /= tag-cm-cbor<1668547091, cbor-collection>
$cbor-tag /= tag-cm-cbor<1668547092, signed-cbor-cmw>
$cbor-tag /= tag-cm-data<1668547093> ; bytes(cmw+json collection)
$cbor-tag /= tag-cm-data<1668547094> ; bytes(cmw+jws)
]]></sourcecode>
          </figure>
        </section>
      </section>
      <section anchor="iana-smi">
        <name>New SMI Numbers Registrations</name>
        <t>IANA has assigned an object identifier (OID) for the CMW extension defined in <xref target="x509"/> in the "SMI Security for PKIX Certificate Extension" registry of the "SMI Numbers" <xref target="IANA.smi-numbers"/> registry group as follows:</t>
        <table align="left">
          <name>New CMW Extension OID</name>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">35</td>
              <td align="left">id-pe-cmw</td>
              <td align="left">
                <xref target="x509"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to assign an object identifier (OID) for the ASN.1 Module defined in <xref target="asn1-x509"/> in the "SMI Security for PKIX Module Identifier" registry of the "SMI Numbers" <xref target="IANA.smi-numbers"/> registry group:</t>
        <table align="left">
          <name>New ASN.1 Module OID</name>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">id-mod-cmw-extn</td>
              <td align="left">
                <xref target="asn1-x509"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </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="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</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 Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </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="STD90">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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:.plus,.cat, and.det for the construction of constants;.abnf/.abnfb for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and.feature 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="RFC9277">
          <front>
            <title>On Stable Storage for Items in Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document defines a stored ("file") format for Concise Binary Object Representation (CBOR) data items that is friendly to common systems that recognize file types, such as the Unix file(1) command.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9277"/>
          <seriesInfo name="DOI" value="10.17487/RFC9277"/>
        </reference>
        <reference anchor="STD94">
          <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="IANA.cwt" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.jwt" target="https://www.iana.org/assignments/jwt">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="BCP26">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="X.680">
          <front>
            <title>Specification of Abstract Syntax Notation One (ASN.1): Specification of Basic Notation</title>
            <author>
              <organization>International Telephone and Telegraph
Consultative Committee</organization>
            </author>
            <date month="July" year="1994"/>
          </front>
          <seriesInfo name="CCITT" value="Recommendation X.680"/>
        </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>
        <reference anchor="IANA.media-type-structured-suffix" target="https://www.iana.org/assignments/media-type-structured-suffix">
          <front>
            <title>Structured Syntax Suffixes</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.rats" target="https://www.iana.org/assignments/rats">
          <front>
            <title>Remote Attestation Procedures (RATS)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.smi-numbers" target="https://www.iana.org/assignments/smi-numbers">
          <front>
            <title>Structure of Management Information (SMI) Numbers (MIB Module Registrations)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3647">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework</title>
            <author fullname="S. Chokhani" initials="S." surname="Chokhani"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="R. Sabett" initials="R." surname="Sabett"/>
            <author fullname="C. Merrill" initials="C." surname="Merrill"/>
            <author fullname="S. Wu" initials="S." surname="Wu"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents a framework to assist the writers of certificate policies or certification practice statements for participants within public key infrastructures, such as certification authorities, policy authorities, and communities of interest that wish to rely on certificates. In particular, the framework provides a comprehensive list of topics that potentially (at the writer's discretion) need to be covered in a certificate policy or a certification practice statement. This document supersedes RFC 2527.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3647"/>
          <seriesInfo name="DOI" value="10.17487/RFC3647"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="RFC6268">
          <front>
            <title>Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates some auxiliary ASN.1 modules to conform to the 2008 version of ASN.1; the 1988 ASN.1 modules remain the normative version. There are no bits- on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6268"/>
          <seriesInfo name="DOI" value="10.17487/RFC6268"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC9193">
          <front>
            <title>Sensor Measurement Lists (SenML) Fields for Indicating Data Value Content-Format</title>
            <author fullname="A. Keränen" initials="A." surname="Keränen"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Sensor Measurement Lists (SenML) media types support multiple types of values, from numbers to text strings and arbitrary binary Data Values. In order to facilitate processing of binary Data Values, this document specifies a pair of new SenML fields for indicating the content format of those binary Data Values, i.e., their Internet media type, including parameters as well as any content codings applied.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9193"/>
          <seriesInfo name="DOI" value="10.17487/RFC9193"/>
        </reference>
        <reference anchor="STD96">
          <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="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="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (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.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="RFC9782">
          <front>
            <title>Entity Attestation Token (EAT) Media Types</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>The payloads used in Remote ATtestation procedureS (RATS) may require an associated media type for their conveyance, for example, when the payloads are used in RESTful APIs.</t>
              <t>This memo defines media types to be used for Entity Attestation Tokens (EATs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9782"/>
          <seriesInfo name="DOI" value="10.17487/RFC9782"/>
        </reference>
        <reference anchor="I-D.ietf-rats-ar4si">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="15" month="August" year="2025"/>
            <abstract>
              <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-09"/>
        </reference>
        <reference anchor="RFC9781">
          <front>
            <title>A Concise Binary Object Representation (CBOR) Tag for Unprotected CBOR Web Token Claims Sets (UCCS)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="N. Cam-Winget" initials="N." surname="Cam-Winget"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>This document defines the Unprotected CWT Claims Set (UCCS), a data format for representing a CBOR Web Token (CWT) Claims Set without protecting it by a signature, Message Authentication Code (MAC), or encryption. UCCS enables the use of CWT claims in environments where protection is provided by other means, such as secure communication channels or trusted execution environments. This specification defines a CBOR tag for UCCS and describes the UCCS format, its encoding, and its processing considerations. It also discusses security implications of using unprotected claims sets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9781"/>
          <seriesInfo name="DOI" value="10.17487/RFC9781"/>
        </reference>
        <reference anchor="I-D.fossati-tls-attestation">
          <front>
            <title>Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Paul Howard" initials="P." surname="Howard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Arto Niemi" initials="A." surname="Niemi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="30" month="April" year="2025"/>
            <abstract>
              <t>   The TLS handshake protocol allows authentication of one or both peers
   using static, long-term credentials.  In some cases, it is also
   desirable to ensure that the peer runtime environment is in a secure
   state.  Such an assurance can be achieved using attestation which is
   a process by which an entity produces evidence about itself that
   another party can use to appraise whether that entity is found in a
   secure state.  This document describes a series of protocol
   extensions to the TLS 1.3 handshake that enables the binding of the
   TLS authentication key to a remote attestation session.  This enables
   an entity capable of producing attestation evidence, such as a
   confidential workload running in a Trusted Execution Environment
   (TEE), or an IoT device that is trying to authenticate itself to a
   network access point, to present a more comprehensive set of security
   metrics to its peer.  These extensions have been designed to allow
   the peers to use any attestation technology, in any remote
   attestation topology, and mutually.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-attestation-09"/>
        </reference>
        <reference anchor="I-D.fossati-tls-exported-attestation">
          <front>
            <title>Remote Attestation with Exported Authenticators</title>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Muhammad Usama Sardar" initials="M. U." surname="Sardar">
              <organization>TU Dresden</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <date day="3" month="July" year="2025"/>
            <abstract>
              <t>   This specification defines a method for two parties in a
   communication interaction to exchange Evidence and Attestation
   Results using exported authenticators, as defined in RFC 9261.
   Additionally, it introduces the cmw_attestation extension, which
   allows attestation credentials to be included directly in the
   Certificate message sent during the Exported Authenticator-based
   post-handshake authentication.  The approach supports both the
   passport and background check models from the RATS architecture while
   ensuring that attestation remains bound to the underlying
   communication channel.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-exported-attestation-02"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-csr-attestation">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <date day="5" month="October" year="2025"/>
            <abstract>
              <t>   A PKI end entity requesting a certificate from a Certification
   Authority (CA) may wish to offer trustworthy claims about the
   platform generating the certification request and the environment
   associated with the corresponding private key, such as whether the
   private key resides on a hardware security module.

   This specification defines an attribute and an extension that allow
   for conveyance of RATS conceptual messages (see Section 8 of
   [RFC9334], such as Evidence, Endorsements and Attestation Results, in
   Certificate Signing Requests (CSRs), such as PKCS#10 or Certificate
   Request Message Format (CRMF) payloads.  This provides an elegant and
   automatable mechanism for transporting attestation data to a
   Certification Authority.

   Including Evidence, Endorsements and Attestation Results along with a
   CSR can help to improve the assessment of the security posture for
   the private key, and can help the Certification Authority to assess
   whether it satisfies the requested certificate profile.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-21"/>
        </reference>
        <reference anchor="I-D.ietf-rats-corim">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-09"/>
        </reference>
        <reference anchor="DICE-arch" target="https://trustedcomputinggroup.org/wp-content/uploads/DICE-Attestation-Architecture-Version-1.1-Revision-18_pub.pdf">
          <front>
            <title>DICE Attestation Architecture</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="I-D.bormann-cbor-draft-numbers">
          <front>
            <title>Managing CBOR codepoints in Internet-Drafts</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   CBOR-based protocols often make use of numbers allocated in a
   registry.  During development of the protocols, those numbers may not
   yet be available.  This impedes the generation of data models and
   examples that actually can be used by tools.

   This short draft proposes a common way to handle these situations,
   without any changes to existing tools.  Also, in conjunction with the
   application-oriented EDN literal e'', a further reduction in
   editorial processing of CBOR examples around the time of approval can
   be achieved.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-06"/>
        </reference>
      </references>
    </references>
    <?line 1349?>

<section anchor="registering-and-using-cmws">
      <name>Registering and Using CMWs</name>
      <t><xref target="fig-howto-cmw"/> describes the registration preconditions for using
CMWs in either Record CMW or Tag CMW forms.
When using Collection CMW, the preconditions apply for each entry in the Collection.</t>
      <figure anchor="fig-howto-cmw">
        <name>How To Create a CMW</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="344" viewBox="0 0 344 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 40,48 L 40,80" fill="none" stroke="black"/>
              <path d="M 56,176 L 56,424" fill="none" stroke="black"/>
              <path d="M 80,96 L 80,152" fill="none" stroke="black"/>
              <path d="M 80,168 L 80,424" fill="none" stroke="black"/>
              <path d="M 96,144 L 96,176" fill="none" stroke="black"/>
              <path d="M 104,256 L 104,288" fill="none" stroke="black"/>
              <path d="M 120,96 L 120,144" fill="none" stroke="black"/>
              <path d="M 168,192 L 168,232" fill="none" stroke="black"/>
              <path d="M 168,304 L 168,376" fill="none" stroke="black"/>
              <path d="M 184,48 L 184,80" fill="none" stroke="black"/>
              <path d="M 200,48 L 200,80" fill="none" stroke="black"/>
              <path d="M 224,96 L 224,144" fill="none" stroke="black"/>
              <path d="M 240,256 L 240,288" fill="none" stroke="black"/>
              <path d="M 248,144 L 248,176" fill="none" stroke="black"/>
              <path d="M 264,96 L 264,152" fill="none" stroke="black"/>
              <path d="M 264,168 L 264,424" fill="none" stroke="black"/>
              <path d="M 288,176 L 288,424" fill="none" stroke="black"/>
              <path d="M 296,48 L 296,80" fill="none" stroke="black"/>
              <path d="M 56,32 L 168,32" fill="none" stroke="black"/>
              <path d="M 216,32 L 280,32" fill="none" stroke="black"/>
              <path d="M 56,96 L 168,96" fill="none" stroke="black"/>
              <path d="M 216,96 L 280,96" fill="none" stroke="black"/>
              <path d="M 112,128 L 232,128" fill="none" stroke="black"/>
              <path d="M 72,160 L 104,160" fill="none" stroke="black"/>
              <path d="M 240,160 L 272,160" fill="none" stroke="black"/>
              <path d="M 112,192 L 232,192" fill="none" stroke="black"/>
              <path d="M 120,240 L 224,240" fill="none" stroke="black"/>
              <path d="M 120,304 L 224,304" fill="none" stroke="black"/>
              <path d="M 112,384 L 248,384" fill="none" stroke="black"/>
              <path d="M 96,416 L 232,416" fill="none" stroke="black"/>
              <path d="M 24,432 L 336,432" fill="none" stroke="black"/>
              <path d="M 8,464 L 320,464" fill="none" stroke="black"/>
              <path d="M 8,464 L 24,432" fill="none" stroke="black"/>
              <path d="M 96,416 L 112,384" fill="none" stroke="black"/>
              <path d="M 232,416 L 248,384" fill="none" stroke="black"/>
              <path d="M 320,464 L 336,432" fill="none" stroke="black"/>
              <path d="M 56,32 C 47.16936,32 40,39.16936 40,48" fill="none" stroke="black"/>
              <path d="M 168,32 C 176.83064,32 184,39.16936 184,48" fill="none" stroke="black"/>
              <path d="M 216,32 C 207.16936,32 200,39.16936 200,48" fill="none" stroke="black"/>
              <path d="M 280,32 C 288.83064,32 296,39.16936 296,48" fill="none" stroke="black"/>
              <path d="M 56,96 C 47.16936,96 40,88.83064 40,80" fill="none" stroke="black"/>
              <path d="M 168,96 C 176.83064,96 184,88.83064 184,80" fill="none" stroke="black"/>
              <path d="M 216,96 C 207.16936,96 200,88.83064 200,80" fill="none" stroke="black"/>
              <path d="M 280,96 C 288.83064,96 296,88.83064 296,80" fill="none" stroke="black"/>
              <path d="M 112,128 C 103.16936,128 96,135.16936 96,144" fill="none" stroke="black"/>
              <path d="M 232,128 C 240.83064,128 248,135.16936 248,144" fill="none" stroke="black"/>
              <path d="M 72,160 C 63.16936,160 56,167.16936 56,176" fill="none" stroke="black"/>
              <path d="M 104,160 C 112.83064,160 120,152.83064 120,144" fill="none" stroke="black"/>
              <path d="M 240,160 C 231.16936,160 224,152.83064 224,144" fill="none" stroke="black"/>
              <path d="M 272,160 C 280.83064,160 288,167.16936 288,176" fill="none" stroke="black"/>
              <path d="M 112,192 C 103.16936,192 96,184.83064 96,176" fill="none" stroke="black"/>
              <path d="M 232,192 C 240.83064,192 248,184.83064 248,176" fill="none" stroke="black"/>
              <path d="M 120,240 C 111.16936,240 104,247.16936 104,256" fill="none" stroke="black"/>
              <path d="M 224,240 C 232.83064,240 240,247.16936 240,256" fill="none" stroke="black"/>
              <path d="M 120,304 C 111.16936,304 104,296.83064 104,288" fill="none" stroke="black"/>
              <path d="M 224,304 C 232.83064,304 240,296.83064 240,288" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="296,424 284,418.4 284,429.6" fill="black" transform="rotate(90,288,424)"/>
              <polygon class="arrowhead" points="272,424 260,418.4 260,429.6" fill="black" transform="rotate(90,264,424)"/>
              <path class="jump" d="M 264,168 C 258,168 258,152 264,152" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="176,376 164,370.4 164,381.6" fill="black" transform="rotate(90,168,376)"/>
              <polygon class="arrowhead" points="176,232 164,226.4 164,237.6" fill="black" transform="rotate(90,168,232)"/>
              <polygon class="arrowhead" points="88,424 76,418.4 76,429.6" fill="black" transform="rotate(90,80,424)"/>
              <path class="jump" d="M 80,168 C 74,168 74,152 80,152" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="64,424 52,418.4 52,429.6" fill="black" transform="rotate(90,56,424)"/>
              <g class="text">
                <text x="72" y="52">Reuse</text>
                <text x="136" y="52">EAT/CoRIM</text>
                <text x="244" y="52">Register</text>
                <text x="72" y="68">media</text>
                <text x="128" y="68">type(s)</text>
                <text x="224" y="68">new</text>
                <text x="264" y="68">media</text>
                <text x="56" y="84">+</text>
                <text x="96" y="84">profile</text>
                <text x="228" y="84">type</text>
                <text x="172" y="148">Register</text>
                <text x="152" y="164">new</text>
                <text x="188" y="164">CoAP</text>
                <text x="172" y="180">Content-Format</text>
                <text x="168" y="260">Automatically</text>
                <text x="140" y="276">derive</text>
                <text x="188" y="276">CBOR</text>
                <text x="128" y="292">tag</text>
                <text x="184" y="292">[RFC9277]</text>
                <text x="152" y="404">Tag</text>
                <text x="184" y="404">CMW</text>
                <text x="148" y="452">Record</text>
                <text x="192" y="452">CMW</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
     .---------------.   .---------.
    | Reuse EAT/CoRIM | | Register  |
    | media type(s)   | | new media |
    | + profile       | | type      |
     `---+----+------'   `-+----+--'
         |    |            |    |
         |  .-+------------+-.  |
         | |  |  Register  |  | |
       .-(-+-'   new CoAP   `-+-(-.
      |  | |  Content-Format  | |  |
      |  |  `-------+--------'  |  |
      |  |          |           |  |
      |  |          v           |  |
      |  |   .--------------.   |  |
      |  |  | Automatically  |  |  |
      |  |  | derive CBOR    |  |  |
      |  |  | tag [RFC9277]  |  |  |
      |  |   `------+-------'   |  |
      |  |          |           |  |
      |  |          |           |  |
      |  |          |           |  |
      |  |          v           |  |
      |  |   .----------------. |  |
      |  |  /    Tag CMW     /  |  |
      v  v `----------------'   v  v
  .--------------------------------------.
 /             Record CMW               /
`--------------------------------------'
]]></artwork>
        </artset>
      </figure>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>The list of currently open issues for this documents can be found at
<eref target="https://github.com/thomas-fossati/draft-ftbs-rats-msg-wrap/issues"/>.</t>
      <t><cref anchor="rfced_5">RFC Editor:</cref> please remove before publication.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank
Alexey Melnikov,
Benjamin Schwartz,
Brian Campbell,
Carl Wallace,
Carsten Bormann,
<contact fullname="Christian Amsüss"/>,
Dave Thaler,
Deb Cooley,
<contact fullname="Ionuț Mihalcea"/>,
Michael B. Jones,
Mike Ounsworth,
Michael StJohns,
Mohit Sethi,
Paul Howard,
Peter Yee,
Russ Housley,
Steven Bellock,
Tim Bray,
Tom Jones,
and
Usama Sardar
for their reviews and suggestions.</t>
      <t>The definition of a Collection CMW has been modelled on a proposal originally made by Simon Frost for an EAT-based Evidence collection type.  The Collection CMW aims at superseding it by generalizing the allowed Evidence formats.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="L." surname="Lundblade" fullname="Laurence Lundblade">
        <organization>Security Theory LLC</organization>
        <address>
          <email>lgl@securitytheory.com</email>
        </address>
      </contact>
      <t>Laurence made significant contributions to enhancing the security requirements and considerations for Collection CMWs.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
jAnAD05MwP0DG2xAV9DTIESPepWayImE0wLtmjRA1LsNeWu+VUEPhlELtrI1
0hYl3BC8miBC85mhfUpdtmYHqXmnNLk96iEXjl7u2gLwQdkYoFzYTnVk9pWT
mrBihmYqbFxNA7NK9J9lS6YmEoHytHds7r1P7Oy4qbOKqjUiC7kTUPCZ01Lu
/r1P6GT9dEwn6/CRwlDO1P3c/QMKb/E8djm4M4kUxlEpLYp+z4Sv6CQKnxC8
Qo6YaUMEy2cFsPAtGp8EOgjQtXAQ3cSWUcI+FfKMps3UZg/IQFRCV1qHuMkP
TQ0GZ5Mp+lmWk6PtMTkohRn3KnpmKa6KrkV0yGvpLpHvtPB3E5t7f7/M4xsO
aTHRG2xCFvhLENaiYpyrsKIhQskusxzZV56WIuOKLUyaYdNlwACoMcUkQpqA
BfvR3Ke+vtBU3gS8W7mmdmXCIk4g017fiyf+MiLhRjw7+v70eCjOT04vhudn
56dXYjB47Gn15B42K2v3O85Qvptptb3dAXSZtPc6bPZPowJae1a/0epve7fj
WAPwG660vY89w1xwiO1d4RpD7HJtBCguehHkb1D/RjfzMEgo3phuglGVV3e5
Osa5IQQRe5ZSpRFB+jrLA44ZyfUlFDqsS6nzYShH8kDksXzD3DWJZoguOgkB
+lsgp1XOK3eYBwLmtwo5Uwk5ARtXC8cbHq9YYTHMmcxqA+msbd3mm/AlJ/Tw
Li2Ct+4u43uwmeL4u2eY/5KNmSQfPh+ePbpmfz96SEr0s+Ph6VBcD6/OL751
pSXspi4gWd9De8woPxorL3yhy358JpvKqgBm/FNTGg41RfeS8+TU6uXqLqOo
Xi66UzaKJoAq/YMTyaGt3E5iQGSEh9cXQHA46QwQbQBZ31eUu0Ry7DVYqt5Z
qHfuKdusMnnXCFLX2RslDJpY9IhyDsRybkisSS1r+LhfTjlLtNDd2lNYpveL
TugnnU0Yu73J7fkbSdwI4zZolx20aZ6cnp1fnGMo9bU4f3r55Pz4fCiGh99e
Eyk5Ov32/MLz4IdnV0PMJX36x+HpxTW0hs9nV8+eEhv0j8n5CA3x0sd05UL4
PqXKxKS83i+mRZ+7VrNa/Jnn5m9utXeh4XvxFab9o902yYU8TJXh0yO9PDp7
eOiu/3QxPPwjuUUKS2hPxNGfhCXE7+t94s2292FarYn1L4HN55Lo+jyvifR4
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
ilk+BQkhywfe/wMNtQqrkNEAAA==

-->

</rfc>
