<?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.13 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-msg-wrap-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="RATS CMW">RATS Conceptual Messages Wrapper (CMW)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-07"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Intel</organization>
      <address>
        <email>ned.smith@intel.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/>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2024" month="July" day="24"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>evidence</keyword>
    <keyword>attestation results</keyword>
    <keyword>endorsements</keyword>
    <keyword>reference values</keyword>
    <abstract>
      <?line 81?>

<t>This document defines the RATS conceptual message wrapper (CMW) format, a type of encapsulation format that can be used for any RATS messages, such as Evidence, Attestation Results, Endorsements, and Reference Values.
Additionally, the document describes a collection type that enables the aggregation of one or more CMWs into a single message.</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 protocols.</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 89?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The RATS architecture defines a handful of conceptual messages
(see <xref section="8" sectionFormat="of" target="RFC9334"/>), such as Evidence and Attestation Results.
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>EAT <xref target="I-D.ietf-rats-eat"/> Evidence in a "background check" topological
arrangement first flows from Attester to Relying Party, and then from Relying
Party to Verifier, over separate protocol legs.</t>
        </li>
        <li>
          <t>Attestation Results for Secure Interactions (AR4SI) <xref target="I-D.ietf-rats-ar4si"/> payloads in
"passport" mode would be sent by the Verifier to the Attester and then, at a later
point in time and over a different channel, from the Attester to the Relying Party.</t>
        </li>
      </ul>
      <t>It is desirable to reuse any typing information associated with the messages
across such protocol boundaries to minimize the cost associated with
type registrations and maximize interoperability. With the CMW format described
in this document, protocol designers do not need to update protocol specifications
to support different conceptual messages. This approach reduces the implementation
effort for developers to support different attestation technologies. For example,
an implementer of a Relying Party application does not need to parse
attestation-related conceptual messages, such as different Evidence formats,
but can instead utilize the CMW format to be agnostic to the attestation
technology.</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"/>, 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 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-wrapper-encodings">
      <name>Conceptual Message Wrapper Encodings</name>
      <t>Two types of RATS Conceptual Message Wrapper (CMW) are specified in this
document:</t>
      <ol spacing="normal" type="1"><li>
          <t>A CMW using a CBOR or JSON record (<xref target="type-n-val"/>);</t>
        </li>
        <li>
          <t>A CMW based on CBOR tags (<xref target="cbor-tag"/>).</t>
        </li>
      </ol>
      <t>A further CMW "collection" type that holds together multiple CMW items is defined in <xref target="cmw-coll"/>.</t>
      <t>A CMW "tunnel" type is also defined in <xref target="cmw-tunnel"/> to allow transporting CBOR CMWs in JSON collections and vice-versa.</t>
      <t>The collected CDDL is in <xref target="collected-cddl"/>.</t>
      <section anchor="type-n-val">
        <name>CMW Record</name>
        <t>The format of the CMW record 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>
        <t>A CMW record carried in a <tt>"cmw"</tt> JWT claim (<xref target="iana-jwt"/>) <bcp14>MUST</bcp14> be a <tt>json-record</tt>.
A CMW record carried in a <tt>"cmw"</tt> CWT claim (<xref target="iana-cwt"/>) <bcp14>MUST</bcp14> be a <tt>cbor-record</tt>.</t>
        <figure anchor="fig-cddl-record">
          <name>CDDL definition of the Record format</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="I-D.ietf-rats-eat-media-type"/>) or an unsigned integer corresponding to a CoAP Content-Format
number (<xref section="12.3" sectionFormat="of" target="RFC7252"/>).
The latter <bcp14>MUST NOT</bcp14> be 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 that indicates which conceptual message types are
carried in the <tt>value</tt> field.  Any combination (i.e., any value between
1 and 15, included) is allowed.  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/signed-corim+cbor</tt>), or if the same profile identifier is
shared by different conceptual messages.
Future specifications may add new values to the <tt>ind</tt> field; see <xref target="iana-ind-ext"/>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="cbor-tag">
        <name>CMW CBOR Tags</name>
        <t>CBOR Tags used as CMW may be derived from CoAP Content-Format numbers.
