<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-rats-msg-wrap-23" number="9999" updates="" obsoletes="" xml:lang="en" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" prepTime="2026-07-14T13:57:32" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-rats-msg-wrap-23" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9999" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="RATS CMW">Remote ATtestation procedureS (RATS) Conceptual Message Wrapper (CMW)</title>
    <seriesInfo name="RFC" value="9999" stream="IETF"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization showOnFrontPage="true">Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization showOnFrontPage="true">Independent</organization>
      <address>
        <email>ned.smith.ietf@outlook.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization showOnFrontPage="true">Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="UniBw M." showOnFrontPage="true">University of the Bundeswehr Munich</organization>
      <address>
        <postal>
          <street>Werner-Heisenberg-Weg 39</street>
          <extaddr>Institute of Distributed Intelligent Systems</extaddr>
          <city>Neubiberg</city>
          <code>85577</code>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <date month="07" year="2026"/>
    <area>SEC</area>
    <workgroup>rats</workgroup>
    <keyword>evidence</keyword>
    <keyword>attestation results</keyword>
    <keyword>endorsements</keyword>
    <keyword>reference values</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions.
Conceptual messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details.
The initial set of conceptual messages is defined in Section 8 of RFC 9334 and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t indent="0" pn="section-abstract-2">This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages.
      It defines a dedicated Concise Binary Object Representation (CBOR) tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
      <t indent="0" pn="section-abstract-3">Together, these mechanisms allow CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts such as X.509 certificates.
Additionally, this document defines media types and CoAP Content-Formats that may be used to identify CMWs when transported over protocols such as HTTP, MIME, and CoAP.</t>
      <t indent="0" pn="section-abstract-4">The goal is to improve the interoperability and flexibility of remote attestation protocols. Introducing a shared message format such as CMW enables consistent support for different attestation message types, enables the evolution of message serialization formats without breaking compatibility, and avoids the need to redefine how messages are handled within each protocol.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9999" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conceptual-message-wrappers">Conceptual Message Wrappers</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-record-cmw">Record CMW</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conceptual-message-type">Conceptual Message Type</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-tag-cmw">Tag CMW</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-how-to-plug-in-a-new-tag-cm">How to Plug in a New Tag CMW</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-collection-cmw">Collection CMW</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-demuxing">Demuxing</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cryptographic-protection-of">Cryptographic Protection of CMWs</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signing-cbor-cmw-using-cose">Signing CBOR CMW Using COSE_Sign1</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signing-json-cmw-using-jws">Signing JSON CMW Using JWS</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transporting-cmw-in-cose-an">Transporting CMW in COSE and JSON Web Tokens</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.3.2">
                  <li pn="section-toc.1-1.4.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.1.1"><xref derivedContent="4.3.1" format="counter" sectionFormat="of" target="section-4.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-encoding-requirements">Encoding Requirements</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transporting-cmw-in-pkix-fo">Transporting CMW in PKIX Formats</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.4.2">
                  <li pn="section-toc.1-1.4.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.1.1"><xref derivedContent="4.4.1" format="counter" sectionFormat="of" target="section-4.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-asn1-module">ASN.1 Module</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.2.1"><xref derivedContent="4.4.2" format="counter" sectionFormat="of" target="section-4.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-compatibility-with-trusted-">Compatibility with Trusted Computing Group (TCG) ConceptualMessageWrapper</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples">Examples</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-json-encoded-record">JSON-Encoded Record</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cbor-encoded-record">CBOR-Encoded Record</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cbor-encoded-tag-cmw">CBOR-Encoded Tag CMW</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cbor-encoded-record-with-an">CBOR-Encoded Record with an Explicit Conceptual Message Indicator</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cbor-encoded-collection">CBOR-Encoded Collection</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t indent="0" pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-json-encoded-collection">JSON-Encoded Collection</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.7">
                <t indent="0" pn="section-toc.1-1.5.2.7.1"><xref derivedContent="5.7" format="counter" sectionFormat="of" target="section-5.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-in-jwt">Use in JWT</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-collected-cddl">Collected CDDL</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-privacy-considerations">Privacy Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cmw-protection">CMW Protection</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-using-collection-cmws-for-e">Using Collection CMWs for Evidence of Composite or Layered Devices</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-integrating-cmw-into-protoc">Integrating CMW into Protocols</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cwt-cmw-claim-registration">CWT <tt>cmw</tt> Claim Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-jwt-cmw-claim-registration">JWT <tt>cmw</tt> Claim Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-jws-structured-syntax-suffi"><tt>+jws</tt> Structured Syntax Suffix</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.3.2">
                  <li pn="section-toc.1-1.9.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.3.2.1.1"><xref derivedContent="9.3.1" format="counter" sectionFormat="of" target="section-9.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registry-entry">Registry Entry</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.4">
                <t indent="0" pn="section-toc.1-1.9.2.4.1"><xref derivedContent="9.4" format="counter" sectionFormat="of" target="section-9.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rats-conceptual-message-wra">RATS Conceptual Message Wrapper (CMW) Indicators Registry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.4.2">
                  <li pn="section-toc.1-1.9.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.4.2.1.1"><xref derivedContent="9.4.1" format="counter" sectionFormat="of" target="section-9.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-structure-of-entries">Structure of Entries</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.5">
                <t indent="0" pn="section-toc.1-1.9.2.5.1"><xref derivedContent="9.5" format="counter" sectionFormat="of" target="section-9.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-types">Media Types</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.5.2">
                  <li pn="section-toc.1-1.9.2.5.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.5.2.1.1"><xref derivedContent="9.5.1" format="counter" sectionFormat="of" target="section-9.5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-application-cmwcbor"><tt>application/cmw+cbor</tt></xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.5.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.5.2.2.1"><xref derivedContent="9.5.2" format="counter" sectionFormat="of" target="section-9.5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-application-cmwjson"><tt>application/cmw+json</tt></xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.5.2.3">
                    <t indent="0" pn="section-toc.1-1.9.2.5.2.3.1"><xref derivedContent="9.5.3" format="counter" sectionFormat="of" target="section-9.5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-application-cmwcose"><tt>application/cmw+cose</tt></xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.5.2.4">
                    <t indent="0" pn="section-toc.1-1.9.2.5.2.4.1"><xref derivedContent="9.5.4" format="counter" sectionFormat="of" target="section-9.5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-application-cmwjws"><tt>application/cmw+jws</tt></xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.6">
                <t indent="0" pn="section-toc.1-1.9.2.6.1"><xref derivedContent="9.6" format="counter" sectionFormat="of" target="section-9.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-coap-content-formats">CoAP Content-Formats</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.6.2">
                  <li pn="section-toc.1-1.9.2.6.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.6.2.1.1"><xref derivedContent="9.6.1" format="counter" sectionFormat="of" target="section-9.6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registering-new-coap-conten">Registering New CoAP Content-Formats for Parameterized CMW Media Types</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.6.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.6.2.2.1"><xref derivedContent="9.6.2" format="counter" sectionFormat="of" target="section-9.6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cbor-tags-per-rfc-9277">CBOR Tags per RFC 9277</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.7">
                <t indent="0" pn="section-toc.1-1.9.2.7.1"><xref derivedContent="9.7" format="counter" sectionFormat="of" target="section-9.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-smi-number-registration">SMI Number Registration</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registering-and-using-cmws">Registering and Using CMWs</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.d"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture <xref target="RFC9334" format="default" sectionFormat="of" derivedContent="RFC9334"/> are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions.
