<?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.20 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-msg-wrap-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="RATS CMW">RATS Conceptual Messages Wrapper (CMW)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-10"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>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 abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2024" month="November" day="04"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>evidence</keyword>
    <keyword>attestation results</keyword>
    <keyword>endorsements</keyword>
    <keyword>reference values</keyword>
    <abstract>
      <?line 90?>

<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.
In addition, a Media Type and a CoAP Content-Format are defined for transporting CMWs in HTTP, MIME, CoAP and other Internet 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 99?>

<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.
In addition, a Media Type and a CoAP Content-Format are defined for transporting CMWs in HTTP, MIME, CoAP and other Internet protocols.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>In this document, CDDL <xref target="RFC8610"/> <xref target="RFC9165"/> is used to describe the
data formats.</t>
      <t>The reader is assumed to be familiar with the vocabulary and concepts
defined in <xref target="RFC9334"/>.</t>
      <t>This document reuses the terms defined in <xref section="2" sectionFormat="of" target="RFC9193"/>
(e.g., "Content-Type").</t>
    </section>
    <section anchor="conceptual-message-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>
      <t>This document only defines an encapsulation, not a security format.
It is the responsibility of the Attester to ensure that the CMW contents have the necessary security protection.
Security considerations are discussed in <xref target="seccons"/>.</t>
      <section anchor="type-n-val">
        <name>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>
        <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"/> using two different macros.
One for "native" CBOR types, the other for all other types.
Both macros take the CBOR tag number <tt>tn</tt> as a parameter.
The <tt>cbor-tagged-cbor</tt> macro also takes the CDDL definition of the associated conceptual message <tt>fmt</tt> as a second parameter.</t>
        <figure anchor="fig-cddl-cbor-tag">
          <name>CDDL definition of the CBOR Tag format macros</name>
          <artwork type="cddl" align="left"><![CDATA[
cbor-tagged-cbor<tn, fmt> = #6.<tn>(bytes .cbor fmt)

cbor-tagged-data<tn> = #6.<tn>(bytes)
]]></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-tagged-cbor<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.
For example, in data center servers, it is not uncommon for separate attesting environments (AE) to serve a subsection of the entire machine.
One AE might measure and attest to what was booted on the main CPU, while another AE might measure and attest to what was booted on a SmartNIC plugged into a PCIe slot, and a third AE might measure and attest to what was booted on the machine's GPU.
To allow aggregation of multiple, potentially non-homogeneous evidence formats collected from different AEs, this document defines a 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>Although originally designed to support layered Attester and composite device use cases, the CMW collection can be adapted for other scenarios that require the aggregation of RATS conceptual messages.
For instance, collections may be used to group Endorsements, Reference Values, Attestation Results, and more.
A single CMW collection can contain a mix of different message types, and it can also be used to carry messages related to multiple devices simultaneously.</t>
        <t>The 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>CMW itself provides no facilities for authenticity, integrity protection, or confidentiality.
It is the responsibility of the designer for each use case to determine the necessary security properties and implement them accordingly.
A secure channel (e.g., via TLS) or object-level security (e.g., using JWT) may suffice in some scenarios, but not in all.</t>
        <t>When a CMW is used to carry Evidence for composite or layered attestation of a single device, all components within the CMW must be cryptographically