If a CoAP content format exists for a RATS conceptual message, the
<tt>TN()</tt> transform defined in <xref section="B" sectionFormat="of" target="RFC9277"/> can be used to
derive a corresponding CBOR tag in range [1668546817, 1668612095].</t>
        <t>The RATS conceptual message is first serialized according to the
Content-Format number associated with the CBOR tag and then encoded as a
CBOR byte string, to which the tag is prepended.</t>
        <t>The CMW CBOR Tag is defined in <xref target="fig-cddl-cbor-tag"/> as a macro with two parameters:</t>
        <ul spacing="normal">
          <li>
            <t><tt>tn</tt>, the CBOR tag number</t>
          </li>
          <li>
            <t><tt>$fmt</tt>, the definition of the associated conceptual message</t>
          </li>
        </ul>
        <figure anchor="fig-cddl-cbor-tag">
          <name>CDDL definition of the CBOR Tag format macro</name>
          <artwork type="cddl" align="left"><![CDATA[
cbor-tag<tn, $fmt> = #6.<tn>(bytes .cbor $fmt)
]]></artwork>
        </figure>
        <t>To add a new CMW, the <tt>$cbor-tag</tt> type socket is extended with a new instance of the CMW CBOR Tag macro.
For example, to associate conceptual messages of type <tt>my-evidence</tt> with CBOR Tag <tt>1668576819</tt>, one would extend <tt>$cbor-tag</tt> as follows:</t>
        <sourcecode type="cddl"><![CDATA[
$cbor-tag /= cbor-tag<1668576819, my-evidence>

my-evidence = {
  &(eat_nonce: 10) => bstr .size (8..64)
}
]]></sourcecode>
        <section anchor="use-of-pre-existing-cbor-tags">
          <name>Use of Pre-existing CBOR Tags</name>
          <t>If a CBOR tag has been registered in association with a certain RATS
conceptual message independently of a CoAP content format (i.e., it is
not obtained by applying the <tt>TN()</tt> transform), it can be readily used
as an encapsulation without the extra processing described in
<xref target="cbor-tag"/>.</t>
          <t>A consumer can always distinguish tags that have been derived via
<tt>TN()</tt>, which all fall in the [1668546817, 1668612095] range, from
tags that are not, and therefore apply the right decapsulation on
receive.</t>
        </section>
      </section>
      <section anchor="cmw-coll">
        <name>CMW Collections</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.</t>
        <t>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.</t>
        <t>To address the composite Attester use case, this document defines a CMW "collection" as a container that holds several CMW items, each with a label that is unique within the scope of the collection.</t>
        <t>The CMW collection (<xref target="fig-cddl-collection"/>) is defined as a CBOR map or JSON object with CMW values, either native or "tunnelled" (<xref target="cmw-tunnel"/>).
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>The <tt>"__cmwc_t"</tt> key is reserved for associating an optional type to the overall collection and <bcp14>MUST NOT</bcp14> be used for a label.
The collection type is either a Uniform Resource Identifier (URI) or an object identifier (OID).
The OID is always absolute and never relative.</t>
        <t>Since the collection type is recursive, implementations may limit the allowed depth of nesting.</t>
        <figure anchor="fig-cddl-collection">
          <name>CDDL definition of the CMW collection format</name>
          <artwork type="cddl" align="left"><![CDATA[
json-collection = {
  ? "__cmwc_t": ~uri / oid
  + &(label: text) => json-CMW / c2j-tunnel
}

cbor-collection = {
  ? "__cmwc_t": ~uri / oid
  + &(label: (int / text)) => cbor-CMW / j2c-tunnel
}
]]></artwork>
        </figure>
        <t>Although initially designed for the composite Attester use case, the CMW collection can be repurposed for other use cases requiring CMW aggregation.</t>
        <t>A CMW collection carried in a <tt>"cmw"</tt> JWT claim (<xref target="iana-jwt"/>) <bcp14>MUST</bcp14> be a <tt>json-collection</tt>.
A CMW collection carried in a <tt>"cmw"</tt> CWT claim (<xref target="iana-cwt"/>) <bcp14>MUST</bcp14> be a <tt>cbor-collection</tt>.</t>
        <section anchor="cmw-collections-role-in-composite-attester-topology">
          <name>CMW Collections' role in composite Attester topology</name>
          <t>A CMW Collection's tree structure is not required to be a spanning tree of the system's composite Attester topology.
