<?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 rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ydb-rats-cca-endorsements-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="Arm CCA Endorsements">A CoRIM Profile for Arm's Confidential Computing Architecture (CCA) Endorsements</title>
    <seriesInfo name="Internet-Draft" value="draft-ydb-rats-cca-endorsements-02"/>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>Arm Ltd</organization>
      <address>
        <email>yogesh.deshpande@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>
    <date/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <abstract>
      <?line 61?>

<t>Arm Confidential Computing Architecture (CCA) Endorsements comprise reference values and cryptographic key material that a Verifier needs to appraise Attestation Evidence produced by an Arm CCA system.</t>
      <t>This memo defines CCA Endorsements as a profile of the CoRIM data model.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/yogeshbdeshpande/draft-cca-rats-endorsements"/>.</t>
    </note>
  </front>
  <middle>
    <?line 67?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Arm Confidential Computing Architecture (CCA) Endorsements comprise reference values and cryptographic key material that a Verifier needs to appraise Attestation Evidence produced by an Arm CCA system <xref target="I-D.ffm-rats-cca-token"/>.</t>
      <t>This memo defines CCA Endorsements as a profile of the CoRIM data model <xref target="I-D.ietf-rats-corim"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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.
<?line -6?>
      </t>
      <t>The reader is assumed to be familiar with the terms and concepts introduced in <xref target="I-D.ffm-rats-cca-token"/> and in <xref section="4" sectionFormat="of" target="RFC9334"/>.</t>
    </section>
    <section anchor="sec-cca-endorsements">
      <name>Arm CCA Endorsements</name>
      <t>The Arm CCA Attester is a layered Attester comprising separate yet linked Platform and Realm Attesters.
