<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-eat-measured-component-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="EAT Measured Component">EAT Measured Component</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-measured-component-06"/>
    <author initials="S." surname="Frost" fullname="Simon Frost">
      <organization>Arm</organization>
      <address>
        <email>Simon.Frost@arm.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>Thomas.Fossati@linaro.org</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <date year="2025" month="November" day="12"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>EAT</keyword>
    <keyword>measurements</keyword>
    <keyword>claim</keyword>
    <keyword>measured</keyword>
    <keyword>component</keyword>
    <abstract>
      <?line 66?>

<t>The term "measured component" refers to an object within the attester's target environment whose state can be inspected and, typically, digested.
A digest is computed through a cryptographic hash function.
Examples of measured components include firmware stored in flash memory, software loaded into memory at start time, data stored in a file system, or values in a CPU register.
This document provides the information model for the "measured component" and two associated data models.
This separation is intentional: the JSON and CBOR serializations, coupled with the media types and associated CoAP Content-Formats, enable the immediate use of the semantics within the EAT framework.
Meanwhile, the information model can be reused in future specifications to provide additional serializations, for example using ASN.1.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Remote ATtestation ProcedureS Working Group mailing list (rats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/thomas-fossati/draft-fft-rats-eat-measured-component"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref section="4.2.16" sectionFormat="of" target="RFC9711"/> defines a <tt>Measurements</tt> claim that:</t>
      <ul empty="true">
        <li>
          <t>"[c]ontains descriptions, lists, evidence or measurements of the software that exists on the entity or any other measurable subsystem of the entity."</t>
        </li>
      </ul>
      <t>This claim allows for different measurement formats, each identified by a different CoAP Content-Format (<xref section="12.3" sectionFormat="of" target="RFC7252"/>).
Currently, the only specified format is CoSWID of type "evidence", as per <xref section="2.9.4" sectionFormat="of" target="RFC9393"/>.
However, CoSWID is not suitable for measurements that cannot be anchored to a file system, such as those in early boot environments.
To address this gap, this document introduces a "measured component" format that can be used with the EAT <tt>Measurements</tt> claim alongside or instead of CoSWID.</t>
      <t>The term "measured component" refers to any measurable object on a target environment, that is, an object whose state can be sampled and, possibly, digested.
This includes, for example: the invariant part of a firmware component that is loaded in memory at startup time, a run-time integrity check (RTIC), a file system object, or a CPU register.</t>
      <t>This document provides the information model for the "measured component" and two associated data models <xref target="RFC3444"/>.
This separation is intentional: the JSON and CBOR serializations, coupled with the media types and associated CoAP Content-Formats, enable the immediate use of the semantics within the EAT framework.
Meanwhile, the information model can be reused in future specifications to provide additional serializations, for example using ASN.1.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>In this document, CDDL <xref target="RFC8610"/> <xref target="RFC9165"/> <xref target="RFC9741"/> is used to describe the data formats.</t>
    </section>
    <section anchor="measured-component">
      <name>Information Model</name>
      <t>This section presents the information model of a "measured component".</t>
      <t>A "measured component" information element includes the component's sampled state (in digested or raw form) along with metadata that helps in identifying the component.
Optionally, any entities responsible for signing the installed component can also be specified.</t>
      <t>The information model of a "measured component" is described in <xref target="tab-mc-info-elems"/>.</t>
      <table anchor="tab-mc-info-elems">
        <name>Measured Component Information Elements</name>
        <thead>
          <tr>
            <th align="left">IE</th>
            <th align="left">Description</th>
            <th align="left">Requirement Level</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Component Name</td>
            <td align="left">The name given to the measured component. It is important that this name remains consistent across different releases to allow for better tracking of the same measured item across updates. When combined with a consistent versioning scheme, it enables better signaling from the appraisal procedure to the relying parties.</td>
            <td align="left">
              <bcp14>REQUIRED</bcp14></td>
          </tr>
          <tr>
            <td align="left">Component Version</td>
            <td align="left">A value representing the specific release or development version of the measured component.  Using <eref target="https://semver.org/spec/v2.0.0.html">Semantic Versioning</eref> is <bcp14>RECOMMENDED</bcp14>.</td>
            <td align="left">
              <bcp14>OPTIONAL</bcp14></td>
          </tr>
          <tr>
            <td align="left">Digested or Raw Value</td>
            <td align="left">Either the raw value or the digested value of the measured component.</td>
            <td align="left">
              <bcp14>REQUIRED</bcp14></td>
          </tr>
          <tr>
            <td align="left">Digest Algorithm</td>
            <td align="left">Hash algorithm used to compute the Digest Value.</td>
            <td align="left">
              <bcp14>REQUIRED</bcp14> only if the value is in the digested form</td>
          </tr>
          <tr>
            <td align="left">Signers</td>
            <td align="left">One or more unique identifiers of entities signing the component that is measured.</td>
            <td align="left">
              <bcp14>OPTIONAL</bcp14></td>
          </tr>
        </tbody>
      </table>
      <t>The format <bcp14>SHOULD</bcp14> also allow a limited amount of extensibility to accommodate profile-specific semantics.</t>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <t>This section presents a JSON and CBOR data model that implements the information model outlined in <xref target="measured-component"/>.</t>
      <t>The data model is inspired by the "PSA software component" claim (<xref section="4.4.1" sectionFormat="of" target="RFC9783"/>), which has been refactored to take into account the recommendations about the design of new EAT claims described in <xref section="E" sectionFormat="of" target="RFC9711"/>.</t>
      <t>CDDL is used to express rules and constraints of the data model for both JSON and CBOR.
These rules must be strictly followed when creating or validating "measured component" data items.
When there is variation between CBOR and JSON, the <tt>JC&lt;&gt;</tt> CDDL generic defined in <xref section="D" sectionFormat="of" target="RFC9711"/> is used.</t>
      <section anchor="common-types">
        <name> Common Types</name>
        <t>The following three basic types are used at various places within the measured component data model:</t>
        <sourcecode type="cddl"><![CDATA[
bytes-b64u = text .b64u bytes
bytes8 = bytes .size 8
bytes8-b64u = text .b64u bytes8
]]></sourcecode>
      </section>
      <section anchor="digest">
        <name>The <tt>digest</tt> Type</name>
        <t>A digest represents the result of a hashing operation together with the hash algorithm used.
The type of the digest algorithm identifier can be either <tt>int</tt> or <tt>text</tt> and is interpreted according to the <xref target="IANA.named-information"/> registry.
Specifically, <tt>int</tt> values are matched against "ID" entries and <tt>text</tt> values are matched against "Hash Name String" entries.
Whenever possible, using the <tt>int</tt> encoding is <bcp14>RECOMMENDED</bcp14>.</t>
        <sourcecode type="cddl"><![CDATA[
digest = [
  alg: (int / text)
  val: digest-value-type
]

digest-value-type = eat.JC<bytes-b64u, bytes>
]]></sourcecode>
      </section>
      <section anchor="the-measured-component-data-item">
        <name>The <tt>measured-component</tt> Data Item</name>
        <t>The <tt>measured-component</tt> data item is as follows:</t>
        <sourcecode type="cddl"><![CDATA[
;# import eat.JC from rfc9711 as eat

measured-component = {
  id-label => component-id
  measurement
  ? signers-label => [ + signer-id-type ]
  ? flags-label => flags-type
}

measurement //= ( digested-measurement-label => digest )
measurement //= ( raw-measurement-label => bytes )

signer-id-type = eat.JC<bytes-b64u, bytes>
flags-type = eat.JC<bytes8-b64u, bytes8>

id-label = eat.JC<"id", 1>
digested-measurement-label = eat.JC<"digested-measurement", 2>
raw-measurement-label = eat.JC<"raw-measurement", 5>
signers-label = eat.JC<"signers", 3>
flags-label = eat.JC<"flags", 4>
]]></sourcecode>
        <t>The members of the <tt>measured-component</tt> CBOR map / JSON object are:</t>
        <dl newline="true">
          <dt><tt>"id"</tt> (index 1):</dt>
          <dd>
            <t>The measured component identifier encoded according to the format described in <xref target="component-id"/>.</t>
          </dd>
          <dt><tt>"measurement"</tt>:</dt>
          <dd>
            <t>Either a digest value and algorithm (index 2), encoded using the digest format (<xref target="digest"/>), or the "raw" measurement (index 5), encoded as a byte string.</t>
          </dd>
          <dt><tt>"signers"</tt> (index 3):</dt>
          <dd>
            <t>One or more signing entities, see <xref target="signer"/>.</t>
          </dd>
          <dt><tt>"flags"</tt> (index 4):</dt>
          <dd>
            <t>a 64-bit field with profile-defined semantics, see <xref target="profile-flags"/>.</t>
          </dd>
        </dl>
        <section anchor="component-id">
          <name>Component Identifier</name>
          <t>The <tt>component-id</tt> data item is as follows:</t>
          <sourcecode type="cddl"><![CDATA[
component-id = [
  name:      text
  ? version: version
]

;# import coswid.$version-scheme from rfc9393 as coswid

version = [
  val:      text
  ? scheme: coswid.$version-scheme
]
]]></sourcecode>
          <dl>
            <dt><tt>name</tt></dt>
            <dd>
              <t>A string that provides a human readable identifier for the component in question.  Format and adopted conventions depend on the component type.</t>
            </dd>
            <dt><tt>version</tt></dt>
            <dd>
              <t>A compound <tt>version</tt> data item that reuses encoding and semantics of <xref target="RFC9711"/> <tt>sw-version-type</tt>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="signer">
          <name>Signer</name>
          <t>A signer is an entity that digitally signed the component that is measured.
Typically, the signature is verified during installation or when the measured component is executed by the boot ROM, operating system, or application launcher.
For example, as in UEFI Secure Boot <xref target="UEFI2"/> and Arm Trusted Board Boot <xref target="TBBR-CLIENT"/>.
Another example may be the controlling entity in an app store.
It is important to note that a signer is different from the identity of the manufacturer of the component, such as would be found in a manifest like a payload CoSWID.</t>
          <t>A signer is identified using a public key.
It could be an X.509 certificate, a raw public key, a public key thumbprint, or some other identifier that can be uniquely associated with the signing entity.
In some cases, multiple parties may need to sign a component to indicate their endorsement or approval.
This could include roles such as a firmware update system, fleet owner, or third-party auditor.
The specific purpose of each signature may depend on the deployment, and the order of signers within the array could indicate meaning.</t>
          <t>If an EAT profile (<xref section="6" sectionFormat="of" target="RFC9711"/>) uses measured components, it <bcp14>MUST</bcp14> specify whether the <tt>signers</tt> field is used.
If it is used, the profile <bcp14>MUST</bcp14> also specify what each of the entries in the <tt>signers</tt> array represents, and how to interpret the corresponding <tt>signer-id-type</tt>.</t>
          <t>The <tt>signer-id-type</tt> is defined as follows:</t>
          <sourcecode type="cddl"><![CDATA[
signer-id-type = eat.JC<bytes-b64u, bytes>
]]></sourcecode>
        </section>
        <section anchor="profile-flags">
          <name>Profile-specific Flags</name>
          <t>This field contains at most 64-bit of profile-defined semantics.
It can be used to carry information in fixed-size chunks, such as a bit mask or a single value within a predetermined set of codepoints.
Regardless of its internal structure, the size of this optional field is exactly 8 bytes.</t>
          <t>The <tt>flags-type</tt> is defined as follows:</t>
          <sourcecode type="cddl"><![CDATA[
flags-type = eat.JC<bytes8-b64u, bytes8>
]]></sourcecode>
          <t>If an EAT profile (<xref section="6" sectionFormat="of" target="RFC9711"/>) uses measured components, it <bcp14>MUST</bcp14> specify whether the <tt>profile-flags</tt> field is used.
If it is used, the profile <bcp14>MUST</bcp14> also specify how to interpret the 64 bits.</t>
        </section>
      </section>
      <section anchor="eat-measurements-format-extensions">
        <name>EAT <tt>measurements-format</tt> Extensions</name>
        <t>The CDDL in <xref target="fig-eat-plug"/> extends the <tt>$measurements-body-cbor</tt> and <tt>$measurements-body-json</tt> EAT sockets to add support for <tt>measured-component</tt>s to the <tt>Measurements</tt> claim.</t>
        <figure anchor="fig-eat-plug">
          <name>EAT measurements-format Extensions</name>
          <sourcecode type="cddl"><![CDATA[
mc-cbor = bytes .cbor measured-component
mc-json = text .json measured-component

; EAT CBOR (`.feature "cbor"`)
$measurements-body-cbor /= mc-cbor ; native
$measurements-body-cbor /= mc-json ; tunnel

; EAT JSON (`.feature "json"`)
$measurements-body-json /= mc-json            ; native
$measurements-body-json /= text .b64u mc-cbor ; tunnel
]]></sourcecode>
        </figure>
        <t>Each socket is extended with two new types: a "native" representation that is used when <tt>measured-component</tt> and the EAT have the same serialization (e.g., they are both CBOR), and a "tunnel" representation that is used when the serializations differ.</t>
      </section>
      <section anchor="measurements-format-for-cbor-eat">
        <name><tt>measurements-format</tt> for CBOR EAT</name>
        <t>The entries in <xref target="tab-mf-cbor"/> are the allowed <tt>content-type</tt> / <tt>content-format</tt> pairs when the <tt>measured-component</tt> is carried in a CBOR EAT.</t>
        <t>Note the use of the "native" and "tunnel" formats from <xref target="fig-eat-plug"/>, and how the associated CoAP Content-Format is used to describe the original serialization.</t>
        <table anchor="tab-mf-cbor">
          <name>measurement-format for EAT CWT</name>
          <thead>
            <tr>
              <th align="left">content-type (CoAP C-F equivalent)</th>
              <th align="left">content-format</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>application/measured-component+cbor</tt></td>
              <td align="left">
                <tt>mc-cbor</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>application/measured-component+json</tt></td>
              <td align="left">
                <tt>mc-json</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="measurements-format-for-json-eat">
        <name><tt>measurements-format</tt> for JSON EAT</name>
        <t><xref target="tab-mf-json"/> is the equivalent of <xref target="tab-mf-cbor"/> for JSON-serialized EAT.</t>
        <table anchor="tab-mf-json">
          <name>measurement-format for EAT JWT</name>
          <thead>
            <tr>
              <th align="left">content-type (CoAP C-F equivalent)</th>
              <th align="left">content-format</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>application/measured-component+json</tt></td>
              <td align="left">
                <tt>mc-json</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>application/measured-component+cbor</tt></td>
              <td align="left">
                <tt>tstr .b64u mc-cbor</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="eat-profiles-and-measured-components">
      <name>EAT Profiles and Measured Components</name>
      <t>The semantics of the signers and profile flags fields are defined by the applicable EAT profile, i.e., the profile of the wrapping EAT.</t>
      <t>If the profile of the EAT is not known to the consumer and one or more Measured Components within that EAT include signers and/or profile flags, the consumer <bcp14>MUST</bcp14> reject the EAT.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The example in <xref target="ex-1"/> is a digested measured component with all the fields populated.</t>
      <figure anchor="ex-1">
        <name>Complete Measured Component</name>
        <sourcecode type="cbor-edn"><![CDATA[
{
  / id / 1: [
    / name / "boot loader X",
    / version / [
      "1.2.3rc2",
      16384 / semver /
    ]
  ],
  / measurement / 2: [
    / alg / "sha-256",
    / val / h'3996003d486fb91ffb056f7d03f2b2992b215b31dbe7af4b37
              3431fc7d319da3'
  ],
  / signers / 3: [
    h'492e9b676c21f6012b1ceeb9032feb4141a880797355f6675015ec59c5
      1ca1ec',
    h'4277bb97ba7b51577a0d38151d3e08b40bdf946753f5b5bdeb814d6ff5
      7a8a5e'
  ],
  / profile-flags / 4: h'0000000000000101'
}
]]></sourcecode>
      </figure>
      <t>The example in <xref target="ex-eat-1"/> is the same measured component as above but used as the format of a <tt>measurements</tt> claim in a EAT claims-set.</t>
      <t>The example uses TBD1 as the <tt>content-type</tt> value of the <tt>measurements-format</tt> entry.
(This will change to the value assigned by IANA to the <tt>mc+cbor</tt> Content-Format.)</t>
      <t>Note that the array contains only one measured component, but additional entries could be added if the measured TCB is made of multiple, individually measured components.</t>
      <figure anchor="ex-eat-1">
        <name>EAT Measurements Claim using a Measured Component (CBOR)</name>
        <sourcecode type="cbor-edn"><![CDATA[
{
  273: [
    [
      TBD1, / mc+cbor /
      <<
        {
          / id / 1: [
            / name / "boot loader X",
            / version / [
              "1.2.3rc2",
              16384 / semver /
            ]
          ],
          / measurement / 2: [
            / alg / "sha-256",
            / val / h'3996003d486fb91ffb056f7d03f2b2992b215b31db
                      e7af4b373431fc7d319da3'
          ],
          / signers / 3: [
            h'492e9b676c21f6012b1ceeb9032feb4141a880797355f66750
              15ec59c51ca1ec',
            h'4277bb97ba7b51577a0d38151d3e08b40bdf946753f5b5bdeb
              814d6ff57a8a5e'
          ]
        }
      >>
    ]
  ]
}
]]></sourcecode>
      </figure>
      <t>The example in <xref target="ex-eat-2"/> illustrates the inclusion of a JSON measured component inside a JSON EAT.</t>
      <t>The example uses TBD2 as the <tt>content-type</tt> value of the <tt>measurements-format</tt> entry.
(This will change to the value assigned by IANA to the <tt>mc+json</tt> Content-Format.)</t>
      <figure anchor="ex-eat-2">
        <name>EAT Measurements Claim using a Measured Component (JSON)</name>
        <sourcecode type="cbor-edn"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "measurements": [
    [
      TBD2, / mc+json /
      "{ \"id\": [ \"boot loader X\", [ \"1.2.3rc2\", 16384 ] ], \"\
digested-measurement\": [ \"sha-256\", \"\
OZYAPUhvuR_7BW99A_KymSshWzHb569LNzQx_H0xnaM\" ], \"signers\": [ \"\
SS6bZ2wh9gErHO65Ay_rQUGogHlzVfZnUBXsWcUcoew\", \"\
                   Qne7l7p7UVd6DTgVHT4ItAvflGdT9bW964FNb_V6il4\" ] }"
    ]
  ]
}
]]></sourcecode>
      </figure>
      <t>The example in <xref target="ex-2"/> is a measured component representing a boot loader identified by its path name:</t>
      <figure anchor="ex-2">
        <name>Digested Measured Component using File Path as Identifier</name>
        <sourcecode type="cbor-edn"><![CDATA[
{
  / id / 1: [
    / name / "/boot/loader.bin"
  ],
  / measurement / 2: [
    / alg / "sha-384",
    / val / h'66ec2fb4e02d8c8b3eee320e750d9389d66c52c51db11cc6
              9cc5e410816283ed60ba573795f5fcc85e513af57b3f6def'
  ],
  / profile-flags / 4: h'0000000000000101'
}
]]></sourcecode>
      </figure>
      <t>The example in <xref target="ex-3"/> is a raw measured component.</t>
      <figure anchor="ex-3">
        <name>Raw Measured Component</name>
        <sourcecode type="cbor-edn"><![CDATA[
{
  / id / 1: [
    / name / "hardware-config"
  ],
  / measurement / 5: h'4f6d616861'
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="seccons">
      <name>Security and Privacy Considerations</name>
      <t>Please review Sections <xref target="RFC9711" section="9.1" sectionFormat="bare">Claim Trustworthiness</xref>, <xref target="RFC9711" section="9.4" sectionFormat="bare">Multiple EAT Consumers</xref> and <xref target="RFC9711" section="9.5" sectionFormat="bare">Detached EAT Bundle Digest Security Considerations</xref> of <xref target="RFC9711"/>; these considerations apply to this document as well.
Note that similar security and privacy considerations may apply when the Measured Component information model is serialized using different data models than the ones specified in this document.</t>
      <t>The Component Name and Component Version can give an attacker detailed information about the software running on a device and its configuration settings.
This information could offer an attacker valuable insights.
Additionally, the stability requirement of the Component Name could potentially allow for tracking.</t>
      <t>If the component measurement is digested, the digest must be computed using a strong cryptographic hash function.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="rfced">RFC Editor:</cref> replace "RFCthis" with the RFC number assigned to this document.</t>
      <section anchor="media-types-registrations">
        <name>Media Types Registrations</name>
        <t>IANA is requested to add the following media types to the "Media Types" registry <xref target="IANA.media-types"/>.</t>
        <table anchor="tab-mc-regs">
          <name>Measured Component Media Types</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Template</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>mc+cbor</tt></td>
              <td align="left">
                <tt>application/measured-component+cbor</tt></td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">
                <tt>mc+json</tt></td>
              <td align="left">
                <tt>application/measured-component+json</tt></td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
        <section anchor="applicationmeasured-componentcbor">
          <name><tt>application/measured-component+cbor</tt></name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>measured-component+cbor</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary (CBOR)</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="seccons"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attesters, Verifiers and Relying Parties</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers are as specified for "application/cbor". (No fragment identification syntax is currently defined for "application/cbor".)</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration:</dt>
            <dd>
              <t>no</t>
            </dd>
          </dl>
        </section>
        <section anchor="applicationmeasured-componentjson">
          <name><tt>application/measured-component+json</tt></name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>measured-component+json</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary (JSON is UTF-8-encoded text)</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="seccons"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attesters, Verifiers and Relying Parties</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers are as specified for "application/json". (No fragment identification syntax is currently defined for "application/json".)</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration:</dt>
            <dd>
              <t>no</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="measured-component-content-format-registrations">
        <name>Measured Component Content-Format Registrations</name>
        <t>IANA is requested to register two Content-Format numbers in the "CoAP Content-Formats" sub-registry, within the "Constrained RESTful Environments (CoRE) Parameters" Registry <xref target="IANA.core-parameters"/>, as follows:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Content-Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/measured-component+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD1</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/measured-component+json</td>
              <td align="left">-</td>
              <td align="left">TBD2</td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
        <t>If possible, TBD1 and TBD2 should be assigned in the 256..9999 range.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed:.plus,.cat, and.det for the construction of constants;.abnf/.abnfb for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and.feature for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="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>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>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>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="IANA.named-information" target="https://www.iana.org/assignments/named-information">
          <front>
            <title>Named Information</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3444">
          <front>
            <title>On the Difference between Information Models and Data Models</title>
            <author fullname="A. Pras" initials="A." surname="Pras"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <date month="January" year="2003"/>
            <abstract>
              <t>There has been ongoing confusion about the differences between Information Models and Data Models for defining managed objects in network management. This document explains the differences between these terms by analyzing how existing network management model specifications (from the IETF and other bodies such as the International Telecommunication Union (ITU) or the Distributed Management Task Force (DMTF)) fit into the universe of Information Models and Data Models. This memo documents the main results of the 8th workshop of the Network Management Research Group (NMRG) of the Internet Research Task Force (IRTF) hosted by the University of Texas at Austin. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3444"/>
          <seriesInfo name="DOI" value="10.17487/RFC3444"/>
        </reference>
        <reference anchor="RFC9783">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="S. Frost" initials="S." surname="Frost"/>
            <author fullname="M. Brossard" initials="M." surname="Brossard"/>
            <author fullname="A. Shaw" initials="A." surname="Shaw"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>Arm's Platform Security Architecture (PSA) is a family of hardware and firmware security specifications, along with open-source reference implementations, aimed at helping device makers and chip manufacturers integrate best-practice security into their products. Devices that comply with PSA can generate attestation tokens as described in this document, which serve as the foundation for various protocols, including secure provisioning and network access control. This document specifies the structure and semantics of the PSA attestation token.</t>
              <t>The PSA attestation token is a profile of the Entity Attestation Token (EAT). This specification describes the claims used in an attestation token generated by PSA-compliant systems, how these claims are serialized for transmission, and how they are cryptographically protected.</t>
              <t>This Informational document is published as an Independent Submission to improve interoperability with Arm's architecture. It is not a standard nor a product of the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9783"/>
          <seriesInfo name="DOI" value="10.17487/RFC9783"/>
        </reference>
        <reference anchor="RFC9393">
          <front>
            <title>Concise Software Identification Tags</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay"/>
            <author fullname="C. Schmidt" initials="C." surname="Schmidt"/>
            <author fullname="D. Waltermire" initials="D." surname="Waltermire"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an extensible XML-based structure to identify and describe individual software components, patches, and installation bundles. SWID tag representations can be too large for devices with network and storage constraints. This document defines a concise representation of SWID tags: Concise SWID (CoSWID) tags. CoSWID supports a set of semantics and features that are similar to those for SWID tags, as well as new semantics that allow CoSWIDs to describe additional types of information, all in a more memory-efficient format.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9393"/>
          <seriesInfo name="DOI" value="10.17487/RFC9393"/>
        </reference>
        <reference anchor="UEFI2" target="https://uefi.org/sites/default/files/resources/UEFI_Spec_2_10_Aug29.pdf">
          <front>
            <title>Unified Extensible Firmware Interface (UEFI) Specification</title>
            <author>
              <organization>UEFI Forum, Inc.</organization>
            </author>
            <date year="2022" month="August"/>
          </front>
        </reference>
        <reference anchor="TBBR-CLIENT" target="https://developer.arm.com/documentation/den0006">
          <front>
            <title>Trusted Board Boot Requirements Client (TBBR-CLIENT) Armv8-A</title>
            <author>
              <organization>Arm Ltd</organization>
            </author>
            <date year="2018" month="September"/>
          </front>
          <seriesInfo name="ARM" value="DEN0006D"/>
        </reference>
      </references>
    </references>
    <?line 580?>

<section anchor="open-issues">
      <name>Open Issues</name>
      <t>The list of currently open issues for this documents can be found at <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-eat-measured-component/issues"/>.</t>
      <t><cref>Note to RFC Editor: please remove before publication.</cref></t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank
Carl Wallace,
Carsten Bormann,
Dionna Glaze,
Giridhar Mandyam,
<contact fullname="Ionuț Mihalcea"/>,
Laurence Lundblade,
Michael Richardson
and
Usama Sardar
for providing comments, reviews and suggestions that greatly improved this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