If the labels carry semantic content for a Verifier (e.g. to improve Verifier performance or aid human comprehension), the collection <bcp14>SHOULD</bcp14> be integrity protected.
For example, the collection can be integrity protected by including it in a signed token such as a CWT or JWT.</t>
        </section>
      </section>
      <section anchor="cmw-tunnel">
        <name>CMW Tunnel</name>
        <t>The CMW tunnel type (<xref target="fig-cddl-tunnel"/>) allows for moving a CMW in one serialization format, either JSON or CBOR, into a collection that uses the opposite serialization format.</t>
        <t>Both tunnel types are arrays with two elements.
The first element, a fixed text string starting with a <tt>#</tt>, acts as a sentinel value.
The <tt>#</tt>, which is not an acceptable start symbol for the <tt>Content-Type</tt> production (<xref target="collected-cddl"/>), makes it possible to disambiguate a CMW tunnel from a CMW record.</t>
        <figure anchor="fig-cddl-tunnel">
          <name>CDDL definition of the CMW tunnel format</name>
          <artwork type="cddl" align="left"><![CDATA[
c2j-tunnel = [ "#cmw-c2j-tunnel", base64url-string ]
j2c-tunnel = [ "#cmw-j2c-tunnel", bytes ]
]]></artwork>
        </figure>
        <t>The conversion algorithms are described in the following subsections.</t>
        <section anchor="cbor-to-json">
          <name>CBOR-to-JSON</name>
          <t>The CBOR byte string of the serialised CBOR CMW is encoded as Base64 using the URL and filename safe alphabet (<xref section="5" sectionFormat="of" target="RFC4648"/>) without padding.
The obtained string is added as the second element of the <tt>c2j-tunnel</tt> array.
The <tt>c2j-tunnel</tt> array is serialized as JSON.</t>
        </section>
        <section anchor="json-to-cbor">
          <name>JSON-to-CBOR</name>
          <t>The UTF-8 string of the serialized JSON CMW is encoded as a CBOR byte string (Major type 2).
The byte string is added as the second element of the <tt>j2c-tunnel</tt> array.
The <tt>j2c-tunnel</tt> array is serialized as CBOR.</t>
        </section>
      </section>
      <section anchor="decapsulation-algorithm">
        <name>Decapsulation Algorithm</name>
        <t>Once any external framing is removed (for example, if the CMW is carried in a certificate extension), the CMW decoder performs a 1-byte lookahead to determine how to decode the remaining byte buffer.
The following pseudo-code illustrates this process:</t>
        <artwork><![CDATA[
func CMWTypeSniff(b []byte) (CMW, error) {
  if len(b) == 0 {
    return Unknown
  }

  if b[0] == 0x82 || b[0] == 0x83 {
    return CBORRecord
  } else if b[0] >= 0xc0 && b[0] <= 0xdb {
    return CBORTag
  } else if b[0] == 0x5b {
    return JSONRecord
  } else if b[0] == 0x7b {
    return JSONCollection
  } else if (b[0] >= 0xa0 && b[0] <= 0xbb) || b[0] == 0xbf {
    return CBORCollection
  }

  return Unknown
}
]]></artwork>
      </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 number <tt>30001</tt>.  The
CBOR tag <tt>1668576818</tt> is derived applying the <tt>TN()</tt> transform as described in
<xref target="cbor-tag"/>.</t>
      <t>The example in <xref target="ex-ca-ind"/> is a signed CoRIM (Concise Reference Integrity Manifest) <xref target="I-D.ietf-rats-corim"/> payload with an explicit CM
indicator <tt>0b0000_0011</tt> (3), meaning that the wrapped message contains both
Reference Values and Endorsements.</t>
      <section anchor="ex-ja">
        <name>JSON Record</name>
        <sourcecode type="cbor-diag"><![CDATA[
[
  "application/vnd.example.rats-conceptual-msg",
  "q82rzQ"
]
]]></sourcecode>
        <t>Note that a CoAP Content-Format number can also be used with the JSON record