For the details, see <xref section="3" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>.
Appraising Arm CCA Evidence requires Endorsements for both the Platform and Realm.
This document outlines the Platform and Realm Endorsements in <xref target="sec-platform-endorsements"/> and <xref target="realm-endorsements"/>, respectively.</t>
      <section anchor="sec-platform-endorsements">
        <name>Arm CCA Platform Endorsements</name>
        <t>There are two types of CCA Platform Endorsements:</t>
        <ul spacing="normal">
          <li>
            <t>Reference Values (<xref target="sec-ref-values"/>), i.e., measurements of the CCA Platform firmware.</t>
          </li>
          <li>
            <t>Attestation Verification Keys (<xref target="sec-keys"/>), i.e., cryptographic keys that can be used to verify Evidence produced by the CCA Platform, along with the identifiers that link the keys to their platform instances.</t>
          </li>
        </ul>
        <section anchor="arm-cca-platform-endorsement-profile">
          <name>Arm CCA Platform Endorsement Profile</name>
          <t>Arm CCA Platform Endorsements are carried in a CoMID within a CoRIM.</t>
          <t>The profile attribute in the CoRIM MUST be present and MUST be the URI <tt>tag:arm.com,2025:cca_platform#1.0.0</tt>, as shown in <xref target="ex-cca-platform-profile"/>.</t>
          <figure anchor="ex-cca-platform-profile">
            <name>CoRIM profile for CCA Platform Endorsements version 1.0.0</name>
            <artwork><![CDATA[
/ corim-map / {
  / corim.profile / 3 : 32("tag:arm.com,2025:cca_platform#1.0.0")
  / ... /
}
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-cca-rot-id">
          <name>Arm CCA Platform Endorsements linkage to CCA Platform</name>
          <t>Each CCA Platform Endorsement, be it a Reference Value or an Attestation Verification Key, is associated with a unique identifier known as CCA Platform Implementation ID (see <xref section="4.4.2" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>).
The Implementation ID uniquely identifies a given implementation of a CCA Platform and it is used by the Endorser or Reference Value Provider as an anchor to which Reference Values and Attestation Verification Keys for a CCA Platform are linked.</t>
          <t>To encode an Implementation ID, the <tt>tagged-bytes</tt> variant of the <tt>$class-id-type-choice</tt> is used, as described in <xref target="cddl-impl-id"/>.
The length of the byte string MUST be exactly 32.</t>
          <figure anchor="cddl-impl-id">
            <name>CCA Platform Implementation ID encoding</name>
            <sourcecode type="cddl"><![CDATA[
impl-id-tagged-bytes = #6.560(arm-platform-implementation-id-type)

arm-platform-implementation-id-type = bytes .size 32
]]></sourcecode>
          </figure>
          <t>Besides, a CCA Endorsement can be associated with a specific <em>instance</em> of a certain CCA Platform implementation - as is the case of Attestation Verification Keys.
The Instance ID (see <xref section="4.4.1" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>) provides a unique identifier for a given CCA Platform instance.</t>
          <t>To encode an Instance ID, the <tt>tagged-ueid-type</tt> variant of the <tt>$instance-id-type-choice</tt> is used, as described in <xref target="cddl-inst-id"/>.
The first byte MUST be 0x01 (RAND) followed by the 32-byte unique instance identifier.</t>
          <figure anchor="cddl-inst-id">
            <name>CCA Platform Instance ID encoding</name>
            <sourcecode type="cddl"><![CDATA[
inst-id-tagged-ueid = #6.550(eat-ueid-rand-type)

eat-ueid-rand-type = bytes .join eat-ueid-rand-fmt

eat-ueid-rand-fmt = [
  ; the type byte is 0x01
  ueid-rand-typ
  bytes .size 32
]

ueid-rand-typ = h'01'
]]></sourcecode>
          </figure>
          <t>CCA Attestation Verification Keys are associated with a CCA Platform instance by means of the Instance ID and the corresponding Implementation ID.
These identifiers are typically found in the subject of a CoMID triple, encoded in an <tt>environment-map</tt> as shown in <xref target="ex-cca-platform-id"/>.</t>
          <figure anchor="ex-cca-platform-id">
            <name>Example CCA Platform Identification</name>
            <sourcecode type="cbor-diag"><![CDATA[
/ environment-map / {
  / comid.class / 0 : {
    / comid.class-id (implementation id) / 0 :
      / tagged-bytes / 560(
        h'61636d652d696d706c656d656e746174
          696f6e2d69642d303030303030303031'
      )
  },
  / comid.instance / 1 :
    / tagged-ueid-type (instance id) / 550(
      h'01
        4ca3e4f50bf248c39787020d68ffd05c
        88767751bf2645ca923f57a98becd296'
    )
}
]]></sourcecode>
          </figure>
          <t>Together, they are interpreted as a unique identifier of the CCA Platform.</t>
        </section>
        <section anchor="sec-ref-values">
          <name>Reference Values</name>
          <t>Reference Values carry measurements and other metadata associated with the updatable firmware of the CCA Platform.
CCA Platform is a collective term used to identify all the hardware and firmware components that comprise a CCA system.
Specifically these include the following:</t>
          <ul spacing="normal">
            <li>
              <t>CCA system security domain</t>
            </li>
            <li>
              <t>Monitor security domain</t>
            </li>
            <li>
              <t>Realm Management Security domain</t>
            </li>
          </ul>
          <t>When appraising Evidence, the Verifier compares Reference Values against:</t>
          <ul spacing="normal">
            <li>
              <t>The values found in the Software Components of the CCA Platform token (see <xref section="4.6" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>).</t>
            </li>
            <li>
              <t>The value set in the platform configuration of the CCA Platform token (see <xref section="4.5.3" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>).</t>
            </li>
          </ul>
          <t>Each measurement is encoded in a <tt>measurement-map</tt> of a CoMID <tt>reference-triple-record</tt>.
Since a <tt>measurement-map</tt> can encode one or more measurements, a single <tt>reference-triple-record</tt> can carry as many measurements as needed, provided they belong to the same CCA Platform identified in the subject of the triple.
A single <tt>reference-triple-record</tt> MUST completely describe the CCA Platform measurements.</t>
          <section anchor="cca-platform-software-components">
            <name>CCA Platform Software Components</name>
            <t>Each CCA Platform software component (called <tt>arm-platform-sw-component</tt> in <xref section="4.6.1" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>) is encoded in a <tt>measurement-values-map</tt> as defined in <xref target="cddl-swcomp-mvm"/>.</t>
            <figure anchor="cddl-swcomp-mvm">
              <name>CCA Platform Software Component encoding</name>
              <sourcecode type="cddl"><![CDATA[
cca-swcomp-measurement-values-map = {
  ? &(version: 0) => cca-swcomp-version-map
  &(digests: 2) => cca-swcomp-digests-type
  ? &(name: 11) => cca-swcomp-name
  &(cryptokeys: 13) => [ cca-swcomp-signer-id ]
}

cca-swcomp-version-map = {
  &(version: 0) => text
}

cca-swcomp-digests-type = [ + cca-digest ]

cca-digest = [
  alg: text
  val: cca-hash-type
]

cca-hash-type = bytes .size 32 / bytes .size 48 / bytes .size 64

cca-swcomp-name = text

cca-swcomp-signer-id = #6.560(cca-hash-type)
]]></sourcecode>
            </figure>
            <dl>
              <dt>version (key 0):</dt>
              <dd>
                <t>A <tt>version-map</tt> with its <tt>version</tt> field containing the version (key 4) of the <tt>arm-platform-sw-component</tt>.
The <tt>version-scheme</tt> field of the <tt>version-map</tt> MUST NOT be present.
This field is optional.</t>
              </dd>
              <dt>digests (key 2):</dt>
              <dd>
                <t>Each array element encodes the "measurement value" (key 2) and "hash algorithm identifier" (key 6) of the <tt>arm-platform-sw-component</tt> in the <tt>val</tt> and <tt>alg</tt> entries, respectively.
The <tt>alg</tt> entry MUST use the text encoding.
The digests array MUST contain at least one entry and MAY contain more than one entry if multiple digests (obtained with different hash algorithms) of the same measured component exist.
If multiple entries exist, they MUST have different <tt>alg</tt> values.
This field is mandatory.</t>
              </dd>
              <dt>name (key 11):</dt>
              <dd>
                <t>A text value containing the "component type" (key 1) of the <tt>arm-platform-sw-component</tt>.
This field is optional.</t>
              </dd>
              <dt>cryptokeys (key 13):</dt>
              <dd>
                <t>An array with <em>only one</em> entry using the <tt>tagged-bytes</tt> variant of the <tt>$crypto-key-type-choice</tt>.
The entry contains the "signer id" (key 5) of the <tt>arm-platform-sw-component</tt>.
This field is mandatory.</t>
              </dd>
            </dl>
            <t>Each <tt>measurement-values-map</tt> for a CCA Platform software component is wrapped in a <tt>measurement-map</tt> with an <tt>mkey</tt> using the text variant of the <tt>$measured-element-type-choice</tt>.
The value of the <tt>mkey</tt> MUST be "cca.software-component".
The <tt>authorized-by</tt> field of the <tt>measurement-map</tt> MUST NOT be present.
Find the related CDDL definitions in <xref target="cddl-swcomp-mm"/>.</t>
            <figure anchor="cddl-swcomp-mm">
              <name>CCA Platform Software Component measurement-map</name>
              <sourcecode type="cddl"><![CDATA[
cca-swcomp-measurement-map = {
  &(mkey: 0) => "cca.software-component"
  &(mval: 1) => cca-swcomp-measurement-values-map
}
]]></sourcecode>
            </figure>
          </section>
          <section anchor="cca-platform-configuration">
            <name>CCA Platform Configuration</name>
            <t>The CCA Platform configuration describes the set of chosen implementation options of the CCA Platform.
For example, this may include a description of the level of physical memory protection provided.</t>
            <t>CCA Platform configuration is vendor-specific variable-length data.
Only some of the data may be security-relevant.
For these reasons, it is represented in a <tt>raw-value</tt> of the <tt>measurement-values-map</tt>, using the <tt>tagged-masked-raw-value</tt> variant of the <tt>$raw-values-type-choice</tt>.
Refer to <xref section="5.1.4.1.4.6" sectionFormat="of" target="I-D.ietf-rats-corim"/> for the details about the comparison algorithm.</t>
            <figure anchor="cddl-config-mvm">
              <name>CCA Platform Configuration measurement-map</name>
              <sourcecode type="cddl"><![CDATA[
cca-config-measurement-values-map = {
  &(raw-value: 4) => cca-tagged-masked-raw-value
}

cca-config-tagged-masked-raw-value = #6.563([
  value: bytes
  mask: bytes
])
]]></sourcecode>
            </figure>
            <t>The <tt>measurement-values-map</tt> for a CCA Platform configuration is wrapped in a <tt>measurement-map</tt> with an <tt>mkey</tt> using the text variant of the <tt>$measured-element-type-choice</tt>.
