<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fft-rats-eat-measured-component-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.4 -->
  <front>
    <title abbrev="EAT Measured Component">EAT Measured Component</title>
    <seriesInfo name="Internet-Draft" value="draft-fft-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="February" day="27"/>
    <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 48?>

<t>This document defines a "measured components" format that can be used with the EAT Measurements 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 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref section="4.2.16" sectionFormat="of" target="I-D.ietf-rats-eat"/> defines a Measurements 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"/>).
Initially, 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 the "measured components" format that can be used with the EAT Measurements claim in addition or as an alternative to CoSWID.</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 computed digest on the software or configuration payload, along with metadata that helps in identifying the measurement and the authorizing entity for component installation.</t>
      <t><xref target="tab-mc-info-elems"/> describes the information model of a measured component.</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 a 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 Semantic Versioning 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 invariant part of the component that is loaded in memory at startup time.</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">Signer</td>
            <td align="left">A unique identifier of the entity authorizing installation of the measured component.</td>
            <td align="left">
              <bcp14>REQUIRED</bcp14></td>
          </tr>
          <tr>
            <td align="left">Countersigners</td>
            <td align="left">One or more unique identifiers of further authorizing entities for component installation</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 slightly 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>
      <t>The following types and semantics have been reused:</t>
      <ul spacing="normal">
        <li>
          <t>COSE Key Thumbprint <xref target="I-D.ietf-cose-key-thumbprint"/>, for signer and countersigners;</t>
        </li>
        <li>
          <t>CoSWID software name and version <xref target="RFC9393"/>, for component name and version;</t>
        </li>
        <li>
          <t>CoRIM digest <xref target="I-D.ietf-rats-corim"/>, for digest value and algorithm.</t>
        </li>
      </ul>
      <section anchor="cddl">
        <name>CDDL</name>
        <t>The <tt>measured-component</tt> data item:</t>
        <sourcecode type="cddl"><![CDATA[
measured-component = [
  id:               component-id
  measurement:      corim.digest
  signer:           ckt
  ? countersigners: [ + ckt ]
]

; COSE Key Thumbprint
ckt = bytes

component-id = [
  name:      text
  ? version: version
]

;# import $version-scheme from rfc9393 as coswid

version = [
  val:      text 
  ? scheme: coswid.$version-scheme
]

; eventually: ";#import digest from rfcxxxx as corim"

corim.digest = [
  alg: (int / text)
  val: bytes
]
]]></sourcecode>
        <t>The CDDL extending the EAT Measurements format:</t>
        <sourcecode type="cddl"><![CDATA[
$measurements-body-cbor /= bytes .cbor measured-component
$measurements-body-json /= text .b64u measured-component

$measurements-body-json /= text .json measured-component
$measurements-body-cbor /= text .b64u measured-component
]]></sourcecode>
        <section anchor="cwt">
          <name>CWT</name>
          <table>
            <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>bytes .cbor measured-component</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>application/measured-component+json</tt></td>
                <td align="left">
                  <tt>text .b64u measured-component</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="jwt">
          <name>JWT</name>
          <table>
            <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>text .json measured-component</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>application/measured-component+cbor</tt></td>
                <td align="left">
                  <tt>text .b64u measured-component</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
      </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'
  ],
  / signer / h'492e9b676c21f6012b1ceeb9032feb4141a880797355f6675
              015ec59c51ca1ec',
  / countersigners / [
    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'
          ],
          / signer / h'492e9b676c21f6012b1ceeb9032feb4141a880797
                      355f6675015ec59c51ca1ec',
          / countersigners / [
            h'4277bb97ba7b51577a0d38151d3e08b40bdf946753f5b5bdeb
              814d6ff57a8a5e'
          ]
        ]
      >>
    ]
  ]
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>TODO</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>
      <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>
            <date day="18" month="December" year="2023"/>
            <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 corrections
   and additional features has become known that cannot be easily mapped
   into this single extension point.  Hence, there is a need for
   evolution of the base CDDL specification itself.

   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-01"/>
        </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="26" month="February" 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), operations on text, and deterministic
   encoding.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-more-control-03"/>
        </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="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">
         </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="15" month="January" 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-25"/>
        </reference>
        <reference anchor="I-D.ietf-cose-key-thumbprint">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
            <author fullname="Kohei Isobe" initials="K." surname="Isobe">
              <organization>SECOM CO., LTD.</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This specification defines a method for computing a hash value over a
   COSE Key. It defines which fields in a COSE Key structure are used in
   the hash computation, the method of creating a canonical form of the
   fields, and how to hash the byte sequence.  The resulting hash value
   can be used for identifying or selecting a key that is the subject of
   the thumbprint.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-key-thumbprint-04"/>
        </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>arm</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="23" month="October" year="2023"/>
            <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.  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-03"/>
        </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="http://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="http://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="21" month="February" 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-22"/>
        </reference>
      </references>
    </references>
    <?line 366?>

<section anchor="collected-cddl">
      <name>Collected CDDL</name>
      <t>TODO</t>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>The list of currently open issues for this documents can be found at <eref target="https://github.com/thomas-fossati/draft-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
TBD
for their comments, reviews and suggestions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