form.  That may be the case when it is known that the receiver can handle CoAP
Content-Formats and it is crucial to save bytes.</t>
      </section>
      <section anchor="ex-ca">
        <name>CBOR 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 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
number has not been registrered.</t>
        <sourcecode type="cbor-diag"><![CDATA[
[
  "application/vnd.example.rats-conceptual-msg",
  h'2347da55'
]
]]></sourcecode>
      </section>
      <section anchor="ex-ct">
        <name>CBOR Tag</name>
        <sourcecode type="cbor-diag"><![CDATA[
1668576818(h'2347da55')
]]></sourcecode>
        <t>with the following wire representation:</t>
        <artwork><![CDATA[
da 63747632    # tag(1668576818)
   44          # bytes(4)
      2347da55 # "#G\xDAU"
]]></artwork>
      </section>
      <section anchor="ex-ca-ind">
        <name>CBOR Record with explicit CM indicator</name>
        <sourcecode type="cbor-diag"><![CDATA[
[
  "application/signed-corim+cbor",
  h'd28443a10126a1',
  3
]
]]></sourcecode>
        <t>with the following wire representation:</t>
        <artwork><![CDATA[
83                                    # array(3)
   78 1d                              # text(29)
      6170706c69636174696f6e2f7369676e65642d636f72696d2b63626f72
                                      # "application/signed-corim+cbor"
   47                                 # bytes(7)
      d28443a10126a1                  # "҄C\xA1\u0001&\xA1"
   03                                 # unsigned(3)
]]></artwork>
      </section>
      <section anchor="cbor-collection">
        <name>CBOR Collection</name>
        <t>The following example is a CBOR collection that assembles conceptual messages from three attesters: Evidence for attesters A and B and Attestation Results for attester C.
It is given an explicit collection type using the URI form.</t>
        <artwork><![CDATA[
{
  "attester A": [
    30001,
    h'2347da55',
    4
  ],
  "attester B": 1668576818(h'2347da55'),
  "attester C": [
    "application/eat+jwt",
    h'4c693475',
    8
  ]
}
]]></artwork>
        <t>with the following wire representation:</t>
        <artwork><![CDATA[
a3                                      # map(3)
   6a                                   # text(10)
      61747465737465722041              # "attester A"
   83                                   # array(3)
      19 7531                           # unsigned(30001)
      44                                # bytes(4)
         2347da55                       # "#G\xDAU"
      04                                # unsigned(4)
   6a                                   # text(10)
      61747465737465722042              # "attester B"
   da 63747632                          # tag(1668576818)
      44                                # bytes(4)
         2347da55                       # "#G\xDAU"
   6a                                   # text(10)
      61747465737465722043              # "attester C"
   83                                   # array(3)
      73                                # text(19)
         6170706c69636174696f6e2f6561742b6a7774 # "application/eat+jwt"
      44                                # bytes(4)
         4c693475                       # "Li4u"
      08                                # unsigned(8)
]]></artwork>
        <t>The following example shows the use of a tunnelled type to move a JSON record to a CBOR collection:</t>
        <artwork><![CDATA[
{
  "__cmwc_t": "tag:example.com,2024:composite-attester",
  0: [
    30001,
    h'2347da55',
    4
  ],
  1: 1668576818(h'2347da55'),
  2: [
    "#cmw-j2c-tunnel",
    '[ "application/eat+jwt", "Li4u", 8 ]'
  ]
}
]]></artwork>
      </section>
      <section anchor="json-collection">
        <name>JSON Collection</name>
        <t>The following example is a JSON collection that assembles Evidence from two attesters.</t>
        <artwork><![CDATA[
{
  "attester A": [
    "application/eat-ucs+json",
    "e30K",
    4
  ],
  "attester B": [
    "application/eat-ucs+cbor",
    "oA",
    4
  ]
}
]]></artwork>
        <t>The following example shows the use of a tunnelled type to move a CBOR record to a JSON collection:</t>
        <artwork><![CDATA[
{
  "attester A": [
    "application/eat-ucs+json",
    "e30K",
    4
  ],
  "attester B (tunnelled)": [
    "#cmw-c2j-tunnel",
    "g3gYYXBwbGljYXRpb24vZWF0LXVjcytjYm9yQaAE"
  ]
}
]]></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 CMW collection in a JWT <xref target="RFC7519"/>:</t>
        <artwork><![CDATA[
{
  "cmw": {
    "attester A": [
      "application/eat-ucs+json",
      "e30K",
      4
    ],
    "attester B (tunnelled)": [
      "#cmw-c2j-tunnel",
      "g3gYYXBwbGljYXRpb24vZWF0LXVjcytjYm9yQaAE"
    ]
  },
  "iss": "evidence collection daemon",
  "exp": 1300819380
}
]]></artwork>
      </section>
    </section>
    <section anchor="x509">
      <name>Transporting CMW in X.509 Messages</name>
      <t>CMW may need to be transported in PKIX messages, such as Certificate Signing Requests (CSRs) or in X.509 Certificates and Certificate Revocation Lists (CRLs).
