<?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.19 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-eat-measured-component-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="EAT Measured Component">EAT Measured Component</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-measured-component-00"/>
    <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>Siemens</organization>
      <address>
        <email>Hannes.Tschofenig@siemens.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="10"/>
    <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 63?>

<t>A measured component is a measurable object of an attester's target environment, that is, an object whose state can be sampled and digested.
Examples of measured components include the invariant part of firmware that is loaded in memory at startup time, a run-time integrity check, a file system object, or 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 70?>

<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 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 digest of the component's sampled state 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">Digest Value</td>
            <td align="left">Hash 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></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>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <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 new EAT claims design in <xref section="E" sectionFormat="of" target="I-D.ietf-rats-eat"/>.</t>
      <section anchor="the-measured-component-data-item">
        <name>The <tt>measured-component</tt> Data Item</name>
        <sourcecode type="cddl"><![CDATA[
;# import digest from RFCYYYY as corim

measured-component = [
  id:           component-id
  measurement:  corim.digest
  ? signers:    [ + signer-type ]
]
]]></sourcecode>
        <dl newline="true">
          <dt><tt>id</tt></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>Digest value and algorithm, encoded using CoRIM digest format (<xref section="1.3.8" sectionFormat="of" target="I-D.ietf-rats-corim"/>).</t>
          </dd>
          <dt><tt>signers</tt></dt>
          <dd>
            <t>One or more signing entities, see <xref target="signer"/>.</t>
          </dd>
        </dl>
        <section anchor="component-id">
          <name>Component Identifier</name>
          <sourcecode type="cddl"><![CDATA[
;# import sw-version-type from RFCXXXX as eat

component-id = [
  name:      text
  ? version: eat.sw-version-type
]
]]></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 signs the measured component. For example, as in UEFI Secure Boot <xref target="UEFI2"/> and Arm Trusted Board Boot <xref target="TBBR-CLIENT"/>.
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>
          <sourcecode type="cddl"><![CDATA[
signer-type = bytes
]]></sourcecode>
        </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 = bstr .cbor measured-component
mc-json = tstr .json measured-component

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

; EAT JSON (`.feature "json"`)
$measurements-body-json /= mc-json            ; native
$measurements-body-json /= tstr .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>tstr .b64u 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="examples">
      <name>Examples</name>
      <t>(The examples are CBOR only.
JSON examples will be added in a future version of this document.)</t>
      <t>The example in <xref target="ex-1"/> is a measured component with all the fields populated.</t>
      <figure anchor="ex-1">
        <name>Complete Measured Component</name>
        <sourcecode type="cbor-edn"><![CDATA[
[
  / id / [
    / name / "boot loader X",
    / version / [
      "1.2.3rc2",
      16384 / semver /
    ]
  ],
  / measurement / [
    / alg / "sha-256",
    / val / h'3996003d486fb91ffb056f7d03f2b2992b215b31dbe7af4b37
              3431fc7d319da3'
  ],
  / signers / [
    h'492e9b676c21f6012b1ceeb9032feb4141a880797355f6675015ec59c5
      1ca1ec',
    h'4277bb97ba7b51577a0d38151d3e08b40bdf946753f5b5bdeb814d6ff5
      7a8a5e'
  ]
]
]]></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>Note that the example uses a CoAP Content-Format value from the experimental range (65000), which will change to the value assigned by IANA for the <tt>application/measured-component+cbor</tt> Content-Format.</t>
      <t>Note also 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</name>
        <sourcecode type="cbor-edn"><![CDATA[
{
  273: [
    [
      65000, / using a CoAP C-F from the experimental range /
      <<
        [
          / id / [
            / name / "boot loader X",
            / version / [
              "1.2.3rc2",
              16384 / semver /
            ]
          ],
          / measurement / [
            / alg / "sha-256",
            / val / h'3996003d486fb91ffb056f7d03f2b2992b215b31db
                      e7af4b373431fc7d319da3'
          ],
          / signers / [
            h'492e9b676c21f6012b1ceeb9032feb4141a880797355f66750
              15ec59c51ca1ec',
            h'4277bb97ba7b51577a0d38151d3e08b40bdf946753f5b5bdeb
              814d6ff57a8a5e'
          ]
        ]
      >>
    ]
  ]
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="seccons">
      <name>Security and Privacy Considerations</name>
      <t>The Name and Version of a component could provide an attacker with detailed information about the running software and configuration settings of the device.
This information could also expose private details regarding the device.
The stability requirement for the component's Name could potentially enable 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>
      </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:,, and for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="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="1" month="September" year="2024"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9165.  The latter has 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-03"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-cddl-more-control">
          <front>
            <title>More Control Operators for CDDL</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="21" month="July" year="2024"/>
            <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-06"/>
        </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="8" month="July" year="2024"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether to engage in secure interactions with it - or not.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-05"/>
        </reference>
        <reference anchor="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 422?>

<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,
Giridhar Mandyam
and
Laurence Lundblade
for providing comments, reviews and suggestions that greatly improved this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
yyxGdRl5/w3gzHsR+DgAAA==

-->

</rfc>