bound to prevent an attacker from replacing Evidence from a compromised device with Evidence from a non-compromised device. The protection of authenticity and integrity
<bcp14>MUST</bcp14> be provided by the attestation technology. For additional security considerations related to collections, refer to <xref target="seccons-coll"/>.</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 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>
      <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 CMWTypeDemux(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="transporting-cmw-in-cose-and-jose-web-tokens">
      <name>Transporting CMW in COSE and JOSE Web Tokens</name>
      <t>To facilitate the embedding of CMWs and CMW collections in CBOR-based protocols and web APIs, this document defines two <tt>"cmw"</tt> claims for use with JSON Web Tokens (JWT) and CBOR Web Tokens (CWT).</t>
      <t>The definitions for these claims can be found in <xref target="iana-jwt"/> and <xref target="iana-cwt"/>, respectively.</t>
      <section anchor="encoding-requirements">
        <name>Encoding Requirements</name>
        <t>A CMW collection carried in a <tt>"cmw"</tt> JWT claim <bcp14>MUST</bcp14> be a <tt>json-collection</tt>.
A CMW collection carried in a <tt>"cmw"</tt> CWT claim <bcp14>MUST</bcp14> be a <tt>cbor-collection</tt>.</t>
        <t>A CMW record carried in a <tt>"cmw"</tt> JWT claim <bcp14>MUST</bcp14> be a <tt>json-record</tt>.
A CMW record carried in a <tt>"cmw"</tt> CWT claim <bcp14>MUST</bcp14> be a <tt>cbor-record</tt>.</t>
      </section>
    </section>
    <section anchor="x509">
      <name>Transporting CMW in 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).</t>
      <t>The use of CMW in CSRs is documented in <xref target="I-D.ietf-lamps-csr-attestation"/>, while its application in X.509 Certificates and CRLs is detailed in Section 6.1 of <xref target="DICE-arch"/>.</t>
      <t>This section outlines the CMW extension designed to carry CMW objects.</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> include the serialized CMW object in either JSON or CBOR format, utilizing the appropriate CHOICE entry.</t>
      <t>The DER-encoded CMW is the value of the OCTET STRING for the extnValue field of the extension.</t>
      <section anchor="asn1-x509">
        <name>ASN.1 Module</name>
        <t>This section provides an ASN.1 module <xref target="X.680"/> for the CMW extension, following the conventions established in <xref target="RFC5912"/> and <xref target="RFC6268"/>.</t>
        <sourcecode type="asn.1"><![CDATA[
CMWExtn
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-cmw-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"/> specifies the ConceptualMessageWrapper (CMW) format and its corresponding object identifier.
The CMW format outlined in <xref target="DICE-arch"/> permits only a subset of the CMW grammar defined in this document.
In particular, the tunnel and collection formats cannot be encoded using DICE CMWs.</t>
      </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="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>
      <section anchor="records-and-cbor-tags">
        <name>Records and CBOR Tags</name>
        <t>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>
      </section>
      <section anchor="seccons-coll">
        <name>Collections</name>
        <t>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.
It is the responsibility of the Attester who creates the CMW collection to ensure that the contents of the collection are integrity-protected.
The designer of the attestation technology is typically in charge of ensuring that the security properties are met, not the user of the conceptual message wrapper.
In particular, when a CMW is used to carry multiple Evidence messages for a composite device or layered attestation, there should be strong binding between the Evidence messages within the collection.
This binding is needed to prevent attacks where Evidence from a subverted part of the device is replaced by Evidence from a separate non-subverted device.
The binding of Evidence messages should be some form of attestation.
For example, key material used to sign/bind an entire CMW collection should be an attestation key, handled as described in <xref section="12.1" sectionFormat="of" target="RFC9334"/>.
The binding does not necessarily have to be a signature over the CMW collection, it might also be achieved through identifiers, cross-linking, signing or hashing between the members of the collection.
Client-authenticated TLS may be used to bind a CMW collection of Evidence messages.
However, the client key used with TLS should not be that of the end-user or owner of the device.
Instead, it should be attestation-oriented key material from the device or the attester manufacturer.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="rfced">RFC Editor:</cref> Please replace "RFCthis" with the RFC number assigned to this document.</t>
      <t><cref anchor="rfced_1">RFC Editor:</cref> This document uses the CPA (code point allocation) convention described in <xref target="I-D.bormann-cbor-draft-numbers"/>. For each usage of the term "CPA", please remove the prefix "CPA" from the indicated value and replace the residue with the value assigned by IANA; perform an analogous substitution for all other occurrences of the prefix "CPA" in the document. Finally, please remove this note.</t>
      <section anchor="iana-cwt">
        <name>CWT <tt>cmw</tt> Claim Registration</name>
        <t>IANA is requested to add a new <tt>cmw</tt> claim to the "CBOR Web Token (CWT) Claims" registry <xref target="IANA.cwt"/> as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: cmw</t>
          </li>
          <li>
            <t>Claim Description: A RATS Conceptual Message Wrapper</t>
          </li>
          <li>
            <t>JWT Claim Name: cmw</t>
          </li>
          <li>
            <t>Claim Key: CPA299</t>
          </li>
          <li>
            <t>Claim Value Type(s): CBOR Map, CBOR Array, or CBOR Tag</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="type-n-val"/>, <xref target="cmw-coll"/> and <xref target="cbor-tag"/> of RFCthis</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-jwt">
        <name>JWT <tt>cmw</tt> Claim Registration</name>
        <t>IANA is requested to add a new <tt>cmw</tt> claim to the "JSON Web Token Claims" 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="iana-cbor-tag">
        <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">CPA765</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>
        <t>This registry is to be added to the Remote Attestation Procedures (RATS) registry group at <xref target="IANA.rats"/>.</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..9999 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 "SMI Security for PKIX Certificate Extension" sub-registry of the "SMI Numbers" <xref target="IANA.smi-numbers"/> registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">id-pe-cmw</td>
              <td align="left">
                <xref target="x509"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to assign an object identifier (OID) for the ASN.1 Module defined in <xref target="asn1-x509"/> in the "SMI Security for PKIX Module Identifier" sub-registry of the "SMI Numbers" <xref target="IANA.smi-numbers"/> registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">id-mod-cmw-collection-extn</td>
              <td align="left">
                <xref target="asn1-x509"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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:.plus,.cat, and.det for the construction of constants;.abnf/.abnfb for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and.feature for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="RFC9277">
          <front>
            <title>On Stable Storage for Items in Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document defines a stored ("file") format for Concise Binary Object Representation (CBOR) data items that is friendly to common systems that recognize file types, such as the Unix file(1) command.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9277"/>
          <seriesInfo name="DOI" value="10.17487/RFC9277"/>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="IANA.cwt" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.jwt" target="https://www.iana.org/assignments/jwt">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="BCP26">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="X.680">
          <front>
            <title>Specification of Abstract Syntax Notation One (ASN.1): Specification of Basic Notation</title>
            <author>
              <organization>International Telephone and Telegraph
Consultative Committee</organization>
            </author>
            <date month="July" year="1994"/>
          </front>
          <seriesInfo name="CCITT" value="Recommendation X.680"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.rats" target="https://www.iana.org/assignments/rats">
          <front>
            <title>Remote Attestation Procedures (RATS)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.smi-numbers" target="https://www.iana.org/assignments/smi-numbers">
          <front>
            <title>Structure of Management Information (SMI) Numbers (MIB Module Registrations)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="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="6" month="September" 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-31"/>
        </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="3" month="November" 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-12"/>
        </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="2" month="September" 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-07"/>
        </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="3" month="November" year="2024"/>
            <abstract>
              <t>   This document defines the Unprotected CWT Claims Set (UCCS), a data
   format for representing a CBOR Web Token (CWT) Claims Set without
   protecting it by a signature, message authentication code (MAC), or
   encryption.  UCCS enables the use of CWT claims in environments where
   protection is provided by other means, such as secure communication
   channels or trusted execution environments.  This specification
   defines a CBOR tag for UCCS and describes the UCCS format, its
   encoding, and processing considerations, and discusses security
   implications of using unprotected claims sets.


   // (This editors' note will be removed by the RFC editor:) The
   // present revision (–12) contains remaining document changes based
   // on feedback from the IESG evaluation and has been submitted as
   // input to IETF 121.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-uccs-12"/>
        </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="21" month="October" 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-08"/>
        </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="21" month="October" 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-14"/>
        </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="18" month="October" year="2024"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

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

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

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

<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-tagged-cbor<tn, fmt> = #6.<tn>(bytes .cbor fmt)

cbor-tagged-data<tn> = #6.<tn>(bytes)

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 anchor="rfced_2">RFC Editor:</cref> please remove before publication.</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,
<contact fullname="Ionuț Mihalcea"/>,
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>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="L." surname="Lundblade" fullname="Laurence Lundblade">
        <organization>Security Theory LLC</organization>
        <address>
          <email>lgl@securitytheory.com</email>
        </address>
      </contact>
      <t>Laurence made significant contributions to enhancing the security requirements and considerations for CMW collections.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
oaRzWVBNtTmt3eO6ojID7NnCBJhWZGhp3LY2KFdGnzfbU9pyqzE7Ny5XbZvL
q7x3PKvd6eiLWq7PNzPOgVreoBqZC0NNLgIJqdJ3YNmLE9k6iYv4muctuYWP
v5Q38VlfH4hnD7NgylYqJ83kMmT4uJZjFfVV0UYLw92Kyy3oA73cuSeMM+pX
0B9eYB3VfJIut6CpoO4RaCaE0F5stbY9wo5n1D9V/kIh6UwMWpjxtaepOVjl
uuZyEOdMHRNlEe7Ft0ilHAPucCJRTTC5P4HdddJs2hJcSiQakAQg1MNtdkjb
RJIEbRwt8qdJWSBJk5DQZkFyeLapNflRqcl7Wpf3ni0zITu4JF1DRph4/QYy
8ppdBf7TkBE25lCvnDXKhspzatD/Ii7/FMSF/Qt/R+Ii7f0nIC6VYD2lo/zW
SJnGNFMTNVdfmWN078aKaMCa0bXtHpXiaksMk9fFXAh8Usmwf5SenbSAxJow
NRzjmDEzkhLll6SLfVjvqney2Z/0P9MP0n6P6zKuWiXAUSEfcvGD4+5vl1JX
kfayg96vklDdRIdGQn2Ci1FWrHVD/C5Mdse2TAudcPfOQV1ur6Tjhert7nU6
h/QnV0mIqoJezh+fqicaCVzldq3yIj5+6xNgr04bUr30hxOSvLdIhzGcO1de
StImN8OSzcmw5gDAmUVpvc5nUXkMZ1Uoxq1jok0z2mZ3rp3fRaeclxuJIe6c
bBZ35djrVuLfCKxK2pYKrMoMLh8DmK5d5iv/fwSsNYlVGHrubOogJHVTwWvT
dT0K9f2q7zZq2U6dRKWSOfU+H994WKb7lSTlOpO459mH+r0OQNhUtfRqnk0+
rm/osQXrKc43lb3Ox/tnuczzH3rH1D9DCvp/dGJcr1w5KsoG7U4wTCaqWb1I
msAfFBUu6Q8ePHnY8pZ6N63Qrg7fzlXj5cD/a+D/suUf/uy/+qqBTWO6+6LJ
6SKNUCpHFH21RU8dp3t60sUTbcHtK4RlV1ONscm2r7Y94MY6LL2vUZAvrOp5
Hi3K0mCbL7f83qtWs/nTT52t1h3+e9n1D1/R48NXX7ZaXzY8bwkI1Mq96mOl
6Fk9N8OXTfXl+TPV+LrB/5eqT8srv/PffZ04u3G/oZr6+6b62wL35Rgw00zl
hf27r7pfFnC68/jTfdH4lwY10Njgz3/lz3/jzy/486d7/N+XJujP/tHDr/iV
z58d/vwP/vyZPy/5844//76i+vHpt6cX9P/g0bPvBl51BjSuf3vb6wEufxvz
Mtg5zoOIwMKvPf2unAzBbhOvuvLftr/7gL/tHvv7J57bgsz9JwCRK/3l6LvB
GSBXX5r7SuQofG9sMiezDwjO9t19OL2w3E1d8Eu35IrXXu3BchFfEoB/2e3t
1d9gFfN6C7o8NcQwNTBeKsaVl4phnUpcWJ/eQCPJF87im2Vf09N9wY+v4ZqQ
wWU9QxQMn1jIiMdIQs5XlHw4q8LXWplDYqdJMAoLNk98oNevar0GE2ykOKA+
5/Ei/+xO7U0AY6MY8h0Tbz1PQChoRQi3veVvH1Ya2SLh/NB79vTcl6JSrFsv
1uVisjC2tZ2uvztgRN7r+vsDKjagYn+lJwH9/4tHGGy3APB+yxN0Lp9QtZNK
P3PaZ3L6Ozg/Oj1VzSSljdDy7nkmPu1M620mNuJ5rvOg5jhmQbb0q/SmSCFh
kdhkvNHyymmjiWVC9msnzS27e3vmnnud0dBJ2mo8igp9aWNevfC45k6pncCc
PuTiOXtfSeXwuHIDEES3IMivpwYFOrUjiE7lWUcXg8gJW8vJ4GJT0kvd8TOt
6JIMacqVhphm3uInd3z+Js/Lcl/ZO3LNkzsxjskvM7xLGsRXvvnw/Xv8zDy5
5yLynf2oPqmV6Zim5O8rzLhW5o4LOrPjh2WZjt+kehhKYrRFGVXTAsxUUnW1
XzdfLcbTdGbJ81xRrDIx582aYtcfKVZb+459Y1/UpoPj4UWRwnIjnu328R0p
ijqusN7NnU5/Jhiu3DrmyYo62Akv9fW+r9w6eLGyjgHiVyUIHejy03ufCM81
HZhfDtya/O8zmv59lgqLtaLYpirJCIgGHlSKXePfZb2te/oNF1vqafUfY8am
qv9xr/U/8NalTlf/3avcTmHp7cfupvguvVEXqTriEBDx5OazRfV0TlT0NM8X
Jgsh2xZJ/y2NmymKRFykDPwrgyYrScmDwlsdiVdc0a7IScTOc9oc2hFgUgzz
miOA9NNynaKrfrpaTHAOvdlXezBCDHQcjqeS0/xdX0wG4fh+YxLEeWhu3QjY
2GlyAEv+MZxrB8kb70EW0WSOgtmc9K647R0FWaxe0EYmyYJ/EblL1ANxqW57
x9R5Eqhv4+AXev3u3bvTNFn8r/+uHkdXQTwKg/fv37e9xxEJH6RaPeio79Mk
zOlJehUViIG6itre2SLP1Xe46y+85aBq7yKdSUlvYmNrJbxV7PI5rtXM5dii
njNeX2FbPVKxIcazdCw5D6rh2s5dkRyKOrxV5xGuKX2Ypbm+aSgBZ9Np8k9W
BLiDM+lTmqUsAIW4p3MHCEnhFIdyojJazjnKXd/LdRyRuIchZgz3/C0Q7Ria
u4Nw9y7CJeTiVp3mWEc+mjvnTmp3ezJewcv7VV8hNV6ffjLK0e+nFs/7Fvn6
7MJ/QmJEmvW9/wNAJ/otjqIAAA==

-->

</rfc>