The former use is documented in <xref target="I-D.ietf-lamps-csr-attestation"/>, the latter in Section 6.1 of <xref target="DICE-arch"/>.</t>
      <t>This section specifies the CMW extension to carry CMW objects.</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) TBD }
]]></sourcecode>
      <t>This extension <bcp14>SHOULD NOT</bcp14> be marked critical.
It <bcp14>MAY</bcp14> be marked critical in cases where the attestation-related information is essential for granting resource access, and there is a risk that legacy relying parties would bypass such controls.</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> contain the serialized CMW object in JSON or CBOR format, using 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-collection-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) TBD }

-- 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"/> defines the ConceptualMessageWrapper format and the associated object identifier.
The CMW format defined in <xref target="DICE-arch"/> allows only a subset of the CMW grammar defined in this document.
Specifically, the tunnel and collection formats cannot be encoded using DICE CMWs.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <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 this implementation is Project Veraison, a
Linux Foundation project hosted at the Confidential Computing Consortium.</t>
        <t>The software, hosted at <eref target="https://github.com/veraison/cmw"/>, provides a Golang
package that allows encoding and decoding of CMW payloads.
The implementation covers 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="seccons">
      <name>Security Considerations</name>
      <t>This document introduces two encapsulation formats for RATS conceptual messages, record and tag.
RATS conceptual messages are typically secured using cryptography.
If the messages are already protected, then there are no additional security requirements imposed by the introduction of this encapsulation.
If an adversary tries to modify the payload encapsulation, it will result in incorrect processing of the encapsulated message and lead to an error.
If the messages are not protected, additional security must be added at a different layer.
As an example, a <tt>cbor-record</tt> containing an UCCS (Unprotected CWT Claims Sets) <xref target="I-D.ietf-rats-uccs"/> can be signed using COSE Sign1 <xref target="STD96"/>.</t>
      <t>This document introduces a format for holding multiple CMW items in a collection.