Conceptual messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details.
The initial set of conceptual messages is defined in <xref section="8" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-8" derivedContent="RFC9334"/> and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t indent="0" pn="section-1-2">Each conceptual message can have multiple claim-encoding and serialization
formats (<xref section="9" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-9" derivedContent="RFC9334"/>). Throughout their lifetime, RATS
conceptual messages are typically transported over different protocols.
For example:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-3">
        <li pn="section-1-3.1">
          <t indent="0" pn="section-1-3.1.1">In a "background-check" topology (<xref section="5.2" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-5.2" derivedContent="RFC9334"/>), Evidence (e.g., Entity Attestation Token (EAT) <xref target="RFC9711" format="default" sectionFormat="of" derivedContent="RFC9711"/>) first flows from the Attester to the Relying Party (RP); then it flows from the RP to the Verifier and each leg following a separate protocol path. See <xref target="topo-1" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
          <figure anchor="topo-1" align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-conveyance-of-rats-conceptu">Conveyance of RATS Conceptual Messages in the
          'background-check' Topology</name>
            <artset pn="section-1-3.1.2.1">
              <artwork type="svg" align="left" pn="section-1-3.1.2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="344" viewBox="0 0 344 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,144 L 8,176" fill="none" stroke="black"/>
                  <path d="M 112,144 L 112,176" fill="none" stroke="black"/>
                  <path d="M 232,32 L 232,64" fill="none" stroke="black"/>
                  <path d="M 232,144 L 232,176" fill="none" stroke="black"/>
                  <path d="M 264,72 L 264,144" fill="none" stroke="black"/>
                  <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
                  <path d="M 336,144 L 336,176" fill="none" stroke="black"/>
                  <path d="M 232,32 L 336,32" fill="none" stroke="black"/>
                  <path d="M 232,64 L 336,64" fill="none" stroke="black"/>
                  <path d="M 8,144 L 112,144" fill="none" stroke="black"/>
                  <path d="M 232,144 L 256,144" fill="none" stroke="black"/>
                  <path d="M 272,144 L 336,144" fill="none" stroke="black"/>
                  <path d="M 112,160 L 224,160" fill="none" stroke="black"/>
                  <path d="M 240,160 L 248,160" fill="none" stroke="black"/>
                  <path d="M 8,176 L 112,176" fill="none" stroke="black"/>
                  <path d="M 232,176 L 336,176" fill="none" stroke="black"/>
                  <path d="M 248,160 C 256.83064,160 264,152.83064 264,144" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="272,72 260,66.4 260,77.6" fill="black" transform="rotate(270,264,72)"/>
                  <polygon class="arrowhead" points="232,160 220,154.4 220,165.6" fill="black" transform="rotate(0,224,160)"/>
                  <g class="text">
                    <text x="284" y="52">Verifier</text>
                    <text x="288" y="100">EAT</text>
                    <text x="292" y="116">over</text>
                    <text x="292" y="132">REST</text>
                    <text x="328" y="132">API</text>
                    <text x="60" y="164">Attester</text>
                    <text x="316" y="164">RP</text>
                    <text x="136" y="180">EAT</text>
                    <text x="172" y="180">over</text>
                    <text x="208" y="180">TLS</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="left" pn="section-1-3.1.2.1.2">
                            .------------.
                            |  Verifier  |
                            '------------'
                                ^
                                | EAT
                                | over
                                | REST API
.------------.              .---|--------.
|  Attester  +-------------&gt;|--'      RP |
'------------' EAT over TLS '------------'</artwork>
            </artset>
          </figure>
        </li>
        <li pn="section-1-3.2">
          <t indent="0" pn="section-1-3.2.1">In a "passport" topology (<xref section="5.1" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-5.1" derivedContent="RFC9334"/>), an attestation result payload (e.g., EAT Attestation Result (EAR) <xref target="I-D.ietf-rats-ear" format="default" sectionFormat="of" derivedContent="EAR"/>) is initially sent from the Verifier to the Attester; later, it is sent via a different channel from the Attester to the RP.  See <xref target="topo-2" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
          <figure anchor="topo-2" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-conveyance-of-rats-conceptua">Conveyance of RATS Conceptual Messages in the 'passport'
          Topology</name>
            <artset pn="section-1-3.2.2.1">
              <artwork type="svg" align="left" pn="section-1-3.2.2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="344" viewBox="0 0 344 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                  <path d="M 8,144 L 8,176" fill="none" stroke="black"/>
                  <path d="M 80,64 L 80,136" fill="none" stroke="black"/>
                  <path d="M 112,32 L 112,64" fill="none" stroke="black"/>
                  <path d="M 112,144 L 112,176" fill="none" stroke="black"/>
                  <path d="M 232,144 L 232,176" fill="none" stroke="black"/>
                  <path d="M 336,144 L 336,176" fill="none" stroke="black"/>
                  <path d="M 8,32 L 112,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 112,64" fill="none" stroke="black"/>
                  <path d="M 8,144 L 112,144" fill="none" stroke="black"/>
                  <path d="M 232,144 L 336,144" fill="none" stroke="black"/>
                  <path d="M 112,160 L 224,160" fill="none" stroke="black"/>
                  <path d="M 8,176 L 112,176" fill="none" stroke="black"/>
                  <path d="M 232,176 L 336,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="232,160 220,154.4 220,165.6" fill="black" transform="rotate(0,224,160)"/>
                  <polygon class="arrowhead" points="88,136 76,130.4 76,141.6" fill="black" transform="rotate(90,80,136)"/>
                  <g class="text">
                    <text x="60" y="52">Verifier</text>
                    <text x="56" y="84">EAR</text>
                    <text x="52" y="100">over</text>
                    <text x="20" y="116">REST</text>
                    <text x="56" y="116">API</text>
                    <text x="60" y="164">Attester</text>
                    <text x="284" y="164">RP</text>
                    <text x="136" y="180">EAR</text>
                    <text x="172" y="180">over</text>
                    <text x="208" y="180">TLS</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="left" pn="section-1-3.2.2.1.2">
 .------------.
 |  Verifier  |
 '--------+---'
      EAR |
     over |
 REST API |
          v
 .------------.              .------------.
 |  Attester  +-------------&gt;|     RP     |
 '------------' EAR over TLS '------------'</artwork>
            </artset>
          </figure>
        </li>
      </ul>
      <t indent="0" pn="section-1-4">By using the CMW format outlined in this document, protocol designers can avoid the need
to update protocol specifications to accommodate different conceptual messages and
serialization formats used by various attestation technologies. This approach streamlines
the implementation process for developers, enabling easier support for diverse attestation
technologies. For instance, an RP application implementer does not need to parse
attestation-related messages, such as Evidence from Attesters on Internet of Things (IoT) devices with Trusted
Platform Modules (TPMs) or servers using confidential computing hardware like Intel Trust
Domain Extensions (TDX). Instead, they can leverage the CMW format, remaining agnostic
to the specific attestation technology.</t>
      <t indent="0" pn="section-1-5">A further design goal is extensibility.
This means that adding support for new conceptual messages and new attestation technologies should not change the core of the processor; it also means that a CMW stack can be designed to offer a plug-in interface for both encoding and decoding.
To achieve this, the format must provide consistent message encapsulation and explicit typing.
These features allow the selection of the appropriate message handler based on its type identifier.
An opaque message can then be passed between the core and the handler.</t>
      <t indent="0" pn="section-1-6">This document defines two encapsulation formats for RATS conceptual
messages that aim to achieve the goals stated above.</t>
      <t indent="0" pn="section-1-7">These encapsulation formats have been specifically designed to possess the following characteristics:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-8">
        <li pn="section-1-8.1">
          <t indent="0" pn="section-1-8.1.1">They are self-describing: they can convey precise typing information without relying on the framing provided by the embedding protocol or the storage system.</t>
        </li>
        <li pn="section-1-8.2">
          <t indent="0" pn="section-1-8.2.1">They are based on media types <xref target="RFC6838" format="default" sectionFormat="of" derivedContent="RFC6838"/>, which allows the cost of their registration to be spread across numerous usage scenarios.</t>
        </li>
      </ul>
      <t indent="0" pn="section-1-9">A protocol designer could use these formats, for example, to:</t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-1-10">
        <li pn="section-1-10.1">convey
Evidence, Endorsements, and Reference Values in certificates and Certificate Revocation List (CRL) 
	extensions <xref target="DICE-ARCH" format="default" sectionFormat="of" derivedContent="DICE-ARCH"/>;</li>
        <li pn="section-1-10.2">embed Attestation Results or Evidence as
first-class authentication credentials in TLS handshake messages
	<xref target="I-D.fossati-seat-early-attestation" format="default" sectionFormat="of" derivedContent="RA-TLS-DTLS"/> <xref target="I-D.fossati-seat-expat" format="default" sectionFormat="of" derivedContent="RA-EXP-AUTH"/>;</li>
        <li pn="section-1-10.3">transport attestation-related payloads in RESTful APIs (where "RESTful" refers to the Representational State Transfer (REST) architecture); or</li>
        <li pn="section-1-10.4">serve as stable storage of Attestation Results in the form of file system
objects.</li>
      </ul>
      <t indent="0" pn="section-1-11">This document also defines a corresponding CBOR tag, JWT and CWT claims, and an X.509 extension.
These allow embedding the wrapped conceptual messages into CBOR-based protocols, web APIs, and PKIX formats and protocols.
In addition, media types and CoAP Content-Formats are defined for transporting CMWs in HTTP, MIME, CoAP, and other Internet protocols.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t indent="0" pn="section-2-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
      <t indent="0" pn="section-2-2">In this document, Concise Data Definition Language (CDDL) (see <xref target="RFC8610" format="default" sectionFormat="of" derivedContent="RFC8610"/>, <xref target="RFC9165" format="default" sectionFormat="of" derivedContent="RFC9165"/>, and <xref target="RFC9741" format="default" sectionFormat="of" derivedContent="RFC9741"/>) is used to describe the
data formats.</t>
      <t indent="0" pn="section-2-3">The reader is assumed to be familiar with the vocabulary and concepts
defined in <xref target="RFC9334" format="default" sectionFormat="of" derivedContent="RFC9334"/>.</t>
      <t indent="0" pn="section-2-4">This document reuses the terms defined in <xref section="2" sectionFormat="of" target="RFC9193" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9193#section-2" derivedContent="RFC9193"/>
(e.g., "Content-Type").</t>
    </section>
    <section anchor="conceptual-message-wrappers" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-conceptual-message-wrappers">Conceptual Message Wrappers</name>
      <t indent="0" pn="section-3-1">A RATS CMW has a tree structure.
Leaf nodes are of type "Record" (<xref target="type-n-val" format="default" sectionFormat="of" derivedContent="Section 3.1"/>) or "Tag" (<xref target="cbor-tag" format="default" sectionFormat="of" derivedContent="Section 3.2"/>).
Intermediate nodes are of type "Collection" (<xref target="cmw-coll" format="default" sectionFormat="of" derivedContent="Section 3.3"/>); they hold together multiple CMW items.</t>
      <t indent="0" pn="section-3-2">The following snippet outlines the productions associated with the top-level types.</t>
      <sourcecode type="cddl" markers="false" pn="section-3-3">
start = cmw

cmw = json-cmw / cbor-cmw

json-cmw = json-record / json-collection
cbor-cmw = cbor-record / cbor-collection / $cbor-tag</sourcecode>
      <t indent="0" pn="section-3-4">The complete CDDL can be found in <xref target="collected-cddl" format="default" sectionFormat="of" derivedContent="Section 6"/>.</t>
      <t indent="0" pn="section-3-5">Sections <xref target="webtokens" format="counter" sectionFormat="of" derivedContent="4.3"/> and <xref target="x509" format="counter" sectionFormat="of" derivedContent="4.4"/> describe the transport of CMWs using CBOR, JWTs, and PKIX formats including Certificate Signing Requests (CSRs), X.509 certificates, and CRLs.</t>
      <t indent="0" pn="section-3-6">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" format="default" sectionFormat="of" derivedContent="Section 8"/>.</t>
      <section anchor="type-n-val" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-record-cmw">Record CMW</name>
        <t indent="0" pn="section-3.1-1">The format of the Record CMW is shown in <xref target="fig-cddl-record" format="default" sectionFormat="of" derivedContent="Figure 3"/>.
The JSON <xref target="STD90" format="default" sectionFormat="of" derivedContent="STD90"/> and CBOR <xref target="STD94" format="default" sectionFormat="of" derivedContent="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" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-cddl-definition-of-the-reco">CDDL Definition of the Record CMW</name>
          <sourcecode type="cddl" markers="false" pn="section-3.1-2.1">
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
]</sourcecode>
        </figure>
        <t keepWithNext="true" indent="0" pn="section-3.1-3">Each contains two or three members:</t>
        <dl newline="true" indent="3" spacing="normal" pn="section-3.1-4">
          <dt pn="section-3.1-4.1"><tt>type</tt>:</dt>
          <dd pn="section-3.1-4.2">
            <t indent="0" pn="section-3.1-4.2.1">Either a text string representing a Content-Type (e.g., an EAT media type
<xref target="RFC9782" format="default" sectionFormat="of" derivedContent="RFC9782"/>) or an unsigned integer corresponding to a CoAP Content-Format
ID (<xref section="12.3" sectionFormat="of" target="RFC7252" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7252#section-12.3" derivedContent="RFC7252"/>).
The latter is not used in the JSON serialization.</t>
          </dd>
          <dt pn="section-3.1-4.3"><tt>value</tt>:</dt>
          <dd pn="section-3.1-4.4">
            <t indent="0" pn="section-3.1-4.4.1">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" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4648#section-5" derivedContent="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 pn="section-3.1-4.5"><tt>ind</tt>:</dt>
          <dd pn="section-3.1-4.6">
            <t indent="0" pn="section-3.1-4.6.1">An optional bitmap with a maximum size of 4 bytes that indicates which conceptual message types are
carried in the <tt>value</tt> field.  Any combination (i.e., any value between
1 and 2<sup>32</sup>-1 inclusive) is allowed.  Only 5 bits are registered in this document, so the acceptable values are currently limited to 1 to 31.  This is useful only if the <tt>type</tt> is
potentially ambiguous and there is no further context available to the
CMW consumer to decide.  For example, this might be the case if the base
media type is not profiled (e.g., <tt>application/eat+cwt</tt>), if the <tt>value</tt>
field contains multiple conceptual messages with different types (e.g.,
both Reference Values and Endorsements within the same <tt>application/rim+cose</tt>), or if the same profile identifier is
shared by different conceptual messages.
The value <bcp14>MUST</bcp14> be non-zero. The absence of information about the conceptual message indicator is indicated by omitting the <tt>ind</tt> field entirely.
For further details, see <xref target="cm-type" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/>.</t>
          </dd>
        </dl>
        <section anchor="cm-type" numbered="true" removeInRFC="false" toc="include" pn="section-3.1.1">
          <name slugifiedName="name-conceptual-message-type">Conceptual Message Type</name>
          <t indent="0" pn="section-3.1.1-1">The <tt>cm-type</tt> type is the control type for the <tt>ind</tt> field.
As such, it indicates which bits are allowed to be set in the <tt>ind</tt> bitmap.</t>
          <figure anchor="fig-cddl-cm-type" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-cddl-definition-of-the-cm-t">CDDL Definition of the CM Type</name>
            <sourcecode type="cddl" markers="false" pn="section-3.1.1-2.1">
cm-type = &amp;(
  reference-values: 0
  endorsements: 1
  evidence: 2
  attestation-results: 3
  appraisal-policy: 4
)</sourcecode>
          </figure>
          <t indent="0" pn="section-3.1.1-3">The <tt>cm-type</tt> as defined by this document has five allowed values: Reference Values, Endorsements, Evidence, Attestation Results, and Appraisal Policy, as defined in <xref section="8" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-8" derivedContent="RFC9334"/>.
Note that an Appraisal Policy may refer to the appraisal of Evidence or Attestation Results, depending on whether the consumer of the conceptual message is a Verifier or an RP.</t>
          <t indent="0" pn="section-3.1.1-4">It is recommended that future specifications extending the RATS conceptual messages add new values to the <tt>cm-type</tt> using the process defined in <xref target="iana-ind-ext" format="default" sectionFormat="of" derivedContent="Section 9.4"/>.</t>
        </section>
      </section>
      <section anchor="cbor-tag" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-tag-cmw">Tag CMW</name>
        <t indent="0" pn="section-3.2-1">Tag CMWs derive their tag numbers from a corresponding CoAP Content-Format ID using the <tt>TN()</tt> transform defined in <xref section="B" sectionFormat="of" target="RFC9277" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9277#appendix-B" derivedContent="RFC9277"/>.
Such CBOR tag numbers are in the range [1668546817, 1668612095].</t>
        <t indent="0" pn="section-3.2-2">The RATS conceptual message is first serialized according to the Content-Format ID and then encoded as a CBOR byte string, to which the TN-derived tag number is prepended.</t>
        <t indent="0" pn="section-3.2-3">The Tag CMW is defined in <xref target="fig-cddl-cbor-tag" format="default" sectionFormat="of" derivedContent="Figure 5"/> using two different macros: one for CBOR-encoded types and the other for all other types.
Both macros take the CBOR tag number <tt>tn</tt> as a parameter.
The <tt>tag-cm-cbor</tt> macro takes the CDDL definition of the associated conceptual message <tt>fmt</tt> as a second parameter.</t>
        <figure anchor="fig-cddl-cbor-tag" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-cddl-definition-of-the-tag-">CDDL Definition of the Tag CMW Macros</name>
          <sourcecode type="cddl" markers="false" pn="section-3.2-4.1">
tag-cm-cbor&lt;tn, fmt&gt; = #6.&lt;tn&gt;(bytes .cbor fmt)

tag-cm-data&lt;tn&gt; = #6.&lt;tn&gt;(bytes)</sourcecode>
        </figure>
        <section anchor="how-to-plug-in-a-new-tag-cmw" numbered="true" removeInRFC="false" toc="include" pn="section-3.2.1">
          <name slugifiedName="name-how-to-plug-in-a-new-tag-cm">How to Plug in a New Tag CMW</name>
          <t indent="0" pn="section-3.2.1-1">To plug a new Tag CMW into the CDDL defined in <xref target="collected-cddl" format="default" sectionFormat="of" derivedContent="Section 6"/>, the <tt>$cbor-tag</tt> type socket must be extended with a new instance of the Tag CMW macro (i.e., one of <tt>tag-cm-cbor</tt> or <tt>tag-cm-data</tt>).</t>
          <t indent="0" pn="section-3.2.1-2">For instance, if a conceptual message of type <tt>my-evidence</tt> has the TN-derived CBOR tag <tt>1668612069</tt>, <tt>$cbor-tag</tt> would be extended as follows:</t>
          <sourcecode type="cddl" markers="false" pn="section-3.2.1-3">
$cbor-tag /= tag-cm-cbor&lt;1668612069, my-evidence&gt;

my-evidence = {
  &amp;(eat_nonce: 10) =&gt; bytes .size (8..64)
}</sourcecode>
          <t indent="0" pn="section-3.2.1-4">Instead, if a (non-CBOR) conceptual message has the TN-derived CBOR tag <tt>1668612070</tt>, <tt>$cbor-tag</tt> would be extended as follows:</t>
          <sourcecode type="cddl" markers="false" pn="section-3.2.1-5">
$cbor-tag /= tag-cm-data&lt;1668612070&gt;</sourcecode>
          <t indent="0" pn="section-3.2.1-6">The socket is initialized as described in <xref target="fig-9277-tags" format="default" sectionFormat="of" derivedContent="Figure 7"/>.</t>
        </section>
      </section>
      <section anchor="cmw-coll" numbered="true" removeInRFC="false" toc="include" pn="section-3.3">
        <name slugifiedName="name-collection-cmw">Collection CMW</name>
        <t indent="0" pn="section-3.3-1">Layered Attesters and composite devices (Sections <xref target="RFC9334" section="3.2" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-3.2" derivedContent="RFC9334"/> and <xref target="RFC9334" section="3.3" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-3.3" derivedContent="RFC9334"/> of <xref target="RFC9334" format="default" sectionFormat="of" derivedContent="RFC9334"/>) generate Evidence that consists of multiple parts.
For example, in data center servers, it is not uncommon for separate attesting environments (AEs) 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 PCI Express (PCIe) slot, and a third AE might measure and attest to what was booted on the machine's Graphics Processing Unit (GPU).
To allow aggregation of multiple, potentially non-homogeneous evidence formats collected from different AEs, this document defines a Collection CMW as a container that holds several CMW items, each with a label that is unique within the scope of the collection.</t>
        <t indent="0" pn="section-3.3-2">Although originally designed to support layered Attester and composite device use cases, the Collection CMW can be adapted for other scenarios that require the aggregation of RATS conceptual messages.
For instance, collections may be used to group Endorsements, Reference Values, Attestation Results, and more.
A single Collection CMW can contain a mix of different message types; it can also be used to carry messages related to multiple devices simultaneously.</t>
        <t indent="0" pn="section-3.3-3">The Collection CMW (<xref target="fig-cddl-collection" format="default" sectionFormat="of" derivedContent="Figure 6"/>) is defined as a CBOR map or JSON object containing CMW values.
The position of a <tt>cmw</tt> entry in the <tt>cmw-collection</tt> is not significant.
Labels can be strings (or integers in the CBOR serialization) that serve as a mnemonic for different conceptual messages in the collection.</t>
        <figure anchor="fig-cddl-collection" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-cddl-definition-of-the-coll">CDDL Definition of the Collection CMW</name>
          <sourcecode type="cddl" markers="false" pn="section-3.3-4.1">
json-collection = {
  ? "__cmwc_t": ~uri / oid
  + &amp;(label: text) =&gt; json-cmw
}

cbor-collection = {
  ? "__cmwc_t": ~uri / oid
  + &amp;(label: (int / text)) =&gt; cbor-cmw
}</sourcecode>
        </figure>
        <t indent="0" pn="section-3.3-5">A collection <bcp14>MUST</bcp14> have at least one CMW entry.</t>
        <t indent="0" pn="section-3.3-6">The <tt>"__cmwc_t"</tt> key is reserved for associating an optional type with the overall collection and <bcp14>MUST NOT</bcp14> be used for any purpose other than described here.</t>
        <t indent="0" pn="section-3.3-7">The value of the <tt>"__cmwc_t"</tt> key is either a Uniform Resource Identifier (URI) or an object identifier (OID).
The OID is always absolute and never relative.
The URI <bcp14>MUST</bcp14> be in the absolute form (<xref section="4.3" sectionFormat="of" target="RFC3986" format="default" derivedLink="https://rfc-editor.org/rfc/rfc3986#section-4.3" derivedContent="RFC3986"/>).</t>
        <t indent="0" pn="section-3.3-8">The <tt>"__cmwc_t"</tt> key functions similarly to an EAT profile claim (see <xref section="4.3.2" sectionFormat="of" target="RFC9711" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9711#section-4.3.2" derivedContent="RFC9711"/>) but at a higher level.
It can be used to indicate basics like CBOR serialization and CBOR Object Signing and Encryption (COSE) algorithms just as a profile in EAT does.
It provides a namespace in which the collection labels are interpreted.
At the higher level, it can be used to describe the allowed Collection CMW assembly (this is somewhat parallel to the way EAT profiles indicate which claims are required and/or allowed).
For an example of a <tt>"__cmwc_t"</tt> that is defined for a bundle of endorsements and reference values, see <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-rats-corim" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-rats-corim-10#section-4.3.1" derivedContent="CoRIM"/>.</t>
        <t indent="0" pn="section-3.3-9">Since the Collection CMW is recursive (a Collection CMW is itself a CMW), implementations <bcp14>MAY</bcp14> limit the allowed depth of nesting.</t>
        <aside pn="section-3.3-10">
          <t indent="0" pn="section-3.3-10.1">Implementation note: An API that uses CMW may support a discoverable "max-cmw-depth" attribute, allowing applications to advertise their own limits.
Also, a protocol using CMW may require its users to specify a minimum depth.
The exact details of how such a limit is discovered or set are out of scope of this document.</t>
        </aside>
      </section>
      <section anchor="demuxing" numbered="true" removeInRFC="false" toc="include" pn="section-3.4">
        <name slugifiedName="name-demuxing">Demuxing</name>
        <t indent="0" pn="section-3.4-1">The split in the JSON/CBOR decoding path is expected to occur via the media type or content format (see Sections <xref target="iana-mt" format="counter" sectionFormat="of" derivedContent="9.5"/> and <xref target="iana-cf" format="counter" sectionFormat="of" derivedContent="9.6"/>, respectively) or via the container context of the embedded CMW (see Sections <xref target="iana-cwt" format="counter" sectionFormat="of" derivedContent="9.1"/> and <xref target="iana-jwt" format="counter" sectionFormat="of" derivedContent="9.2"/> for CWT/JWT and <xref target="iana-smi" format="default" sectionFormat="of" derivedContent="Section 9.7"/> for X.509).</t>
        <t indent="0" pn="section-3.4-2">The following pseudocode illustrates how a one-byte look-ahead is sufficient to determine how to decode the remaining byte buffer.</t>
        <sourcecode type="pseudocode" markers="false" pn="section-3.4-3">
func exampleCMWTypeDemux(b []byte) CMWType {
  if len(b) == 0 {
    return Unknown
  }

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

  return Unknown
}</sourcecode>
        <t indent="0" pn="section-3.4-4">This code is provided for informational purposes only.
It is not expected that implementations will follow this demuxing strategy.</t>
      </section>
    </section>
    <section anchor="crypto" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-cryptographic-protection-of">Cryptographic Protection of CMWs</name>
      <t indent="0" pn="section-4-1">This section highlights a number of mechanisms through which protocol designers can add data origin authentication, integrity, and (if used with a challenge-response protocol) anti-replay protection when employing CMWs.
These properties must be evaluated carefully in the context of the overall security model of the protocol.</t>
      <section anchor="signed-cbor-cmw" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-signing-cbor-cmw-using-cose">Signing CBOR CMW Using COSE_Sign1</name>
        <t indent="0" pn="section-4.1-1">A CBOR CMW can be signed using COSE <xref target="RFC9052" format="default" sectionFormat="of" derivedContent="RFC9052"/>.
A <tt>signed-cbor-cmw</tt> is a <tt>COSE_Sign1</tt> with the following layout:</t>
        <sourcecode type="cddl" markers="false" pn="section-4.1-2">
signed-cbor-cmw = [
  protected: bytes .cbor signed-cbor-cmw-protected-hdr
  unprotected: signed-cbor-cmw-unprotected-hdr
  payload: bytes .cbor cbor-cmw
  signature: bytes
]</sourcecode>
        <t indent="0" pn="section-4.1-3">The payload <bcp14>MUST</bcp14> be the CBOR-encoded Tag, Record, or Collection CMW.</t>
        <sourcecode type="cddl" markers="false" pn="section-4.1-4">
signed-cbor-cmw-protected-hdr = {
  1 =&gt; int                            ; alg
  3 =&gt; "application/cmw+cbor" / 273   ; cty
  * cose.label =&gt; cose.values
}

signed-cbor-cmw-unprotected-hdr = {
  * cose.label =&gt; cose.values
}

cose.label = int / text
cose.values = any</sourcecode>
        <t indent="0" pn="section-4.1-5">The protected header <bcp14>MUST</bcp14> include the signature algorithm identifier.
The protected header <bcp14>MUST</bcp14> include either the media type <tt>application/cmw+cbor</tt> or the CoAP Content-Format 273.
Other header parameters <bcp14>MAY</bcp14> be added to the header buckets, for example, a <tt>kid</tt> that identifies the signing key.</t>
      </section>
      <section anchor="signed-json-cmw" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-signing-json-cmw-using-jws">Signing JSON CMW Using JWS</name>
        <t indent="0" pn="section-4.2-1">A JSON CMW can be signed using JSON Web Signature (JWS) <xref target="RFC7515" format="default" sectionFormat="of" derivedContent="RFC7515"/>.
A <tt>signed-json-cmw</tt> uses either the Flattened JSON Serialization (<xref section="7.2.2" sectionFormat="of" target="RFC7515" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7515#section-7.2.2" derivedContent="RFC7515"/>) or the Compact Serialization (<xref section="3.1" sectionFormat="of" target="RFC7515" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7515#section-3.1" derivedContent="RFC7515"/>).</t>
        <sourcecode type="cddl" markers="false" pn="section-4.2-2">
signed-json-cmw = jws-flattened-json / jws-compact

jws-flattened-json = {
  "protected": protected
  ? "header": unprotected
  "payload": payload
  "signature": signature
}

jws-compact =
  (((protected .cat ".") .cat payload) .cat ".") .cat signature

protected = text .b64u (text .json signed-json-cmw-protected-hdr)
unprotected = text .b64u (text .json signed-json-cmw-unprotected-hdr)
payload = text .b64u (text .json json-cmw)
signature = text .b64u bytes</sourcecode>
        <t indent="0" pn="section-4.2-3">The payload <bcp14>MUST</bcp14> be the JSON-encoded Record or Collection CMW.</t>
        <sourcecode type="cddl" markers="false" pn="section-4.2-4">
signed-json-cmw-protected-hdr = {
  "alg": text
  "cty": "application/cmw+json"
  * text =&gt; text
}

signed-json-cmw-unprotected-hdr = {
  * text =&gt; text
}</sourcecode>
        <t indent="0" pn="section-4.2-5">The protected header <bcp14>MUST</bcp14> include the signature algorithm identifier and the media type <tt>application/cmw+json</tt>.
Other header parameters <bcp14>MAY</bcp14> be added to the header buckets, for example, a <tt>kid</tt> that identifies the signing key.</t>
      </section>
      <section anchor="webtokens" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-transporting-cmw-in-cose-an">Transporting CMW in COSE and JSON Web Tokens</name>
        <t indent="0" pn="section-4.3-1">To facilitate the embedding of CMWs in CBOR-based protocols and web APIs, this document defines two <tt>"cmw"</tt> claims for use with JWT and CWT.</t>
        <t indent="0" pn="section-4.3-2">The definitions for these claims can be found in Sections <xref target="iana-jwt" format="counter" sectionFormat="of" derivedContent="9.2"/> and <xref target="iana-cwt" format="counter" sectionFormat="of" derivedContent="9.1"/>, respectively.</t>
        <section anchor="encoding-requirements" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.1">
          <name slugifiedName="name-encoding-requirements">Encoding Requirements</name>
          <t indent="0" pn="section-4.3.1-1">A Collection CMW carried in a <tt>"cmw"</tt> JWT claim <bcp14>MUST</bcp14> be a <tt>json-collection</tt>.
A Collection CMW carried in a <tt>"cmw"</tt> CWT claim <bcp14>MUST</bcp14> be a <tt>cbor-collection</tt>.</t>
          <t indent="0" pn="section-4.3.1-2">A Record CMW carried in a <tt>"cmw"</tt> JWT claim <bcp14>MUST</bcp14> be a <tt>json-record</tt>.
A Record CMW carried in a <tt>"cmw"</tt> CWT claim <bcp14>MUST</bcp14> be a <tt>cbor-record</tt>.</t>
        </section>
      </section>
      <section anchor="x509" numbered="true" removeInRFC="false" toc="include" pn="section-4.4">
        <name slugifiedName="name-transporting-cmw-in-pkix-fo">Transporting CMW in PKIX Formats</name>
        <t indent="0" pn="section-4.4-1">CMW may need to be transported in PKIX formats, such as CSRs or in X.509 certificates and CRLs.</t>
        <t indent="0" pn="section-4.4-2">The use of CMW in CSRs is documented in <xref target="I-D.ietf-lamps-csr-attestation" format="default" sectionFormat="of" derivedContent="RA-CERT-SIGN"/>, while one of the possible applications in X.509 certificates and CRLs is detailed in Section 6.1 of <xref target="DICE-ARCH" format="default" sectionFormat="of" derivedContent="DICE-ARCH"/>.</t>
        <t indent="0" pn="section-4.4-3">This section outlines the CMW extension designed to carry CMW objects.
<xref target="privcons" format="default" sectionFormat="of" derivedContent="Section 7"/> discusses some privacy considerations related to the transport of CMW in X.509 formats.</t>
        <t indent="0" pn="section-4.4-4">The CMW extension <bcp14>MAY</bcp14> be included in X.509 certificates, CRLs <xref target="RFC5280" format="default" sectionFormat="of" derivedContent="RFC5280"/>, and CSRs.</t>
        <t indent="0" pn="section-4.4-5">The CMW extension <bcp14>MUST</bcp14> be identified by the following object identifier:</t>
        <sourcecode type="asn.1" markers="false" pn="section-4.4-6">
id-pe-cmw  OBJECT IDENTIFIER ::=
        { iso(1) identified-organization(3) dod(6) internet(1)
          security(5) mechanisms(5) pkix(7) id-pe(1) 35 }</sourcecode>
        <t indent="0" pn="section-4.4-7">This extension <bcp14>SHOULD NOT</bcp14> be marked critical.
In cases where the wrapped conceptual message is essential for granting resource access, and there is a risk that legacy RPs would bypass crucial controls, it is acceptable to mark the extension as critical.</t>
        <t indent="0" pn="section-4.4-8">The CMW extension has the following syntax:</t>
        <sourcecode type="asn.1" markers="false" pn="section-4.4-9">
CMW ::= CHOICE {
    json UTF8String,
    cbor OCTET STRING
}</sourcecode>
        <t indent="0" pn="section-4.4-10">The CMW <bcp14>MUST</bcp14> include the serialized CMW object in either JSON or CBOR format, utilizing the appropriate CHOICE entry.</t>
        <t indent="0" pn="section-4.4-11">The DER-encoded <xref target="X.690" format="default" sectionFormat="of" derivedContent="X.690"/> CMW is the value of the OCTET STRING for the extnValue field of the extension.</t>
        <section anchor="asn1-x509" numbered="true" removeInRFC="false" toc="include" pn="section-4.4.1">
          <name slugifiedName="name-asn1-module">ASN.1 Module</name>
          <t indent="0" pn="section-4.4.1-1">This section provides an ASN.1 module <xref target="X.680" format="default" sectionFormat="of" derivedContent="X.680"/> for the CMW extension, following the conventions established in <xref target="RFC5912" format="default" sectionFormat="of" derivedContent="RFC5912"/> and <xref target="RFC6268" format="default" sectionFormat="of" derivedContent="RFC6268"/>.</t>
          <sourcecode type="asn.1" markers="false" pn="section-4.4.1-2">
CMWExtn
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-cmw-extn(123) }

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

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

-- CMW Extension

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

-- CMW Extension OID

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

-- CMW Extension Syntax

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

END</sourcecode>
        </section>
        <section anchor="compatibility-with-trusted-computing-group-tcg-conceptualmessagewrapper" numbered="true" removeInRFC="false" toc="include" pn="section-4.4.2">
          <name slugifiedName="name-compatibility-with-trusted-">Compatibility with Trusted Computing Group (TCG) ConceptualMessageWrapper</name>
          <t indent="0" pn="section-4.4.2-1">Section 6.1.8 of <xref target="DICE-ARCH" format="default" sectionFormat="of" derivedContent="DICE-ARCH"/> specifies the ConceptualMessageWrapper (CMW) format and its corresponding object identifier.
The CMW format outlined in <xref target="DICE-ARCH" format="default" sectionFormat="of" derivedContent="DICE-ARCH"/> permits only a subset of the CMW grammar defined in this document.
In particular, the collection format cannot be encoded using TCG CMWs.</t>
        </section>
      </section>
    </section>
    <section anchor="examples" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-examples">Examples</name>
      <t indent="0" pn="section-5-1">The (equivalent) examples in Sections <xref target="ex-ja" format="counter" sectionFormat="of" derivedContent="5.1"/>, <xref target="ex-ca" format="counter" sectionFormat="of" derivedContent="5.2"/>, and <xref target="ex-ct" format="counter" sectionFormat="of" derivedContent="5.3"/> assume that
the Media-Type-Name <tt>application/vnd.example.rats-conceptual-msg</tt> has been
registered alongside a corresponding CoAP Content-Format ID, <tt>64999</tt> <xref target="RFC9876" format="default" sectionFormat="of" derivedContent="RFC9876"/>.  The
CBOR tag <tt>1668612070</tt> is derived applying the <tt>TN()</tt> transform as described in
<xref target="cbor-tag" format="default" sectionFormat="of" derivedContent="Section 3.2"/>.</t>
      <t indent="0" pn="section-5-2">All the examples focus on the wrapping aspects.
The wrapped messages are not instances of real conceptual messages.</t>
      <section anchor="ex-ja" numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-json-encoded-record">JSON-Encoded Record</name>
        <sourcecode type="cbor-diag" markers="false" pn="section-5.1-1">
[
  "application/vnd.example.rats-conceptual-msg",
  "I0faVQ"
]</sourcecode>
      </section>
      <section anchor="ex-ca" numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-cbor-encoded-record">CBOR-Encoded Record</name>
        <sourcecode type="cbor-diag" markers="false" pn="section-5.2-1">
[
  64999,
  h'2347da55'
]</sourcecode>
        <t indent="0" pn="section-5.2-2">with the following wire representation:</t>
        <sourcecode markers="false" pn="section-5.2-3">
82             # array(2)
   19 fde7     # unsigned(64999)
   44          # bytes(4)
      2347da55 # "#G\xDAU"</sourcecode>
        <t indent="0" pn="section-5.2-4">Note that a Media-Type-Name can also be used with the CBOR-encoded Record form,
for example, if it is known that the receiver cannot handle CoAP
Content-Formats, or (unlike the case in point) if a CoAP Content-Format
ID has not been registered.</t>
        <sourcecode type="cbor-diag" markers="false" pn="section-5.2-5">
[
  "application/vnd.example.rats-conceptual-msg",
  h'2347da55'
]</sourcecode>
      </section>
      <section anchor="ex-ct" numbered="true" removeInRFC="false" toc="include" pn="section-5.3">
        <name slugifiedName="name-cbor-encoded-tag-cmw">CBOR-Encoded Tag CMW</name>
        <sourcecode type="cbor-diag" markers="false" pn="section-5.3-1">
1668612070(h'2347da55')</sourcecode>
        <t indent="0" pn="section-5.3-2">with the following wire representation:</t>
        <sourcecode markers="false" pn="section-5.3-3">
da 6374ffe6    # tag(1668612070)
   44          # bytes(4)
      2347da55 # "#G\xDAU"</sourcecode>
      </section>
      <section anchor="ex-ca-ind" numbered="true" removeInRFC="false" toc="include" pn="section-5.4">
        <name slugifiedName="name-cbor-encoded-record-with-an">CBOR-Encoded Record with an Explicit Conceptual Message Indicator</name>
        <t indent="0" pn="section-5.4-1">This is an example of a signed CoRIM (Concise Reference Integrity Manifest) <xref target="I-D.ietf-rats-corim" format="default" sectionFormat="of" derivedContent="CoRIM"/> with an explicit <tt>ind</tt> value of <tt>0b0000_0011</tt> (3), indicating that the wrapped message contains both Reference Values and Endorsements.</t>
        <sourcecode type="cbor-diag" markers="false" pn="section-5.4-2">
[
  "application/rim+cose",
  h'd28440a044d901f5a040',
  3
]</sourcecode>
        <t indent="0" pn="section-5.4-3">with the following wire representation (this example uses line wrapping per <xref target="RFC8792" format="default" sectionFormat="of" derivedContent="RFC8792"/>):</t>
        <sourcecode markers="false" pn="section-5.4-4">
=============== NOTE: '\' line wrapping per RFC 8792 ================

83                                      # array(3)
   74                                   # text(20)
      6170706c69636174696f6e2f72696d2b636f7365 # "application/rim+\
                                                                cose"
   4a                                   # bytes(10)
      d28440a044d901f5a040              # serialized CM value
   03                                   # unsigned(3)</sourcecode>
      </section>
      <section anchor="cbor-encoded-collection" numbered="true" removeInRFC="false" toc="include" pn="section-5.5">
        <name slugifiedName="name-cbor-encoded-collection">CBOR-Encoded Collection</name>
        <t indent="0" pn="section-5.5-1">The following example is a CBOR-encoded Collection CMW that assembles conceptual messages from three Attesters: Evidence for Attesters A and B and Attestation Results for Attester C.
It is given an explicit <tt>"__cmwc_t"</tt> using the URI form.</t>
        <sourcecode markers="false" pn="section-5.5-2">
{
  "__cmwc_t": "tag:example.com,2024:composite-attester",
  / attester A / 0: [
    64999,
    h'2347da55',
    4
  ],
  / attester B / 1: 1668612070(h'2347da55'),
  / attester C / 2: [
    "application/eat+jwt",
    h'2e2e2e',
    8
  ]
}</sourcecode>
      </section>
      <section anchor="json-encoded-collection" numbered="true" removeInRFC="false" toc="include" pn="section-5.6">
        <name slugifiedName="name-json-encoded-collection">JSON-Encoded Collection</name>
        <t indent="0" pn="section-5.6-1">The following example is a JSON-encoded Collection CMW that assembles Evidence from two Attesters.</t>
        <sourcecode markers="false" pn="section-5.6-2">
{
  "__cmwc_t": "tag:example.com,2024:another-composite-attester",
  "attester A": [
    "application/eat-ucs+json",
    "e30K",
    4
  ],
  "attester B": [
    "application/eat-ucs+cbor",
    "oA",
    4
  ]
}</sourcecode>
      </section>
      <section anchor="use-in-jwt" numbered="true" removeInRFC="false" toc="include" pn="section-5.7">
        <name slugifiedName="name-use-in-jwt">Use in JWT</name>
        <t indent="0" pn="section-5.7-1">The following example shows the use of the <tt>"cmw"</tt> JWT claim to transport a Collection CMW in a JWT Claims Set <xref target="RFC7519" format="default" sectionFormat="of" derivedContent="RFC7519"/>:</t>
        <sourcecode type="json" markers="false" pn="section-5.7-2">
{
  "cmw": {
    "__cmwc_t": "tag:example.com,2024:another-composite-attester",
    "attester A": [
      "application/eat-ucs+json",
      "e30K",
      4
    ],
    "attester B": [
      "application/eat-ucs+cbor",
      "oA",
      4
    ]
  },
  "iss": "evidence collection daemon",
  "exp": 1300819380
}</sourcecode>
      </section>
    </section>
    <section anchor="collected-cddl" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-collected-cddl">Collected CDDL</name>
      <t indent="0" pn="section-6-1">This section contains all the CDDL definitions included in this specification.</t>
      <sourcecode type="cddl" markers="false" pn="section-6-2">
start = cmw

cmw = json-cmw / cbor-cmw

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

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

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

tag-cm-cbor&lt;tn, fmt&gt; = #6.&lt;tn&gt;(bytes .cbor fmt)

tag-cm-data&lt;tn&gt; = #6.&lt;tn&gt;(bytes)

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

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

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

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

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

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

Content-Type-ABNF = '

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

token          = 1*tchar
tchar          = "!" / "#" / "$" / "%" / "&amp;" / "\'" / "*"
               / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
               / 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 / "!" / "#" /
                         "$" / "&amp;" / "-" / "^" / "_"
restricted-name-chars =/ "." ; Characters before first dot always
                             ; specify a facet name
restricted-name-chars =/ "+" ; Characters after last plus always
                             ; specify a structured syntax suffix

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

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

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

signed-cbor-cmw-unprotected-hdr = {
  * cose.label =&gt; cose.values
}

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


signed-json-cmw = jws-flattened-json / jws-compact

jws-flattened-json = {
  "protected": protected
  ? "header": unprotected
  "payload": payload
  "signature": signature
}

jws-compact =
  (((protected .cat ".") .cat payload) .cat ".") .cat signature

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

signed-json-cmw-unprotected-hdr = {
  * text =&gt; text
}

protected = text .b64u (text .json signed-json-cmw-protected-hdr)
unprotected = text .b64u (text .json signed-json-cmw-unprotected-hdr)
payload = text .b64u (text .json json-cmw)
signature = text .b64u bytes

$cbor-tag /= tag-cm-cbor&lt;1668547091, cbor-collection&gt;
$cbor-tag /= tag-cm-cbor&lt;1668547092, signed-cbor-cmw&gt;

$cbor-tag /= tag-cm-data&lt;1668547093&gt; ; bytes(cmw+json collection)
$cbor-tag /= tag-cm-data&lt;1668547094&gt; ; bytes(cmw+jws)</sourcecode>
    </section>
    <section anchor="privcons" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-privacy-considerations">Privacy Considerations</name>
      <t indent="0" pn="section-7-1">The privacy considerations outlined in <xref section="11" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-11" derivedContent="RFC9334"/> are fully applicable.
In particular, when a CMW contains Personally Identifiable Information (PII), which is the case for Evidence and sometimes for other conceptual messages as well, care must be taken to prevent unintended recipients from accessing it.
Generally, utilizing secure channels between the parties exchanging CMWs can help address or mitigate these concerns.
A specific scenario arises when a public key certificate is issued based on Evidence information provided by the certificate requestor to the issuing Certification Authority (CA).
For instance, an individual seeking a publicly trusted code signing certificate may be willing to disclose the details of the hardware where their code signing keys are stored (e.g., a Hardware Security Module (HSM) model, patch level, etc.).
However, they likely do not want this information to be publicly accessible.
Applications that intend to publicly "broadcast" Evidence claims received from a third party via X.509 certificates should define a certification practice statement <xref target="RFC3647" format="default" sectionFormat="of" derivedContent="RFC3647"/> that clearly specifies the circumstances under which the CA can include such data in the issued certificate.
Note that the aforementioned consideration does not apply to cases where X.509 certificates are explicitly designed as a security envelope for Evidence claims, such as in <xref target="DICE-ARCH" format="default" sectionFormat="of" derivedContent="DICE-ARCH"/>.</t>
    </section>
    <section anchor="seccons" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">The security considerations discussed in <xref section="12.2" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-12.2" derivedContent="RFC9334"/> concerning the protection of conceptual messages are fully applicable.
The following subsections provide further elaboration on these points, particularly in relation to Collection CMWs.</t>
      <section anchor="cmw-protection" numbered="true" removeInRFC="false" toc="include" pn="section-8.1">
        <name slugifiedName="name-cmw-protection">CMW Protection</name>
        <t indent="0" pn="section-8.1-1">Record, Tag, and Collection CMWs alone do not offer authenticity, integrity protection, or confidentiality.
It is the responsibility of the designer for each use case to determine the necessary security properties and implement them accordingly.</t>
        <t indent="0" pn="section-8.1-2">RATS conceptual messages are typically secured using cryptography.
If the messages are already protected, no additional security requirements are imposed by this encapsulation.
If an adversary attempts to modify the payload encapsulation, it will result in incorrect processing of the encapsulated message, leading to an error.
If the messages are not protected, additional security must be added at a different layer.
For example, a <tt>cbor-record</tt> containing an Unprotected CWT Claims Set (UCCS) <xref target="RFC9781" format="default" sectionFormat="of" derivedContent="RFC9781"/> can be signed as described in <xref target="signed-cbor-cmw" format="default" sectionFormat="of" derivedContent="Section 4.1"/>.</t>
        <t indent="0" pn="section-8.1-3"><xref target="crypto" format="default" sectionFormat="of" derivedContent="Section 4"/> describes a number of methods that can be used to add cryptographic protection to CMW.</t>
      </section>
      <section anchor="seccons-coll" numbered="true" removeInRFC="false" toc="include" pn="section-8.2">
        <name slugifiedName="name-using-collection-cmws-for-e">Using Collection CMWs for Evidence of Composite or Layered Devices</name>
        <t indent="0" pn="section-8.2-1">When a Collection CMW is used to encapsulate Evidence for composite or layered attestation of a single device, all Evidence messages within the CMW <bcp14>MUST</bcp14> be cryptographically bound together to prevent an attacker from replacing Evidence from a compromised device with that from a non-compromised device.
If the Collection CMW is not protected from tampering by external security measures (such as object security primitives) or internal mechanisms (such as intra-item binding), an attacker could manipulate the collection's contents to deceive the Verifier into accepting bogus Evidence as genuine.</t>
        <t indent="0" pn="section-8.2-2">Authenticity and integrity protection is expected to be provided by the underlying attestation technology.
For example, key material used to sign/bind an entire Collection CMW should be an attestation key, handled as described in <xref section="12.1" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-12.1" derivedContent="RFC9334"/>.
The binding does not necessarily have to be a signature over the Collection CMW; it might also be achieved through identifiers, linking claims (e.g., nonces) across Collection CMW items, or signing or hashing between the members of the collection.
It is the responsibility of the Attester who creates the Collection CMW to ensure that the contents of the collection are integrity protected.</t>
      </section>
      <section anchor="integrating-cmw-into-protocols" numbered="true" removeInRFC="false" toc="include" pn="section-8.3">
        <name slugifiedName="name-integrating-cmw-into-protoc">Integrating CMW into Protocols</name>
        <t indent="0" pn="section-8.3-1">When CMW is integrated into some hosting protocol (for example, attested CSR <xref target="I-D.ietf-lamps-csr-attestation" format="default" sectionFormat="of" derivedContent="RA-CERT-SIGN"/> or attested TLS <xref target="I-D.fossati-seat-early-attestation" format="default" sectionFormat="of" derivedContent="RA-TLS-DTLS"/> <xref target="I-D.fossati-seat-expat" format="default" sectionFormat="of" derivedContent="RA-EXP-AUTH"/>), it is up to that hosting protocol to describe how CMW is intended to be used and how it fits into the overall security model.</t>
        <t indent="0" pn="section-8.3-2">Such an analysis should consider the types of conceptual messages allowed, including the permitted combinations, the protection requirements, the interface with the hosting protocol, and any other security-relevant aspect arising from the interaction between the CMW assembly and the hosting protocol.</t>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="iana-cwt" numbered="true" removeInRFC="false" toc="include" pn="section-9.1">
        <name slugifiedName="name-cwt-cmw-claim-registration">CWT <tt>cmw</tt> Claim Registration</name>
        <t indent="0" pn="section-9.1-1">IANA has added a new <tt>cmw</tt> claim to the "CBOR Web Token (CWT) Claims" registry <xref target="IANA.cwt" format="default" sectionFormat="of" derivedContent="IANA.cwt"/> as follows:</t>
        <dl spacing="compact" indent="3" newline="false" pn="section-9.1-2">
          <dt pn="section-9.1-2.1">Claim Name:</dt>
          <dd pn="section-9.1-2.2">cmw</dd>
          <dt pn="section-9.1-2.3">Claim Description:</dt>
          <dd pn="section-9.1-2.4">RATS Conceptual Message Wrapper</dd>
          <dt pn="section-9.1-2.5">JWT Claim Name:</dt>
          <dd pn="section-9.1-2.6">cmw</dd>
          <dt pn="section-9.1-2.7">Claim Key:</dt>
          <dd pn="section-9.1-2.8">299</dd>
          <dt pn="section-9.1-2.9">Claim Value Type:</dt>
          <dd pn="section-9.1-2.10">CBOR map, CBOR array, or CBOR tag</dd>
          <dt pn="section-9.1-2.11">Change Controller:</dt>
          <dd pn="section-9.1-2.12">IETF</dd>
          <dt pn="section-9.1-2.13">Reference:</dt>
          <dd pn="section-9.1-2.14">Sections <xref target="type-n-val" format="counter" sectionFormat="of" derivedContent="3.1"/>, <xref target="cbor-tag" format="counter" sectionFormat="of" derivedContent="3.2"/>, and <xref target="cmw-coll" format="counter" sectionFormat="of" derivedContent="3.3"/> of RFC 9999</dd>
        </dl>
      </section>
      <section anchor="iana-jwt" numbered="true" removeInRFC="false" toc="include" pn="section-9.2">
        <name slugifiedName="name-jwt-cmw-claim-registration">JWT <tt>cmw</tt> Claim Registration</name>
        <t indent="0" pn="section-9.2-1">IANA has added a new <tt>cmw</tt> claim to the "JSON Web Token Claims" registry within the "JSON Web Token (JWT)" registry group <xref target="IANA.jwt" format="default" sectionFormat="of" derivedContent="IANA.jwt"/> as follows:</t>
        <dl spacing="compact" indent="3" newline="false" pn="section-9.2-2">
          <dt pn="section-9.2-2.1">Claim Name:</dt>
          <dd pn="section-9.2-2.2">cmw</dd>
          <dt pn="section-9.2-2.3">Claim Description:</dt>
          <dd pn="section-9.2-2.4">RATS Conceptual Message Wrapper</dd>
          <dt pn="section-9.2-2.5">Change Controller:</dt>
          <dd pn="section-9.2-2.6">IETF</dd>
          <dt pn="section-9.2-2.7">Reference:</dt>
          <dd pn="section-9.2-2.8">Sections <xref target="type-n-val" format="counter" sectionFormat="of" derivedContent="3.1"/> and <xref target="cmw-coll" format="counter" sectionFormat="of" derivedContent="3.3"/> of RFC 9999</dd>
        </dl>
      </section>
      <section anchor="jws-structured-syntax-suffix" numbered="true" removeInRFC="false" toc="include" pn="section-9.3">
        <name slugifiedName="name-jws-structured-syntax-suffi"><tt>+jws</tt> Structured Syntax Suffix</name>
        <t indent="0" pn="section-9.3-1">IANA has registered the <tt>+jws</tt> structured syntax suffix in the "Structured Syntax Suffixes" registry <xref target="IANA.structured-suffixes" format="default" sectionFormat="of" derivedContent="IANA.structured-suffixes"/> in the manner described in <xref target="RFC6838" format="default" sectionFormat="of" derivedContent="RFC6838"/>, which can be used to indicate that the media type is encoded as JWS <xref target="RFC7515" format="default" sectionFormat="of" derivedContent="RFC7515"/>.</t>
        <section anchor="registry-contents" numbered="true" removeInRFC="false" toc="include" pn="section-9.3.1">
          <name slugifiedName="name-registry-entry">Registry Entry</name>
          <dl indent="3" newline="false" spacing="normal" pn="section-9.3.1-1">
            <dt pn="section-9.3.1-1.1">Name:</dt>
            <dd pn="section-9.3.1-1.2">
              <t indent="0" pn="section-9.3.1-1.2.1">JSON Web Signature (JWS)</t>
            </dd>
            <dt pn="section-9.3.1-1.3">+suffix:</dt>
            <dd pn="section-9.3.1-1.4">
              <t indent="0" pn="section-9.3.1-1.4.1">+jws</t>
            </dd>
            <dt pn="section-9.3.1-1.5">References:</dt>
            <dd pn="section-9.3.1-1.6">
              <t indent="0" pn="section-9.3.1-1.6.1"><xref target="RFC7515" format="default" sectionFormat="of" derivedContent="RFC7515"/></t>
            </dd>
            <dt pn="section-9.3.1-1.7">Encoding Considerations:</dt>
            <dd pn="section-9.3.1-1.8">
              <t indent="0" pn="section-9.3.1-1.8.1">binary. Values are represented as a JSON Object or as a series of base64url-encoded values, each separated from the next by a single period ('.') character.</t>
            </dd>
            <dt pn="section-9.3.1-1.9">Interoperability Considerations:</dt>
            <dd pn="section-9.3.1-1.10">
              <t indent="0" pn="section-9.3.1-1.10.1">N/A</t>
            </dd>
            <dt pn="section-9.3.1-1.11">Fragment Identifier Considerations:</dt>
            <dd pn="section-9.3.1-1.12">
              <t indent="0" pn="section-9.3.1-1.12.1">N/A</t>
            </dd>
            <dt pn="section-9.3.1-1.13">Security Considerations:</dt>
            <dd pn="section-9.3.1-1.14">
              <t indent="0" pn="section-9.3.1-1.14.1">See <xref section="10" sectionFormat="of" target="RFC7515" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7515#section-10" derivedContent="RFC7515"/></t>
            </dd>
            <dt pn="section-9.3.1-1.15">Contact:</dt>
            <dd pn="section-9.3.1-1.16">
              <t indent="0" pn="section-9.3.1-1.16.1">RATS WG mailing list (rats@ietf.org) or IETF Security Area (saag@ietf.org)</t>
            </dd>
            <dt pn="section-9.3.1-1.17">Author/Change Controller:</dt>
            <dd pn="section-9.3.1-1.18">
              <t indent="0" pn="section-9.3.1-1.18.1">Remote ATtestation procedureS (RATS) Working Group.
The IETF has change control over this registration.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-ind-ext" numbered="true" removeInRFC="false" toc="include" pn="section-9.4">
        <name slugifiedName="name-rats-conceptual-message-wra">RATS Conceptual Message Wrapper (CMW) Indicators Registry</name>
        <t indent="0" pn="section-9.4-1">IANA has created a new "RATS Conceptual Message Wrapper (CMW) Indicators" registry within the "Remote Attestation Procedures (RATS)" registry group <xref target="IANA.rats" format="default" sectionFormat="of" derivedContent="IANA.rats"/>. The registration procedure for the new registry is IETF Review (<xref section="4.8" sectionFormat="of" target="RFC8126" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.8" derivedContent="RFC8126"/>).</t>
        <t indent="0" pn="section-9.4-2">The objective is to register CMW Indicator values for all RATS conceptual messages (see <xref section="8" sectionFormat="of" target="RFC9334" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9334#section-8" derivedContent="RFC9334"/>).</t>
        <t indent="0" pn="section-9.4-3">Indicator values should be added in ascending order, with no gaps between them.</t>
        <t indent="0" pn="section-9.4-4">Acceptable values correspond to the RATS conceptual messages defined by the RATS architecture <xref target="RFC9334" format="default" sectionFormat="of" derivedContent="RFC9334"/> and any updates to it.</t>
        <section anchor="structure-of-entries" numbered="true" removeInRFC="false" toc="include" pn="section-9.4.1">
          <name slugifiedName="name-structure-of-entries">Structure of Entries</name>
          <t indent="0" pn="section-9.4.1-1">Each entry in the "RATS Conceptual Message Wrapper (CMW) Indicators" registry must include the following:</t>
          <dl newline="false" indent="3" spacing="normal" pn="section-9.4.1-2">
            <dt pn="section-9.4.1-2.1">Indicator Value:</dt>
            <dd pn="section-9.4.1-2.2">
              <t indent="0" pn="section-9.4.1-2.2.1">A number corresponding to the bit position in the <tt>ind</tt> bitmap (<xref target="type-n-val" format="default" sectionFormat="of" derivedContent="Section 3.1"/>).</t>
            </dd>
            <dt pn="section-9.4.1-2.3">Conceptual Message Name:</dt>
            <dd pn="section-9.4.1-2.4">
              <t indent="0" pn="section-9.4.1-2.4.1">A text string describing the RATS conceptual message this indicator corresponds to.</t>
            </dd>
            <dt pn="section-9.4.1-2.5">Reference:</dt>
            <dd pn="section-9.4.1-2.6">
              <t indent="0" pn="section-9.4.1-2.6.1">A reference to the document that defines the entry.</t>
            </dd>
          </dl>
          <t indent="0" pn="section-9.4.1-3">The initial contents of the registry are shown in <xref target="tab-ind-regs" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
          <table anchor="tab-ind-regs" align="left" pn="table-1">
            <name slugifiedName="name-initial-contents-of-the-rat">Initial Contents of the RATS CMW Indicators Registry</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Indicator Value</th>
                <th align="left" colspan="1" rowspan="1">Conceptual Message Name</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">0</td>
                <td align="left" colspan="1" rowspan="1">Reference Values</td>
                <td align="left" colspan="1" rowspan="1">
                  <xref target="cm-type" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/> of RFC 9999</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1</td>
                <td align="left" colspan="1" rowspan="1">Endorsements</td>
                <td align="left" colspan="1" rowspan="1">
                  <xref target="cm-type" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/> of RFC 9999</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">2</td>
                <td align="left" colspan="1" rowspan="1">Evidence</td>
                <td align="left" colspan="1" rowspan="1">
                  <xref target="cm-type" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/> of RFC 9999</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">3</td>
                <td align="left" colspan="1" rowspan="1">Attestation Results</td>
                <td align="left" colspan="1" rowspan="1">
                  <xref target="cm-type" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/> of RFC 9999</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">4</td>
                <td align="left" colspan="1" rowspan="1">Appraisal Policy</td>
                <td align="left" colspan="1" rowspan="1">
                  <xref target="cm-type" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/> of RFC 9999</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">5-31</td>
                <td align="left" colspan="1" rowspan="1">Unassigned</td>
                <td align="left" colspan="1" rowspan="1"> </td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="iana-mt" numbered="true" removeInRFC="false" toc="include" pn="section-9.5">
        <name slugifiedName="name-media-types">Media Types</name>
        <t indent="0" pn="section-9.5-1">IANA has added the following media types to the "Media Types" registry <xref target="IANA.media-types" format="default" sectionFormat="of" derivedContent="IANA.media-types"/>:</t>
        <table anchor="tab-mt-regs" align="left" pn="table-2">
          <name slugifiedName="name-cmw-media-types">CMW Media Types</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Template</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
               cmw+cbor</td>
              <td align="left" colspan="1" rowspan="1">
               application/cmw+cbor</td>
              <td align="left" colspan="1" rowspan="1">
                Sections <xref target="type-n-val" format="counter" sectionFormat="of" derivedContent="3.1"/>, <xref target="cbor-tag" format="counter" sectionFormat="of" derivedContent="3.2"/>, and <xref target="cmw-coll" format="counter" sectionFormat="of" derivedContent="3.3"/> of RFC 9999</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
               cmw+json</td>
              <td align="left" colspan="1" rowspan="1">
                application/cmw+json</td>
              <td align="left" colspan="1" rowspan="1">
                Sections <xref target="type-n-val" format="counter" sectionFormat="of" derivedContent="3.1"/> and <xref target="cmw-coll" format="counter" sectionFormat="of" derivedContent="3.3"/> of RFC 9999</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                cmw+cose</td>
              <td align="left" colspan="1" rowspan="1">
                application/cmw+cose</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="signed-cbor-cmw" format="default" sectionFormat="of" derivedContent="Section 4.1"/> of RFC 9999</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                cmw+jws</td>
              <td align="left" colspan="1" rowspan="1">
                application/cmw+jws</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="signed-json-cmw" format="default" sectionFormat="of" derivedContent="Section 4.2"/> of RFC 9999</td>
            </tr>
          </tbody>
        </table>
        <section anchor="applicationcmwcbor" numbered="true" removeInRFC="false" toc="include" pn="section-9.5.1">
          <name slugifiedName="name-application-cmwcbor"><tt>application/cmw+cbor</tt></name>
          <dl indent="3" newline="false" spacing="normal" pn="section-9.5.1-1">
            <dt pn="section-9.5.1-1.1">Type name:</dt>
            <dd pn="section-9.5.1-1.2">
              <t indent="0" pn="section-9.5.1-1.2.1">application</t>
            </dd>
            <dt pn="section-9.5.1-1.3">Subtype name:</dt>
            <dd pn="section-9.5.1-1.4">
              <t indent="0" pn="section-9.5.1-1.4.1">cmw+cbor</t>
            </dd>
            <dt pn="section-9.5.1-1.5">Required parameters:</dt>
            <dd pn="section-9.5.1-1.6">
              <t indent="0" pn="section-9.5.1-1.6.1">N/A</t>
            </dd>
            <dt pn="section-9.5.1-1.7">Optional parameters:</dt>
            <dd pn="section-9.5.1-1.8">
              <t indent="0" pn="section-9.5.1-1.8.1"><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMWs that are not collections.)</t>
            </dd>
            <dt pn="section-9.5.1-1.9">Encoding considerations:</dt>
            <dd pn="section-9.5.1-1.10">
              <t indent="0" pn="section-9.5.1-1.10.1">binary (CBOR)</t>
            </dd>
            <dt pn="section-9.5.1-1.11">Security considerations:</dt>
            <dd pn="section-9.5.1-1.12">
              <t indent="0" pn="section-9.5.1-1.12.1"><xref target="seccons" format="default" sectionFormat="of" derivedContent="Section 8"/> of RFC 9999</t>
            </dd>
            <dt pn="section-9.5.1-1.13">Interoperability considerations:</dt>
            <dd pn="section-9.5.1-1.14">
              <t indent="0" pn="section-9.5.1-1.14.1">N/A</t>
            </dd>
            <dt pn="section-9.5.1-1.15">Published specification:</dt>
            <dd pn="section-9.5.1-1.16">
              <t indent="0" pn="section-9.5.1-1.16.1">RFC 9999</t>
            </dd>
            <dt pn="section-9.5.1-1.17">Applications that use this media type:</dt>
            <dd pn="section-9.5.1-1.18">
              <t indent="0" pn="section-9.5.1-1.18.1">Attesters, Verifiers, Endorsers and Reference-Value providers, and Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt pn="section-9.5.1-1.19">Fragment identifier considerations:</dt>
            <dd pn="section-9.5.1-1.20">
              <t indent="0" pn="section-9.5.1-1.20.1">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 pn="section-9.5.1-1.21">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-9.5.1-1.22">
              <t indent="0" pn="section-9.5.1-1.22.1">RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt pn="section-9.5.1-1.23">Intended usage:</dt>
            <dd pn="section-9.5.1-1.24">
              <t indent="0" pn="section-9.5.1-1.24.1">COMMON</t>
            </dd>
            <dt pn="section-9.5.1-1.25">Restrictions on usage:</dt>
            <dd pn="section-9.5.1-1.26">
              <t indent="0" pn="section-9.5.1-1.26.1">none</t>
            </dd>
            <dt pn="section-9.5.1-1.27">Author/Change controller:</dt>
            <dd pn="section-9.5.1-1.28">
              <t indent="0" pn="section-9.5.1-1.28.1">IETF</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationcmwjson" numbered="true" removeInRFC="false" toc="include" pn="section-9.5.2">
          <name slugifiedName="name-application-cmwjson"><tt>application/cmw+json</tt></name>
          <dl indent="3" newline="false" spacing="normal" pn="section-9.5.2-1">
            <dt pn="section-9.5.2-1.1">Type name:</dt>
            <dd pn="section-9.5.2-1.2">
              <t indent="0" pn="section-9.5.2-1.2.1">application</t>
            </dd>
            <dt pn="section-9.5.2-1.3">Subtype name:</dt>
            <dd pn="section-9.5.2-1.4">
              <t indent="0" pn="section-9.5.2-1.4.1">cmw+json</t>
            </dd>
            <dt pn="section-9.5.2-1.5">Required parameters:</dt>
            <dd pn="section-9.5.2-1.6">
              <t indent="0" pn="section-9.5.2-1.6.1">N/A</t>
            </dd>
            <dt pn="section-9.5.2-1.7">Optional parameters:</dt>
            <dd pn="section-9.5.2-1.8">
              <t indent="0" pn="section-9.5.2-1.8.1"><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMWs that are not collections.)</t>
            </dd>
            <dt pn="section-9.5.2-1.9">Encoding considerations:</dt>
            <dd pn="section-9.5.2-1.10">
              <t indent="0" pn="section-9.5.2-1.10.1">binary (JSON is UTF-8-encoded text)</t>
            </dd>
            <dt pn="section-9.5.2-1.11">Security considerations:</dt>
            <dd pn="section-9.5.2-1.12">
              <t indent="0" pn="section-9.5.2-1.12.1"><xref target="seccons" format="default" sectionFormat="of" derivedContent="Section 8"/> of RFC 9999</t>
            </dd>
            <dt pn="section-9.5.2-1.13">Interoperability considerations:</dt>
            <dd pn="section-9.5.2-1.14">
              <t indent="0" pn="section-9.5.2-1.14.1">N/A</t>
            </dd>
            <dt pn="section-9.5.2-1.15">Published specification:</dt>
            <dd pn="section-9.5.2-1.16">
              <t indent="0" pn="section-9.5.2-1.16.1">RFC 9999</t>
            </dd>
            <dt pn="section-9.5.2-1.17">Applications that use this media type:</dt>
            <dd pn="section-9.5.2-1.18">
              <t indent="0" pn="section-9.5.2-1.18.1">Attesters, Verifiers, Endorsers and Reference-Value providers, and Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt pn="section-9.5.2-1.19">Fragment identifier considerations:</dt>
            <dd pn="section-9.5.2-1.20">
              <t indent="0" pn="section-9.5.2-1.20.1">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 pn="section-9.5.2-1.21">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-9.5.2-1.22">
              <t indent="0" pn="section-9.5.2-1.22.1">RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt pn="section-9.5.2-1.23">Intended usage:</dt>
            <dd pn="section-9.5.2-1.24">
              <t indent="0" pn="section-9.5.2-1.24.1">COMMON</t>
            </dd>
            <dt pn="section-9.5.2-1.25">Restrictions on usage:</dt>
            <dd pn="section-9.5.2-1.26">
              <t indent="0" pn="section-9.5.2-1.26.1">none</t>
            </dd>
            <dt pn="section-9.5.2-1.27">Author/Change controller:</dt>
            <dd pn="section-9.5.2-1.28">
              <t indent="0" pn="section-9.5.2-1.28.1">IETF</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationcmwcose" numbered="true" removeInRFC="false" toc="include" pn="section-9.5.3">
          <name slugifiedName="name-application-cmwcose"><tt>application/cmw+cose</tt></name>
          <dl indent="3" newline="false" spacing="normal" pn="section-9.5.3-1">
            <dt pn="section-9.5.3-1.1">Type name:</dt>
            <dd pn="section-9.5.3-1.2">
              <t indent="0" pn="section-9.5.3-1.2.1">application</t>
            </dd>
            <dt pn="section-9.5.3-1.3">Subtype name:</dt>
            <dd pn="section-9.5.3-1.4">
              <t indent="0" pn="section-9.5.3-1.4.1">cmw+cose</t>
            </dd>
            <dt pn="section-9.5.3-1.5">Required parameters:</dt>
            <dd pn="section-9.5.3-1.6">
              <t indent="0" pn="section-9.5.3-1.6.1">N/A</t>
            </dd>
            <dt pn="section-9.5.3-1.7">Optional parameters:</dt>
            <dd pn="section-9.5.3-1.8">
              <t indent="0" pn="section-9.5.3-1.8.1"><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMWs that are not collections.)  Note that the <tt>cose-type</tt> parameter is explicitly not supported, as it is understood to be <tt>"cose-sign1"</tt>.</t>
            </dd>
            <dt pn="section-9.5.3-1.9">Encoding considerations:</dt>
            <dd pn="section-9.5.3-1.10">
              <t indent="0" pn="section-9.5.3-1.10.1">binary (CBOR)</t>
            </dd>
            <dt pn="section-9.5.3-1.11">Security considerations:</dt>
            <dd pn="section-9.5.3-1.12">
              <t indent="0" pn="section-9.5.3-1.12.1"><xref target="seccons" format="default" sectionFormat="of" derivedContent="Section 8"/> of RFC 9999</t>
            </dd>
            <dt pn="section-9.5.3-1.13">Interoperability considerations:</dt>
            <dd pn="section-9.5.3-1.14">
              <t indent="0" pn="section-9.5.3-1.14.1">N/A</t>
            </dd>
            <dt pn="section-9.5.3-1.15">Published specification:</dt>
            <dd pn="section-9.5.3-1.16">
              <t indent="0" pn="section-9.5.3-1.16.1">RFC 9999</t>
            </dd>
            <dt pn="section-9.5.3-1.17">Applications that use this media type:</dt>
            <dd pn="section-9.5.3-1.18">
              <t indent="0" pn="section-9.5.3-1.18.1">Attesters, Verifiers, Endorsers and Reference-Value providers, and Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt pn="section-9.5.3-1.19">Fragment identifier considerations:</dt>
            <dd pn="section-9.5.3-1.20">
              <t indent="0" pn="section-9.5.3-1.20.1">N/A</t>
            </dd>
            <dt pn="section-9.5.3-1.21">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-9.5.3-1.22">
              <t indent="0" pn="section-9.5.3-1.22.1">RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt pn="section-9.5.3-1.23">Intended usage:</dt>
            <dd pn="section-9.5.3-1.24">
              <t indent="0" pn="section-9.5.3-1.24.1">COMMON</t>
            </dd>
            <dt pn="section-9.5.3-1.25">Restrictions on usage:</dt>
            <dd pn="section-9.5.3-1.26">
              <t indent="0" pn="section-9.5.3-1.26.1">none</t>
            </dd>
            <dt pn="section-9.5.3-1.27">Author/Change controller:</dt>
            <dd pn="section-9.5.3-1.28">
              <t indent="0" pn="section-9.5.3-1.28.1">IETF</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationcmwjws" numbered="true" removeInRFC="false" toc="include" pn="section-9.5.4">
          <name slugifiedName="name-application-cmwjws"><tt>application/cmw+jws</tt></name>
          <dl indent="3" newline="false" spacing="normal" pn="section-9.5.4-1">
            <dt pn="section-9.5.4-1.1">Type name:</dt>
            <dd pn="section-9.5.4-1.2">
              <t indent="0" pn="section-9.5.4-1.2.1">application</t>
            </dd>
            <dt pn="section-9.5.4-1.3">Subtype name:</dt>
            <dd pn="section-9.5.4-1.4">
              <t indent="0" pn="section-9.5.4-1.4.1">cmw+jws</t>
            </dd>
            <dt pn="section-9.5.4-1.5">Required parameters:</dt>
            <dd pn="section-9.5.4-1.6">
              <t indent="0" pn="section-9.5.4-1.6.1">N/A</t>
            </dd>
            <dt pn="section-9.5.4-1.7">Optional parameters:</dt>
            <dd pn="section-9.5.4-1.8">
              <t indent="0" pn="section-9.5.4-1.8.1"><tt>cmwc_t</tt> (Collection CMW type in string format.  OIDs must use the
dotted-decimal notation.  The parameter value is case-insensitive.  It must not be used for CMWs that are not collections.)</t>
            </dd>
            <dt pn="section-9.5.4-1.9">Encoding considerations:</dt>
            <dd pn="section-9.5.4-1.10">
              <t indent="0" pn="section-9.5.4-1.10.1">8bit. Values are represented as a JSON Object or as a series of base64url-encoded values, each separated from the next by a single period ('.') character.</t>
            </dd>
            <dt pn="section-9.5.4-1.11">Security considerations:</dt>
            <dd pn="section-9.5.4-1.12">
              <t indent="0" pn="section-9.5.4-1.12.1"><xref target="seccons" format="default" sectionFormat="of" derivedContent="Section 8"/> of RFC 9999</t>
            </dd>
            <dt pn="section-9.5.4-1.13">Interoperability considerations:</dt>
            <dd pn="section-9.5.4-1.14">
              <t indent="0" pn="section-9.5.4-1.14.1">N/A</t>
            </dd>
            <dt pn="section-9.5.4-1.15">Published specification:</dt>
            <dd pn="section-9.5.4-1.16">
              <t indent="0" pn="section-9.5.4-1.16.1">RFC 9999</t>
            </dd>
            <dt pn="section-9.5.4-1.17">Applications that use this media type:</dt>
            <dd pn="section-9.5.4-1.18">
              <t indent="0" pn="section-9.5.4-1.18.1">Attesters, Verifiers, Endorsers and Reference-Value providers, and Relying Parties that need to transfer CMW payloads over HTTP(S), CoAP(S), and other transports.</t>
            </dd>
            <dt pn="section-9.5.4-1.19">Fragment identifier considerations:</dt>
            <dd pn="section-9.5.4-1.20">
              <t indent="0" pn="section-9.5.4-1.20.1">N/A</t>
            </dd>
            <dt pn="section-9.5.4-1.21">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-9.5.4-1.22">
              <t indent="0" pn="section-9.5.4-1.22.1">RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt pn="section-9.5.4-1.23">Intended usage:</dt>
            <dd pn="section-9.5.4-1.24">
              <t indent="0" pn="section-9.5.4-1.24.1">COMMON</t>
            </dd>
            <dt pn="section-9.5.4-1.25">Restrictions on usage:</dt>
            <dd pn="section-9.5.4-1.26">
              <t indent="0" pn="section-9.5.4-1.26.1">none</t>
            </dd>
            <dt pn="section-9.5.4-1.27">Author/Change controller:</dt>
            <dd pn="section-9.5.4-1.28">
              <t indent="0" pn="section-9.5.4-1.28.1">IETF</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-cf" numbered="true" removeInRFC="false" toc="include" pn="section-9.6">
        <name slugifiedName="name-coap-content-formats">CoAP Content-Formats</name>
        <t indent="0" pn="section-9.6-1">IANA has registered the following Content-Format IDs in the "CoAP Content-Formats" registry within the "Constrained RESTful Environments (CoRE) Parameters" registry group <xref target="IANA.core-parameters" format="default" sectionFormat="of" derivedContent="IANA.core-parameters"/>:</t>
        <table align="left" anchor="tab-cf-regs" pn="table-3">
          <name slugifiedName="name-coap-content-formats-2">CoAP Content-Formats</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Content-Type</th>
              <th align="left" colspan="1" rowspan="1">Content Coding</th>
              <th align="left" colspan="1" rowspan="1">ID</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">application/cmw+cbor</td>
              <td align="center" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">273</td>
              <td align="left" colspan="1" rowspan="1">
                Sections <xref target="type-n-val" format="counter" sectionFormat="of" derivedContent="3.1"/>, <xref target="cbor-tag" format="counter" sectionFormat="of" derivedContent="3.2"/>, and <xref target="cmw-coll" format="counter" sectionFormat="of" derivedContent="3.3"/> of RFC 9999</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">application/cmw+json</td>
              <td align="center" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">274</td>
              <td align="left" colspan="1" rowspan="1">
                Sections <xref target="type-n-val" format="counter" sectionFormat="of" derivedContent="3.1"/> and <xref target="cmw-coll" format="counter" sectionFormat="of" derivedContent="3.3"/> of RFC 9999</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">application/cmw+cose</td>
              <td align="center" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">275</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="signed-cbor-cmw" format="default" sectionFormat="of" derivedContent="Section 4.1"/> of RFC 9999</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">application/cmw+jws</td>
              <td align="center" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">276</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="signed-json-cmw" format="default" sectionFormat="of" derivedContent="Section 4.2"/> of RFC 9999</td>
            </tr>
          </tbody>
        </table>
        <section anchor="registering-new-coap-content-formats-for-parameterized-cmw-media-types" numbered="true" removeInRFC="false" toc="include" pn="section-9.6.1">
          <name slugifiedName="name-registering-new-coap-conten">Registering New CoAP Content-Formats for Parameterized CMW Media Types</name>
          <t indent="0" pn="section-9.6.1-1">New CoAP Content-Formats can be created based on parameterized instances of the <tt>application/cmw+json</tt>, <tt>application/cmw+cbor</tt>, <tt>application/cmw+cose</tt>, and <tt>application/cmw+jws</tt> media types.</t>
          <t indent="0" pn="section-9.6.1-2">When assigning a new CoAP Content-Format ID for a CMW media type that utilizes the <tt>cmwc_t</tt> parameter, the registrar must check (directly or through the designated expert) the following:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.6.1-3">
            <li pn="section-9.6.1-3.1">
              <t indent="0" pn="section-9.6.1-3.1.1">The corresponding CMW is a collection (<xref target="cmw-coll" format="default" sectionFormat="of" derivedContent="Section 3.3"/>).</t>
            </li>
            <li pn="section-9.6.1-3.2">
              <t indent="0" pn="section-9.6.1-3.2.1">The <tt>cmwc_t</tt> value is either an (non-relative) OID or an absolute URI.</t>
            </li>
          </ul>
        </section>
        <section anchor="rfc9277-cbor-tags" numbered="true" removeInRFC="false" toc="include" pn="section-9.6.2">
          <name slugifiedName="name-cbor-tags-per-rfc-9277">CBOR Tags per RFC 9277</name>
          <t indent="0" pn="section-9.6.2-1">Registering the CoAP Content-Formats listed in <xref target="tab-cf-regs" format="default" sectionFormat="of" derivedContent="Table 3"/> automatically allocates CBOR tags in the range [1668546817, 1668612095] using the <tt>TN()</tt> transform defined in <xref section="B" sectionFormat="of" target="RFC9277" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9277#appendix-B" derivedContent="RFC9277"/>.
	  The allocated CBOR tag numbers and the corresponding data items are shown in <xref target="tab-9277-tags" format="default" sectionFormat="of" derivedContent="Table 4"/>.</t>
          <t indent="0" pn="section-9.6.2-2">Note that CMWs in Tag and Record form are excluded.  This is because
  they can already be represented as a CMW, so the extra wrapping would
  be redundant.
          </t>
          <table align="left" anchor="tab-9277-tags" pn="table-4">
            <name slugifiedName="name-tn-derived-cbor-tags">TN-Derived CBOR Tags</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Tag Number</th>
                <th align="left" colspan="1" rowspan="1">Tag Content</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">1668547091</td>
                <td align="left" colspan="1" rowspan="1">bytes .cbor cbor-collection</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1668547092</td>
                <td align="left" colspan="1" rowspan="1">bytes .cbor signed-cbor-cmw</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1668547093</td>
                <td align="left" colspan="1" rowspan="1">bytes-wrapped json-collection</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1668547094</td>
                <td align="left" colspan="1" rowspan="1">bytes-wrapped signed-json-cmw</td>
              </tr>
            </tbody>
          </table>
          <t indent="0" pn="section-9.6.2-4"><xref target="fig-9277-tags" format="default" sectionFormat="of" derivedContent="Figure 7"/> extends the <tt>$cbor-tag</tt> socket defined in <xref target="cbor-tag" format="default" sectionFormat="of" derivedContent="Section 3.2"/> to add the definitions of the associated Tag CMWs.</t>
          <figure anchor="fig-9277-tags" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-tag-cmw-definitions">Tag CMW Definitions</name>
            <sourcecode type="cddl" markers="false" pn="section-9.6.2-5.1">
$cbor-tag /= tag-cm-cbor&lt;1668547091, cbor-collection&gt;
$cbor-tag /= tag-cm-cbor&lt;1668547092, signed-cbor-cmw&gt;
$cbor-tag /= tag-cm-data&lt;1668547093&gt; ; bytes(cmw+json collection)
$cbor-tag /= tag-cm-data&lt;1668547094&gt; ; bytes(cmw+jws)</sourcecode>
          </figure>
        </section>
      </section>
      <section anchor="iana-smi" numbered="true" removeInRFC="false" toc="include" pn="section-9.7">
        <name slugifiedName="name-smi-number-registration">SMI Number Registration</name>
        <t indent="0" pn="section-9.7-1">IANA has assigned an OID for the CMW extension defined in <xref target="x509" format="default" sectionFormat="of" derivedContent="Section 4.4"/> in the "SMI Security for PKIX Certificate Extension" registry within the "Structure of Management Information (SMI) Numbers (MIB Module Registrations)" registry group <xref target="IANA.smi-numbers" format="default" sectionFormat="of" derivedContent="IANA.smi-numbers"/> as follows:</t>
        <table align="left" pn="table-5">
          <name slugifiedName="name-cmw-extension-oid">CMW Extension OID</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Decimal</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">35</td>
              <td align="left" colspan="1" rowspan="1">id-pe-cmw</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="x509" format="default" sectionFormat="of" derivedContent="Section 4.4"/> of RFC 9999</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-9.7-3">IANA has assigned an OID for the ASN.1 module defined in <xref target="asn1-x509" format="default" sectionFormat="of" derivedContent="Section 4.4.1"/> in the "SMI Security for PKIX Module Identifier" registry within the "Structure of Management Information (SMI) Numbers (MIB Module Registrations)" registry group <xref target="IANA.smi-numbers" format="default" sectionFormat="of" derivedContent="IANA.smi-numbers"/>:</t>
        <table align="left" pn="table-6">
          <name slugifiedName="name-asn1-module-oid">ASN.1 Module OID</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Decimal</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">123</td>
              <td align="left" colspan="1" rowspan="1">id-mod-cmw-extn</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="asn1-x509" format="default" sectionFormat="of" derivedContent="Section 4.4.1"/> of RFC 9999</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.fossati-seat-early-attestation" to="RA-TLS-DTLS"/>
    <displayreference target="I-D.ietf-rats-ear" to="EAR"/>
    <displayreference target="I-D.ietf-lamps-csr-attestation" to="RA-CERT-SIGN"/>
    <displayreference target="I-D.ietf-rats-corim" to="CoRIM"/>
    <displayreference target="I-D.fossati-seat-expat" to="RA-EXP-AUTH"/>
    <references anchor="sec-combined-references" pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters" quoteTitle="true" derivedAnchor="IANA.core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.cwt" target="https://www.iana.org/assignments/cwt" quoteTitle="true" derivedAnchor="IANA.cwt">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.jwt" target="https://www.iana.org/assignments/jwt" quoteTitle="true" derivedAnchor="IANA.jwt">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types" quoteTitle="true" derivedAnchor="IANA.media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.rats" target="https://www.iana.org/assignments/rats" quoteTitle="true" derivedAnchor="IANA.rats">
          <front>
            <title>Remote Attestation Procedures (RATS)</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.smi-numbers" target="https://www.iana.org/assignments/smi-numbers" quoteTitle="true" derivedAnchor="IANA.smi-numbers">
          <front>
            <title>Structure of Management Information (SMI) Numbers (MIB Module Registrations)</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.structured-suffixes" target="https://www.iana.org/assignments/media-type-structured-suffix" quoteTitle="true" derivedAnchor="IANA.structured-suffixes">
          <front>
            <title>Structured Syntax Suffixes</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC3986" target="https://www.rfc-editor.org/info/rfc3986" quoteTitle="true" derivedAnchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t indent="0">A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC4648" target="https://www.rfc-editor.org/info/rfc4648" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc5280" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc5912" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc6268" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc6838" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc7252" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7515" target="https://www.rfc-editor.org/info/rfc7515" quoteTitle="true" derivedAnchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t indent="0">JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8610" target="https://www.rfc-editor.org/info/rfc8610" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc9165" quoteTitle="true" derivedAnchor="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 indent="0">The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t indent="0">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" target="https://www.rfc-editor.org/info/rfc9277" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC9334" target="https://www.rfc-editor.org/info/rfc9334" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC9741" target="https://www.rfc-editor.org/info/rfc9741" quoteTitle="true" derivedAnchor="RFC9741">
          <front>
            <title>Concise Data Definition Language (CDDL): Additional Control Operators for the Conversion and Processing of Text</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="March" year="2025"/>
            <abstract>
              <t indent="0">The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point. RFCs have added to this extension point in both an application-specific and a more general way.</t>
              <t indent="0">The present document defines a number of additional generally applicable control operators for text conversion (bytes, integers, printf-style formatting, and JSON) and for an operation on text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9741"/>
          <seriesInfo name="DOI" value="10.17487/RFC9741"/>
        </reference>
        <referencegroup anchor="STD90" target="https://www.rfc-editor.org/info/std90" derivedAnchor="STD90">
          <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259" quoteTitle="true">
            <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 indent="0">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 indent="0">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>
        </referencegroup>
        <referencegroup anchor="STD94" target="https://www.rfc-editor.org/info/std94" derivedAnchor="STD94">
          <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949" quoteTitle="true">
            <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 indent="0">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 indent="0">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>
        </referencegroup>
        <reference anchor="X.680" target="https://www.itu.int/rec/T-REC-X.680" quoteTitle="true" derivedAnchor="X.680">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization showOnFrontPage="true">ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690" quoteTitle="true" derivedAnchor="X.690">
          <front>
            <title>Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization showOnFrontPage="true">ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
          <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
        </reference>
      </references>
      <references anchor="sec-informative-references" pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-rats-corim" target="https://datatracker.ietf.org/doc/html/draft-ietf-rats-corim-10" quoteTitle="true" derivedAnchor="CoRIM">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization showOnFrontPage="true">Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization showOnFrontPage="true">Linaro</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization showOnFrontPage="true">arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization showOnFrontPage="true">Independent</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <date day="2" month="March" year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-10"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="DICE-ARCH" target="https://trustedcomputinggroup.org/wp-content/uploads/DICE-Attestation-Architecture-Version-1.1-Revision-18_pub.pdf" quoteTitle="true" derivedAnchor="DICE-ARCH">
          <front>
            <title>DICE Attestation Architecture</title>
            <author>
              <organization showOnFrontPage="true">Trusted Computing Group</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
          <refcontent>Version 1.1, Revision 0.18</refcontent>
        </reference>
        <reference anchor="I-D.ietf-rats-ear" target="https://datatracker.ietf.org/doc/html/draft-ietf-rats-ear-04" quoteTitle="true" derivedAnchor="EAR">
          <front>
            <title>EAT Attestation Results</title>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization showOnFrontPage="true">Linaro</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization showOnFrontPage="true">Cisco</organization>
            </author>
            <author fullname="Sergei Trofimov" initials="S." surname="Trofimov">
              <organization showOnFrontPage="true">Arm Limited</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization showOnFrontPage="true">Fraunhofer SIT</organization>
            </author>
            <date day="26" month="May" year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ear-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-lamps-csr-attestation" target="https://datatracker.ietf.org/doc/html/draft-ietf-lamps-csr-attestation-27" quoteTitle="true" derivedAnchor="RA-CERT-SIGN">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization showOnFrontPage="true">Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization showOnFrontPage="true">Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization showOnFrontPage="true">Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman"/>
            <author fullname="Ned Smith" initials="N." surname="Smith"/>
            <date day="16" month="June" year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-28"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.fossati-seat-expat" target="https://datatracker.ietf.org/doc/html/draft-fossati-seat-expat-02" quoteTitle="true" derivedAnchor="RA-EXP-AUTH">
          <front>
            <title>Remote Attestation with Exported Authenticators</title>
            <author fullname="Muhammad Usama Sardar" initials="M. U." surname="Sardar">
              <organization showOnFrontPage="true">TU Dresden</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization showOnFrontPage="true">Linaro</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization showOnFrontPage="true">Intuit</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization showOnFrontPage="true">University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization showOnFrontPage="true">Arm Limited</organization>
            </author>
            <date day="27" month="February" year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-seat-expat-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.fossati-seat-early-attestation" target="https://datatracker.ietf.org/doc/html/draft-fossati-seat-early-attestation-04" quoteTitle="true" derivedAnchor="RA-TLS-DTLS">
          <front>
            <title>Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization showOnFrontPage="true">Intuit</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization showOnFrontPage="true">Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization showOnFrontPage="true">Arm Limited</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization showOnFrontPage="true">Linaro</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <date day="27" month="May" year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-seat-early-attestation-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC3647" target="https://www.rfc-editor.org/info/rfc3647" quoteTitle="true" derivedAnchor="RFC3647">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework</title>
            <author fullname="S. Chokhani" initials="S." surname="Chokhani"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="R. Sabett" initials="R." surname="Sabett"/>
            <author fullname="C. Merrill" initials="C." surname="Merrill"/>
            <author fullname="S. Wu" initials="S." surname="Wu"/>
            <date month="November" year="2003"/>
            <abstract>
              <t indent="0">This document presents a framework to assist the writers of certificate policies or certification practice statements for participants within public key infrastructures, such as certification authorities, policy authorities, and communities of interest that wish to rely on certificates. In particular, the framework provides a comprehensive list of topics that potentially (at the writer's discretion) need to be covered in a certificate policy or a certification practice statement. This document supersedes RFC 2527.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3647"/>
          <seriesInfo name="DOI" value="10.17487/RFC3647"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <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 indent="0">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 indent="0">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 indent="0">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="RFC8792" target="https://www.rfc-editor.org/info/rfc8792" quoteTitle="true" derivedAnchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t indent="0">This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC9052" target="https://www.rfc-editor.org/info/rfc9052" quoteTitle="true" derivedAnchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t indent="0">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 indent="0">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="RFC9193" target="https://www.rfc-editor.org/info/rfc9193" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC9711" target="https://www.rfc-editor.org/info/rfc9711" quoteTitle="true" derivedAnchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t indent="0">An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t indent="0">An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="RFC9781" target="https://www.rfc-editor.org/info/rfc9781" quoteTitle="true" derivedAnchor="RFC9781">
          <front>
            <title>A Concise Binary Object Representation (CBOR) Tag for Unprotected CBOR Web Token Claims Sets (UCCS)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="N. Cam-Winget" initials="N." surname="Cam-Winget"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="May" year="2025"/>
            <abstract>
              <t indent="0">This document defines the Unprotected CWT Claims Set (UCCS), a data format for representing a CBOR Web Token (CWT) Claims Set without protecting it by a signature, Message Authentication Code (MAC), or encryption. UCCS enables the use of CWT claims in environments where protection is provided by other means, such as secure communication channels or trusted execution environments. This specification defines a CBOR tag for UCCS and describes the UCCS format, its encoding, and its processing considerations. It also discusses security implications of using unprotected claims sets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9781"/>
          <seriesInfo name="DOI" value="10.17487/RFC9781"/>
        </reference>
        <reference anchor="RFC9782" target="https://www.rfc-editor.org/info/rfc9782" quoteTitle="true" derivedAnchor="RFC9782">
          <front>
            <title>Entity Attestation Token (EAT) Media Types</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="May" year="2025"/>
            <abstract>
              <t indent="0">The payloads used in Remote ATtestation procedureS (RATS) may require an associated media type for their conveyance, for example, when the payloads are used in RESTful APIs.</t>
              <t indent="0">This memo defines media types to be used for Entity Attestation Tokens (EATs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9782"/>
          <seriesInfo name="DOI" value="10.17487/RFC9782"/>
        </reference>
        <reference anchor="RFC9876" target="https://www.rfc-editor.org/info/rfc9876" quoteTitle="true" derivedAnchor="RFC9876">
          <front>
            <title>Updates to the IANA Registration Procedures for Constrained Application Protocol (CoAP) Content-Formats</title>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="E. Dijk" initials="E." surname="Dijk"/>
            <date month="November" year="2025"/>
            <abstract>
              <t indent="0">This document updates RFC 7252 by modifying the registration procedures for the "CoAP Content-Formats" IANA registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry group. This document also introduces a new column, "Media Type", to the registry. Furthermore, this document reserves Content-Format identifiers 64998 and 64999 for use in documentation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9876"/>
          <seriesInfo name="DOI" value="10.17487/RFC9876"/>
        </reference>
      </references>
    </references>
    <section anchor="registering-and-using-cmws" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-registering-and-using-cmws">Registering and Using CMWs</name>
      <t indent="0" pn="section-appendix.a-1"><xref target="fig-howto-cmw" format="default" sectionFormat="of" derivedContent="Figure 8"/> describes the registration preconditions for using
CMWs in either Record CMW or Tag CMW forms.
When using a Collection CMW, the preconditions apply for each entry in the collection.</t>
      <figure anchor="fig-howto-cmw" align="left" suppress-title="false" pn="figure-8">
        <name slugifiedName="name-how-to-create-a-cmw">How to Create a CMW</name>
        <artset pn="section-appendix.a-2.1">
          <artwork type="svg" align="left" pn="section-appendix.a-2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="344" viewBox="0 0 344 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 40,48 L 40,80" fill="none" stroke="black"/>
              <path d="M 56,176 L 56,424" fill="none" stroke="black"/>
              <path d="M 80,96 L 80,152" fill="none" stroke="black"/>
              <path d="M 80,168 L 80,424" fill="none" stroke="black"/>
              <path d="M 96,144 L 96,176" fill="none" stroke="black"/>
              <path d="M 104,256 L 104,288" fill="none" stroke="black"/>
              <path d="M 120,96 L 120,144" fill="none" stroke="black"/>
              <path d="M 168,192 L 168,232" fill="none" stroke="black"/>
              <path d="M 168,304 L 168,376" fill="none" stroke="black"/>
              <path d="M 184,48 L 184,80" fill="none" stroke="black"/>
              <path d="M 200,48 L 200,80" fill="none" stroke="black"/>
              <path d="M 224,96 L 224,144" fill="none" stroke="black"/>
              <path d="M 240,256 L 240,288" fill="none" stroke="black"/>
              <path d="M 248,144 L 248,176" fill="none" stroke="black"/>
              <path d="M 264,96 L 264,152" fill="none" stroke="black"/>
              <path d="M 264,168 L 264,424" fill="none" stroke="black"/>
              <path d="M 288,176 L 288,424" fill="none" stroke="black"/>
              <path d="M 296,48 L 296,80" fill="none" stroke="black"/>
              <path d="M 56,32 L 168,32" fill="none" stroke="black"/>
              <path d="M 216,32 L 280,32" fill="none" stroke="black"/>
              <path d="M 56,96 L 168,96" fill="none" stroke="black"/>
              <path d="M 216,96 L 280,96" fill="none" stroke="black"/>
              <path d="M 112,128 L 232,128" fill="none" stroke="black"/>
              <path d="M 72,160 L 104,160" fill="none" stroke="black"/>
              <path d="M 240,160 L 272,160" fill="none" stroke="black"/>
              <path d="M 112,192 L 232,192" fill="none" stroke="black"/>
              <path d="M 120,240 L 224,240" fill="none" stroke="black"/>
              <path d="M 120,304 L 224,304" fill="none" stroke="black"/>
              <path d="M 112,384 L 248,384" fill="none" stroke="black"/>
              <path d="M 96,416 L 232,416" fill="none" stroke="black"/>
              <path d="M 24,432 L 336,432" fill="none" stroke="black"/>
              <path d="M 8,464 L 320,464" fill="none" stroke="black"/>
              <path d="M 8,464 L 24,432" fill="none" stroke="black"/>
              <path d="M 96,416 L 112,384" fill="none" stroke="black"/>
              <path d="M 232,416 L 248,384" fill="none" stroke="black"/>
              <path d="M 320,464 L 336,432" fill="none" stroke="black"/>
              <path d="M 56,32 C 47.16936,32 40,39.16936 40,48" fill="none" stroke="black"/>
              <path d="M 168,32 C 176.83064,32 184,39.16936 184,48" fill="none" stroke="black"/>
              <path d="M 216,32 C 207.16936,32 200,39.16936 200,48" fill="none" stroke="black"/>
              <path d="M 280,32 C 288.83064,32 296,39.16936 296,48" fill="none" stroke="black"/>
              <path d="M 56,96 C 47.16936,96 40,88.83064 40,80" fill="none" stroke="black"/>
              <path d="M 168,96 C 176.83064,96 184,88.83064 184,80" fill="none" stroke="black"/>
              <path d="M 216,96 C 207.16936,96 200,88.83064 200,80" fill="none" stroke="black"/>
              <path d="M 280,96 C 288.83064,96 296,88.83064 296,80" fill="none" stroke="black"/>
              <path d="M 112,128 C 103.16936,128 96,135.16936 96,144" fill="none" stroke="black"/>
              <path d="M 232,128 C 240.83064,128 248,135.16936 248,144" fill="none" stroke="black"/>
              <path d="M 72,160 C 63.16936,160 56,167.16936 56,176" fill="none" stroke="black"/>
              <path d="M 104,160 C 112.83064,160 120,152.83064 120,144" fill="none" stroke="black"/>
              <path d="M 240,160 C 231.16936,160 224,152.83064 224,144" fill="none" stroke="black"/>
              <path d="M 272,160 C 280.83064,160 288,167.16936 288,176" fill="none" stroke="black"/>
              <path d="M 112,192 C 103.16936,192 96,184.83064 96,176" fill="none" stroke="black"/>
              <path d="M 232,192 C 240.83064,192 248,184.83064 248,176" fill="none" stroke="black"/>
              <path d="M 120,240 C 111.16936,240 104,247.16936 104,256" fill="none" stroke="black"/>
              <path d="M 224,240 C 232.83064,240 240,247.16936 240,256" fill="none" stroke="black"/>
              <path d="M 120,304 C 111.16936,304 104,296.83064 104,288" fill="none" stroke="black"/>
              <path d="M 224,304 C 232.83064,304 240,296.83064 240,288" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="296,424 284,418.4 284,429.6" fill="black" transform="rotate(90,288,424)"/>
              <polygon class="arrowhead" points="272,424 260,418.4 260,429.6" fill="black" transform="rotate(90,264,424)"/>
              <path class="jump" d="M 264,168 C 258,168 258,152 264,152" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="176,376 164,370.4 164,381.6" fill="black" transform="rotate(90,168,376)"/>
              <polygon class="arrowhead" points="176,232 164,226.4 164,237.6" fill="black" transform="rotate(90,168,232)"/>
              <polygon class="arrowhead" points="88,424 76,418.4 76,429.6" fill="black" transform="rotate(90,80,424)"/>
              <path class="jump" d="M 80,168 C 74,168 74,152 80,152" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="64,424 52,418.4 52,429.6" fill="black" transform="rotate(90,56,424)"/>
              <g class="text">
                <text x="72" y="52">Reuse</text>
                <text x="136" y="52">EAT/CoRIM</text>
                <text x="244" y="52">Register</text>
                <text x="72" y="68">media</text>
                <text x="128" y="68">type(s)</text>
                <text x="224" y="68">new</text>
                <text x="264" y="68">media</text>
                <text x="56" y="84">+</text>
                <text x="96" y="84">profile</text>
                <text x="228" y="84">type</text>
                <text x="172" y="148">Register</text>
                <text x="152" y="164">new</text>
                <text x="188" y="164">CoAP</text>
                <text x="172" y="180">Content-Format</text>
                <text x="168" y="260">Automatically</text>
                <text x="140" y="276">derive</text>
                <text x="188" y="276">CBOR</text>
                <text x="128" y="292">tag</text>
                <text x="184" y="292">(RFC 9277)</text>
                <text x="152" y="404">Tag</text>
                <text x="184" y="404">CMW</text>
                <text x="148" y="452">Record</text>
                <text x="192" y="452">CMW</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="left" pn="section-appendix.a-2.1.2">
     .---------------.   .---------.
    | Reuse EAT/CoRIM | | Register  |
    | media type(s)   | | new media |
    | + profile       | | type      |
     `---+----+------'   `-+----+--'
         |    |            |    |
         |  .-+------------+-.  |
         | |  |  Register  |  | |
       .-(-+-'   new CoAP   `-+-(-.
      |  | |  Content-Format  | |  |
      |  |  `-------+--------'  |  |
      |  |          |           |  |
      |  |          v           |  |
      |  |   .--------------.   |  |
      |  |  | Automatically  |  |  |
      |  |  | derive CBOR    |  |  |
      |  |  | tag (RFC 9277) |  |  |
      |  |   `------+-------'   |  |
      |  |          |           |  |
      |  |          |           |  |
      |  |          |           |  |
      |  |          v           |  |
      |  |   .----------------. |  |
      |  |  /    Tag CMW     /  |  |
      v  v `----------------'   v  v
  .--------------------------------------.
 /             Record CMW               /
`--------------------------------------'</artwork>
        </artset>
      </figure>
    </section>
    <section numbered="false" anchor="acknowledgments" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">The authors would like to thank <contact fullname="Alexey       Melnikov"/>, <contact fullname="Amanda Baber"/>, <contact fullname="Benjamin Schwartz"/>, <contact fullname="Brian Campbell"/>,
      <contact fullname="Carl Wallace"/>, <contact fullname="Carsten       Bormann"/>, <contact fullname="Christian Amsüss"/>, <contact fullname="Dave Thaler"/>, <contact fullname="Deb Cooley"/>,
      <contact fullname="Dionna Glaze"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Ionuț Mihalcea"/>, <contact fullname="Mahesh Jethanandani"/>, <contact fullname="Michael       B. Jones"/>, <contact fullname="Mike Ounsworth"/>, <contact fullname="Michael StJohns"/>, <contact fullname="Mike Bishop"/>,
      <contact fullname="Mohamed Boucadair"/>, <contact fullname="Mohit       Sethi"/>, <contact fullname="Orie Steele"/>, <contact fullname="Paul       Howard"/>, <contact fullname="Peter Yee"/>, <contact fullname="Russ       Housley"/>, <contact fullname="Steven Bellock"/>, <contact fullname="Tim       Bray"/>, <contact fullname="Tom Jones"/>, and <contact fullname="Usama       Sardar"/> for their reviews and suggestions.</t>
      <t indent="0" pn="section-appendix.b-2">The definition of a Collection CMW has been modeled on a proposal
      originally made by <contact fullname="Simon Frost"/> for an EAT-based
      Evidence collection type.  The Collection CMW aims at superseding it by
      generalizing the allowed Evidence formats.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.c">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact initials="L." surname="Lundblade" fullname="Laurence Lundblade">
        <organization showOnFrontPage="true">Security Theory LLC</organization>
        <address>
          <email>lgl@securitytheory.com</email>
        </address>
      </contact>
      <t indent="0" pn="section-appendix.c-1">Laurence made significant contributions to enhancing the security requirements and considerations for Collection CMWs.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.d">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
        <organization showOnFrontPage="true">Fraunhofer SIT</organization>
        <address>
          <email>henk.birkholz@ietf.contact</email>
        </address>
      </author>
      <author initials="N." surname="Smith" fullname="Ned Smith">
        <organization showOnFrontPage="true">Independent</organization>
        <address>
          <email>ned.smith.ietf@outlook.com</email>
        </address>
      </author>
      <author initials="T." surname="Fossati" fullname="Thomas Fossati">
        <organization showOnFrontPage="true">Linaro</organization>
        <address>
          <email>thomas.fossati@linaro.org</email>
        </address>
      </author>
      <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
        <organization abbrev="UniBw M." showOnFrontPage="true">University of the Bundeswehr Munich</organization>
        <address>
          <postal>
            <street>Werner-Heisenberg-Weg 39</street>
            <extaddr>Institute of Distributed Intelligent Systems</extaddr>
            <city>Neubiberg</city>
            <code>85577</code>
            <country>Germany</country>
          </postal>
          <email>Hannes.Tschofenig@gmx.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