The value of the <tt>mkey</tt> MUST be "cca.platform-config".
There MUST be only one <tt>measurement-map</tt> with <tt>mkey</tt> "cca.platform-config" in the triple.</t>
            <t>The <tt>authorized-by</tt> field of the <tt>measurement-map</tt> MUST NOT be present.
Find the related CDDL definitions in <xref target="cddl-config-mm"/>.</t>
            <figure anchor="cddl-config-mm">
              <name>CCA Platform Software Component measurement-map</name>
              <sourcecode type="cddl"><![CDATA[
cca-config-measurement-map = {
  &(mkey: 0) => "cca.platform-config"
  &(mval: 1) => cca-config-measurement-values-map
}
]]></sourcecode>
            </figure>
          </section>
          <section anchor="comid-example">
            <name>CoMID Example</name>
            <t>An example CoMID containing one Reference Values triple with the expected values for both software components and platform configuration is given in <xref target="ex-cca-platform-refval"/>.</t>
            <figure anchor="ex-cca-platform-refval">
              <name>Example CCA Platform Reference Values</name>
              <sourcecode type="cbor-diag"><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'3f06af63a93c11e4979700505690773f'
  },
  / comid.triples / 4 : {
    / comid.reference-triples / 0 : [
      [
        / environment-map / {
          / comid.class / 0 : {
            / comid.class-id / 0 :
              / tagged-bytes / 560(
                h'61636d652d696d706c656d656e746174
                  696f6e2d69642d303030303030303031'
              )
          }
        },
        [
          / measurement-map / {
            / comid.mkey / 0 : "cca.software-component",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'9a271f2a916b0b6ee6cecb2426f0b320
                                  6ef074578be55d9bc94f6f3fe3ab86aa'
              ],
              / name / 11 : "RSE_BL1_2",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7aa3')
            }
          },
          / measurement-map / {
            / comid.mkey / 0 : "cca.software-component",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'53c234e5e8472b6ac51c1ae1cab3fe06
                                  fad053beb8ebfd8977b010655bfdd3c3'
              ],
              / name / 11 : "RSE_BL2",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7aa3')
            }
          },
          / measurement-map / {
            / comid.mkey / 0 : "cca.platform-config",
            / comid.mval / 1 : {
              / comid.raw-value / 4 : / tagged-masked-raw-value / 563([
                / value / h'cfcfcfcf',
                / mask /  h'ffffffff'
              ])
            }
          }
        ]
      ]
    ]
  }
}
]]></sourcecode>
            </figure>
          </section>
        </section>
        <section anchor="sec-keys">
          <name>Attestation Verification Keys</name>
          <t>An Attestation Verification Key contains the public key associated with the CCA Platform Attestation Key (CPAK).