If the collection 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 easily manipulate the collection's contents.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="rfced">RFC Editor:</cref> replace "RFCthis" with the RFC number assigned to this document.</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>Claim Key: TBD</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>
        <t>The suggested value for the Claim Key is 299.</t>
      </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" sub-registry of the "JSON Web Token (JWT)" registry <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="cbor-tag-registration">
        <name>CBOR Tag Registration</name>
        <t>IANA is requested to add the following tag to the "CBOR Tags" <xref target="IANA.cbor-tags"/> registry.</t>
        <table>
          <thead>
            <tr>
              <th align="left">CBOR Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">CBOR map, CBOR array, CBOR tag</td>
              <td align="left">RATS Conceptual Message Wrapper</td>
              <td align="left">
                <xref target="type-n-val"/>, <xref target="cbor-tag"/> and <xref target="cmw-coll"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
      </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 the policy "Expert Review" (<xref section="4.5" sectionFormat="of" target="BCP26"/>).</t>
        <t>The objective is to have CMW Indicators values registered for all RATS Conceptual Messages (<xref section="8" sectionFormat="of" target="RFC9334"/>).</t>
        <section anchor="de-instructions">
          <name>Instructions for the Designated Expert</name>
          <t>The expert is instructed to add the values incrementally.</t>
          <t>Acceptable values are those corresponding to RATS Conceptual Messages defined by the RATS architecture <xref target="RFC9334"/> and any of its updates.</t>
        </section>
        <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">RFCthis</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">Endorsements</td>
                <td align="left">RFCthis</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">Evidence</td>
                <td align="left">RFCthis</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">Attestation Results</td>
                <td align="left">RFCthis</td>
              </tr>
              <tr>
                <td align="left">4-31</td>
                <td align="left">Unassigned</td>
                <td align="left">RFCthis</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="provisional-registration">
          <name>Provisional Registration</name>
          <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 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="media-types">
        <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>
          </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> (CMW collection type in string format.  The parameter value is case-insensitive.  It <bcp14>MUST NOT</bcp14> 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> (CMW collection type in string format.  The parameter value is case-insensitive.  It <bcp14>MUST NOT</bcp14> 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>
      <section anchor="coap-content-formats">
        <name>CoAP Content Formats</name>
        <t>IANA is requested to register the following Content-Format numbers in the "CoAP Content-Formats" sub-registry, within the "Constrained RESTful Environments (CoRE) Parameters" Registry <xref target="IANA.core-parameters"/>:</t>
        <table align="left">
          <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>
          </tbody>
        </table>
        <t>If possible, TBD1 and TBD2 should be assigned in the 256..999 range.</t>
      </section>
      <section anchor="new-smi-numbers-registrations">
        <name>New SMI Numbers Registrations</name>
        <t>IANA is requested to assign an object identifier (OID) for the CMW extension defined in <xref target="x509"/> in the "Certificate Extension" sub-registry of the "SMI Numbers" <xref target="IANA.smi-numbers"/> registry.</t>
        <t>IANA is requested to assign an object identifier (OID) for the ASN.1 Module defined in <xref target="asn1-x509"/> in the "Module Identifier" sub-registry of the "SMI Numbers" <xref target="IANA.smi-numbers"/> registry.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="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="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:,, and for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="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>
            <date day="22" month="March" year="2018"/>
          </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>
            <date day="23" month="January" year="2015"/>
          </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.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date day="19" month="September" year="2013"/>
          </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>
            <date day="5" month="July" year="2024"/>
          </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>
            <date day="8" month="June" year="2012"/>
          </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>
            <date day="5" month="July" year="2024"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-29"/>
        </reference>
        <reference anchor="I-D.ietf-rats-eat-media-type">
          <front>
            <title>EAT Media Types</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="4" month="July" year="2024"/>
            <abstract>
              <t>   Payloads used in Remote Attestation Procedures may require an
   associated media type for their conveyance, for example when used in
   RESTful APIs.

   This memo defines media types to be used for Entity Attestation
   Tokens (EAT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-media-type-08"/>
        </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="4" month="March" year="2024"/>
            <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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-06"/>
        </reference>
        <reference anchor="I-D.ietf-rats-uccs">
          <front>
            <title>A CBOR Tag for Unprotected CWT Claims Sets</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Nancy Cam-Winget" initials="N." surname="Cam-Winget">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="4" month="July" year="2024"/>
            <abstract>
              <t>   When transported over secure channels, CBOR Web Token (CWT, RFC 8392)
   Claims Sets may not need the protection afforded by wrapping them
   into COSE, as is required for a true CWT.  This specification defines
   a CBOR tag for such unprotected CWT Claims Sets (UCCS) and discusses
   conditions for its proper use.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-uccs-10"/>
        </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="8" month="July" year="2024"/>
            <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-07"/>
        </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">
              <organization>Beyond Identity</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <date day="7" month="July" year="2024"/>
            <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 Evidence in Certificate Signing Requests (CSRs)
   such as PKCS#10 or Certificate Request Message Format (CRMF) payloads
   which provides an elegant and automatable mechanism for transporting
   Evidence to a Certification Authority.

   Including Evidence 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.  These Evidence Claims can include
   information about the hardware component's manufacturer, the version
   of installed or running firmware, the version of software installed
   or running in layers above the firmware, or the presence of hardware
   components providing specific protection capabilities or shielded
   locations (e.g., to protect keys).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-10"/>
        </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>Intel</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether to engage in secure interactions with it - or not.  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-05"/>
        </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>
      </references>
    </references>
    <?line 929?>

<section anchor="collected-cddl">
      <name>Collected CDDL</name>
      <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
]

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

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

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

c2j-tunnel = [ "#cmw-c2j-tunnel", base64url-string ]
j2c-tunnel = [ "#cmw-j2c-tunnel", bytes ]

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

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

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

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

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

]]></sourcecode>
    </section>
    <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 CMW record or CBOR tag forms.
