<?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.30 (Ruby 3.4.7) -->
<?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-03" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-03"/>
    <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 62?>

<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 68?>

<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 one or more CoMIDs 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>.</t>
            </li>
          </ul>
          <t>The CPAK public key is a SubjectPublicKeyInfo <xref target="RFC5280"/> using the encoding defined in <xref section="13" sectionFormat="of" target="RFC7468"/>.
There MUST be only one key in an <tt>attest-key-triple-record</tt>.</t>
          <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[
=============== NOTE: '\' line wrapping per RFC 8792 ================

/ 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(
            "-----BEGIN PUBLIC KEY-----\\
nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEIShnxS4rlQiwpCCpBWDzlNLfqiG911FP\\
n8akBr+fh94uxHU5m+Kijivp2r2oxxN6MhM4tr8mWQli1P61xh3T0ViDREbF26DGO\\
       nEYfbAjWjGNN7pZf+6A4OTHYqEryz6m7U\n-----END PUBLIC KEY-----\n"
          )
        ]
      ]
    ]
  }
}
]]></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>Independent</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="20" month="October" 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-09"/>
        </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="2" month="September" 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-02"/>
        </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="RFC7468">
          <front>
            <title>Textual Encodings of PKIX, PKCS, and CMS Structures</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="S. Leonard" initials="S." surname="Leonard"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document describes and discusses the textual encodings of the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (PKCS), and Cryptographic Message Syntax (CMS). The textual encodings are well-known, are implemented by several applications and libraries, and are widely deployed. This document articulates the de facto rules by which existing implementations operate and defines them so that future implementations can interoperate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7468"/>
          <seriesInfo name="DOI" value="10.17487/RFC7468"/>
        </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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
5B9ZW0GXFwfk4uXxS+1/AMMa3NhsVgAA

-->

</rfc>