When appraising Platform Evidence, the Verifier uses the Implementation ID and Instance ID claims found in the Platform Token to identify the key that it shall use to verify the signature on the CCA Platform token.
This allows the Verifier to prove (or disprove) the Attester's claimed identity.</t>
          <t>Each verification key is provided with the corresponding CCA Platform Instance and Implementation IDs in an <tt>attest-key-triple-record</tt>.
Specifically:</t>
          <ul spacing="normal">
            <li>
              <t>The Instance and Implementation IDs are encoded in the <tt>environment-map</tt> as described in <xref target="sec-cca-rot-id"/>;</t>
            </li>
            <li>
              <t>The CPAK public key uses the <tt>tagged-pkix-base64-key-type</tt> variant of the <tt>$crypto-key-type-choice</tt>.
The CPAK public key is a PEM-encoded SubjectPublicKeyInfo <xref target="RFC5280"/>.
There MUST be only one key in an <tt>attest-key-triple-record</tt>.</t>
            </li>
          </ul>
          <t>The example in <xref target="ex-cca-platform-iak"/> shows the CCA Endorsement of type Attestation Verification Key carrying a secp256r1 EC public CPAK associated with Instance ID <tt>4ca3...d296</tt>.</t>
          <figure anchor="ex-cca-platform-iak">
            <name>Example CCA Platform Attestation Verification Key</name>
            <artwork><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'3f06af63a93c11e4979700505690773f'
  },
  / comid.triples / 4 : {
    / comid.attest-key-triples / 3 : [
      [
        / environment-map / {
          / comid.class / 0 : {
            / comid.class-id (implementation id) / 0 :
              / tagged-bytes / 560(
                h'61636d652d696d706c656d656e746174
                  696f6e2d69642d303030303030303031'
              )
          },
          / comid.instance / 1 :
            / tagged-ueid-type (instance id) / 550(
              h'01
                4ca3e4f50bf248c39787020d68ffd05c
                88767751bf2645ca923f57a98becd296'
            )
        },
        [
          / tagged-pkix-base64-key-type / 554(
             "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgA
              ETl4iCZ47zrRbRG0TVf0dw7VFlHtv18HInY
              hnmMNybo+A1wuECyVqrDSmLt4QQzZPBECV8
              ANHS5HgGCCSr7E/Lg=="
          )
        ]
      ]
    ]
  }
}
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="realm-endorsements">
        <name>Arm CCA Realm Endorsements</name>
        <t>Arm CCA provides confidential computing environments, known as Realms, that enable application workloads requiring confidential execution to operate in isolation from the host hypervisor and any other concurrent workload.
