<?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-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="EAT Measured Component">EAT Measured Component</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-measured-component-05"/>
    <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="October" day="16"/>
    <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 67?>

<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.</t>
      <t>This document defines a "measured component" format that can be used with the EAT <tt>Measurements</tt> claim.</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="I-D.ietf-rats-eat"/> 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"/>.</t>
      <t>This document introduces a "measured component" format that can be used with the EAT <tt>Measurements</tt> claim in addition to or as an alternative to 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>
    </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="I-D.ietf-cbor-cddl-modules"/> <xref target="I-D.ietf-cbor-cddl-more-control"/> is used to describe the data formats.</t>
    </section>
    <section anchor="measured-component">
      <name>Information Model</name>
      <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 measured component.</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="I-D.tschofenig-rats-psa-token"/>), 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="I-D.ietf-rats-eat"/>.</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="I-D.ietf-rats-eat"/> 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="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 corim.digest from rfcYYYY as corim
;# import eat.JC from rfc9711 as eat

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

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

signer-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 CoRIM digest format (<xref section="1.3.8" sectionFormat="of" target="I-D.ietf-rats-corim"/>), 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="I-D.ietf-rats-eat"/> <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 measured component.
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 associated with 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="I-D.ietf-rats-eat"/>) 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-type</tt>.</t>
          <t>The <tt>signer-type</tt> is defined as follows:</t>
          <sourcecode type="cddl"><![CDATA[
signer-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="I-D.ietf-rats-eat"/>) 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>The Name and Version of a component 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's Name could potentially allow for tracking.</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="I-D.ietf-cbor-cddl-modules">
          <front>
            <title>CDDL Module Structure</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Brendan Moran" initials="B." surname="Moran">
              <organization>Arm Limited</organization>
            </author>
            <date day="30" month="August" year="2025"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9682 as well as RFC 9165 and RFC 9741.
   The latter two have used the extension point provided in RFC 8610,
   the _control operator_.

   As CDDL is being used in larger projects, the need for features has
   become known that cannot be easily mapped into this single extension
   point.

   The present document defines a backward- and forward-compatible way
   to add a module structure to CDDL.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-modules-05"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-cddl-more-control">
          <front>
            <title>Concise Data Definition Language (CDDL): Additional Control Operators for the Conversion and Processing of Text</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="9" month="January" 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 both in an
   application-specific and a more general way.

   The present document defines a number of additional generally
   applicable control operators for text conversion (Bytes, Integers,
   JSON, Printf-style formatting) and for an operation on text.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-more-control-08"/>
        </reference>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-08"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="IANA.media-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="I-D.tschofenig-rats-psa-token">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Mathias Brossard" initials="M." surname="Brossard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Adrian L. Shaw" initials="A. L." surname="Shaw">
              <organization>HP Labs</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="23" month="September" year="2024"/>
            <abstract>
              <t>   The Arm Platform Security Architecture (PSA) is a family of hardware
   and firmware security specifications, as well as open-source
   reference implementations, to help device makers and chip
   manufacturers build best-practice security into products.  Devices
   that are PSA compliant can produce attestation tokens as described in
   this memo, which are the basis for many different protocols,
   including secure provisioning and network access control.  This
   document specifies the PSA attestation token structure and semantics.

   The PSA attestation token is a profile of the Entity Attestation
   Token (EAT).  This specification describes what claims are used in an
   attestation token generated by PSA compliant systems, how these
   claims get serialized to the wire, and how they are cryptographically
   protected.

   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="Internet-Draft" value="draft-tschofenig-rats-psa-token-24"/>
        </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 554?>

<section anchor="open-issues">
      <name>Open Issues</name>
      <t>The list of currently open issues for this documents can be found at <eref target="https://github.com/thomas-fossati/draft-fft-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,
Laurence Lundblade
and
Michael Richardson
for providing comments, reviews and suggestions that greatly improved this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