When using CMW collection, 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="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="400" viewBox="0 0 400 496" 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,328" fill="none" stroke="black"/>
              <path d="M 264,344 L 264,424" fill="none" stroke="black"/>
              <path d="M 288,176 L 288,328" fill="none" stroke="black"/>
              <path d="M 288,344 L 288,424" fill="none" stroke="black"/>
              <path d="M 296,48 L 296,80" fill="none" stroke="black"/>
              <path d="M 304,256 L 304,288" fill="none" stroke="black"/>
              <path d="M 344,304 L 344,320" fill="none" stroke="black"/>
              <path d="M 392,256 L 392,288" 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 320,240 L 376,240" fill="none" stroke="black"/>
              <path d="M 120,304 L 224,304" fill="none" stroke="black"/>
              <path d="M 320,304 L 376,304" fill="none" stroke="black"/>
              <path d="M 184,336 L 328,336" 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 320,240 C 311.16936,240 304,247.16936 304,256" fill="none" stroke="black"/>
              <path d="M 376,240 C 384.83064,240 392,247.16936 392,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"/>
              <path d="M 320,304 C 311.16936,304 304,296.83064 304,288" fill="none" stroke="black"/>
              <path d="M 376,304 C 384.83064,304 392,296.83064 392,288" fill="none" stroke="black"/>
              <path d="M 184,336 C 175.16936,336 168,343.16936 168,352" fill="none" stroke="black"/>
              <path d="M 328,336 C 336.83064,336 344,328.83064 344,320" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="296,424 284,418.4 284,429.6" fill="black" transform="rotate(90,288,424)"/>
              <path class="jump" d="M 288,344 C 282,344 282,328 288,328" fill="none" stroke="black"/>
              <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,344 C 258,344 258,328 264,328" fill="none" stroke="black"/>
              <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="348" y="260">Existing</text>
                <text x="140" y="276">derive</text>
                <text x="188" y="276">CBOR</text>
                <text x="332" y="276">CBOR</text>
                <text x="128" y="292">tag</text>
                <text x="184" y="292">[RFC9277]</text>
                <text x="328" y="292">tag</text>
                <text x="140" y="404">CBOR</text>
                <text x="176" y="404">tag</text>
                <text x="208" y="404">CMW</text>
                <text x="168" y="452">CMW</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="left"><![CDATA[
       .---------------.   .---------.
      | Reuse EAT/CoRIM | | Register  |
      | media type(s)   | | new media |
      | + profile       | | type      |
       `---+----+------'   `-+----+--'
           |    |            |    |
           |  .-+------------+-.  |
           | |  |  Register  |  | |
         .-(-+-'   new CoAP   `-+-(-.
        |  | |  Content-Format  | |  |
        |  |  `-------+--------'  |  |
        |  |          |           |  |
        |  |          v           |  |
        |  |   .--------------.   |  |  .--------.
        |  |  | Automatically  |  |  | | Existing |
        |  |  | derive CBOR    |  |  | | CBOR     |
        |  |  | tag [RFC9277]  |  |  | | tag      |
        |  |   `------+-------'   |  |  `---+----'
        |  |          |           |  |      |
        |  |          |.----------(--(-----'
        |  |          |           |  |
        |  |          v           |  |
        |  |   .----------------. |  |
        |  |  /  CBOR tag CMW  /  |  |
        v  v `----------------'   v  v
    .--------------------------------------.
   /                 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>Note to RFC Editor: please remove before publication.</cref></t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank
Brian Campbell,
Carl Wallace,
Carsten Bormann,
Dionna Glaze,
Laurence Lundblade,
Michael B. Jones,
Mohit Sethi,
Russ Housley,
and
Tom Jones
for their reviews and suggestions.</t>
      <t>The definition of a CMW collection has been modelled on a proposal originally made by Simon Frost for an EAT-based Evidence collection type.  The CMW collection intentionally attains binary compatibility with Simon's design and aims at superseding it by also generalizing on the allowed Evidence formats.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