Arm CCA allows the initial and run-time state of a Realm to be attested (<xref section="4.8" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>).</t>
        <t>Realm Endorsements consist of Reference Values (<xref target="sec-realm-ref-values"/>), which are measurements of the configuration and contents of a Realm at the time of its activation, along with measurements of the software operating within the Realm, which can be extended throughout the Realm's lifetime.</t>
        <t>Unlike the Platform, Realm Attestation Verification Key Endorsements are not necessary as the key material needed to verify the Realm Evidence is inline in the CCA Token (<xref section="3.2" sectionFormat="of" target="I-D.ffm-rats-cca-token"/>).</t>
        <section anchor="realm-id">
          <name>Realm Endorsements linkage to Realm</name>
          <t>Realms do not have <em>explicit</em> class or instance identifiers.
However, the Realm Initial Measurement (RIM) is unique and stable enough to serve as an identifier for the Realm Target Environment.
Therefore, this profile employs an <tt>environment map</tt> with a class identifier that uses the <tt>tagged bytes</tt> variant of the <tt>$class-id-type-choice</tt> to encode the RIM value (<xref target="ex-cca-realm-identifiers"/>).</t>
          <figure anchor="ex-cca-realm-identifiers">
            <name>CCA Realm Identification</name>
            <sourcecode type="cbor-diag"><![CDATA[
/ environment-map / {
  / comid.class / 0 : {
    / comid.class-id / 0 :
      / RIM as tagged-bytes / 560(
        h'311314ab73620350cf758834ae5c65d9
          e8c2dc7febe6e7d9654bbe864e300d49'
      )
  }
}
]]></sourcecode>
          </figure>
        </section>
        <section anchor="arm-cca-realm-endorsement-profile">
          <name>Arm CCA Realm Endorsement Profile</name>
          <t>Arm CCA Realm endorsements are carried in a CoMID within a CoRIM.</t>
          <t>The profile attribute in the CoRIM MUST be present and MUST be the URI <tt>tag:arm.com,2025:cca_realm#1.0.0</tt> as shown in <xref target="ex-cca-realm-profile"/>.</t>
          <figure anchor="ex-cca-realm-profile">
            <name>CoRIM profile for CCA Realm endorsements version 1.0.0</name>
            <sourcecode type="cbor-diag"><![CDATA[
/ corim-map / {
  / corim.profile / 3 : 32("tag:arm.com,2025:cca_realm#1.0.0")
  / ... /
}
]]></sourcecode>
          </figure>
        </section>
        <section anchor="sec-realm-ref-values">
          <name>Reference Values</name>
          <t>Reference Values carry measurements and other metadata associated with the CCA Realm.</t>
          <t>Realm Reference Values comprise:</t>
          <ol spacing="normal" type="1"><li>
              <t>Realm Initial Measurements (RIM)</t>
            </li>
            <li>
              <t>Realm Extended Measurements (REMs)</t>
            </li>
            <li>
              <t>Realm Personalization Value (RPV)</t>
            </li>
          </ol>
          <t>All Realm Reference Values are carried in a <tt>reference-triple-record</tt> whose <tt>environment-map</tt> is as described in <xref target="realm-id"/>
The triple includes as many <tt>measurement-map</tt>s as needed to fully describe the Realm.</t>
          <t>The <tt>measurement-map</tt> contents depend on the type of Reference Value.
For all, the <tt>mkey</tt> uses the text variant of the <tt>$measured-element-type-choice</tt>.
The value of the <tt>mkey</tt> MUST be "cca.rim" for the RIM measurement, "cca.rpv" for the RPV measurement, and "cca.rem0".."cca.rem3" for the REM measurements.
The <tt>authorized-by</tt> field of the <tt>measurement-map</tt> MUST NOT be present.</t>
          <t>RIM and REMs are encoded as <tt>digests</tt> (key 2).</t>
          <t>RPV is encoded using a <tt>raw-value</tt> (key 4) using the <tt>tagged bytes</tt> variant of the <tt>$raw-value-type-choice</tt>.</t>
          <t>All the Realm Reference Values are optional except RIM, which is mandatory.</t>
          <section anchor="comid-example-1">
            <name>CoMID Example</name>
            <t>An example CoMID containing one Reference Values triple with the expected values for a Realm is given in <xref target="ex-cca-realm-refval"/>.</t>
            <figure anchor="ex-cca-realm-refval">
              <name>CCA realm identifiers</name>
              <artwork><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'3f06af63a93c11e4979700505690773f'
  },
  / comid.triples / 4 : {
    / comid.reference-triples / 0 : [
      [
        / environment-map / {
          / comid.class / 0 : {
            / comid.class-id / 0 :
              / RIM as tagged-bytes / 560(
                h'311314ab73620350cf758834ae5c65d9
                  e8c2dc7febe6e7d9654bbe864e300d49'
              )
          }
        },
        / Realm measurements /
        [
          / measurement-map (RIM) / {
            / comid.mkey / 0 : "cca.rim",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                "sha-256",
                h'311314ab73620350cf758834ae5c65d9
                  e8c2dc7febe6e7d9654bbe864e300d49'
              ]
            }
          },
          / measurement-map (REM[0]) / {
            / comid.mkey / 0 : "cca.rem0",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                "sha-256",
                h'24d5b0a296cc05cbd8068c5067c5bd47
                  3b770dda6ae082fe3ba30abe3f9a6ab1'
              ]
            }
          },
          / measurement-map (REM[1]) / {
            / comid.mkey / 0 : "cca.rem1",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                "sha-256",
                h'788fc090bfc6b8ed903152ba8414e73d
                  af5b8c7bb1e79ad502ab0699b659ed16'
              ]
            }
          },
          / measurement-map (REM[2]) / {
            / comid.mkey / 0 : "cca.rem2",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                "sha-256",
                h'dac46a58415dc3a00d7a741852008e9c
                  ae64f52d03b9f76d76f4b3644fefc416'
              ]
            }
          },
          / measurement-map (REM[3]) / {
            / comid.mkey / 0 : "cca.rem3",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                "sha-256",
                h'32c6afc627e55585c03155359f331a0e
                  225f6840db947dd96efab81be2671939'
              ]
            }
          },
          / measurement-map (RPV) / {
            / comid.mkey / 0 : "cca.rpv",
            / comid.mval / 1 : {
              / comid.raw-value / 4 : 560(
                h'54686520717569636b2062726f776e20
                  666f78206a756d7073206f7665722031
                  33206c617a7920646f67732e54686520
                  717569636b2062726f776e20666f7820'
              )
            }
          }
        ]
      ]
    ]
  }
}
]]></artwork>
            </figure>
          </section>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t><cref anchor="todo">TODO</cref></t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no requests to IANA.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t><cref anchor="todo_1">TODO</cref></t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="3" month="March" 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-07"/>
        </reference>
        <reference anchor="I-D.ffm-rats-cca-token">
          <front>
            <title>Arm's Confidential Compute Architecture Reference Attestation Token</title>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek Inc</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   The Arm Confidential Compute Architecture (CCA) is series of hardware
   and software innovations that enhance Arm’s support for Confidential
   Computing for large, compute-intensive workloads.  Devices that
   implement CCA can produce attestation tokens as described in this
   memo, which are the basis for trustworthiness assessment of the
   Confidential Compute environment.  This document specifies the CCA
   attestation token structure and semantics.

   The CCA attestation token is a profile of the Entity Attestation
   Token (EAT).  This specification describes what claims are used in an
   attestation token generated by CCA 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-ffm-rats-cca-token-01"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="CCA-ARCH" target="https://developer.arm.com/documentation/den0125/0400">
          <front>
            <title>Learn the architecture - Introducing Arm Confidential Compute Architecture</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2025" month="March"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="S." surname="Frost" fullname="Simon Frost">
        <organization>Arm Limited</organization>
        <address>
          <email>Simon.Frost@arm.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Trofimov" fullname="Sergei Trofimov">
        <organization>Arm Limited</organization>
        <address>
          <email>Sergei.Trofimov@arm.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
9PLHIbl6efJS+x+hMsO+k1UAAA==

-->

</rfc>
