<?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 xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ffm-rats-cca-token-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="CCA Reference Attestation Token">Arm's Confidential Compute Architecture Reference Attestation Token</title>
    <seriesInfo name="Internet-Draft" value="draft-ffm-rats-cca-token-02"/>
    <author initials="S." surname="Frost" fullname="Simon Frost">
      <organization>Arm Limited</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="G." surname="Mandyam" fullname="Giri Mandyam">
      <organization>Mediatek Inc</organization>
      <address>
        <email>giridhar.mandyam@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="02"/>
    <area/>
    <workgroup/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 112?>

<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.</t>
      <t>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.</t>
      <t>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>
  <middle>
    <?line 130?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Arm Confidential Compute Architecture (CCA) <xref target="CCA-ARCH"/> is a set of hardware <xref target="RME"/>
and firmware <xref target="RMM"/> specifications, backed by a reference implementation <xref target="TF-RMM"/> .</t>
      <t>CCA provides confidential compute environments, called Realms, that can be dynamically
allocated by the Normal world host. The initial state of a Realm, and of the platform
on which it executes, can be attested. Attestation allows the Realm owner to establish
trust in the Realm, before provisioning any secrets to it. The Realm does not have to
inherit the trust from the Non-secure hypervisor which controls it.</t>
      <t>As outlined in the RATS Architecture <xref target="RFC9334"/>, an Attester produces a signed collection
of Claims that constitutes Evidence about its target environment. This document focuses
on the output provided by requests from the Realm to the Realm Management Monitor (RMM) management component for an
attestation token that covers the state of that Realm and the CCA Platform.
This output corresponds to Evidence in <xref target="RFC9334"/> and, as a design decision, the CCA attestation
token is a profile of the Entity Attestation Token (EAT) <xref target="EAT"/>. Note that there are other profiles
of EAT available, such as <xref target="I-D.kdyxy-rats-tdx-eat-profile"/> and <xref target="I-D.mandyam-rats-qwestoken"/>,
for use with different use cases and by different attestation technologies.</t>
      <t>Since the CCA tokens are consumed by services outside the device, there is an actual
need to ensure interoperability. Interoperability needs are addressed here by
describing the exact syntax and semantics of the attestation claims, and
defining the way these claims are encoded and cryptographically protected.</t>
      <t>Further details on concepts expressed below can be found in the Realm Management Monitor
specification 1.0 <xref target="RMM"/>.</t>
      <t>As mentioned in the abstract, this memo documents a vendor extension
to the RATS architecture, and is not a standard.</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 terms Attester, Relying Party, Verifier, Attestation Result, Target Environment, Attesting Environment and Evidence
are defined in <xref target="RFC9334"/>. We use the term "receiver" to refer to Relying Parties
and Verifiers.</t>
      <t>We use the terms Evidence, "CCA attestation token", and "CCA token" interchangeably.
The terms "sender" and Attester are used interchangeably. Likewise, we use the terms
Verifier and "verification service" interchangeably.</t>
      <dl newline="true">
        <dt>RoT:</dt>
        <dd>
          <t>Root of Trust, the minimal set of software, hardware and data that has to be
implicitly trusted in the platform - there is no software or hardware at a
deeper level that can verify that the Root of Trust is authentic and
unmodified.  An example of a RoT suitable
 for CCA would be an isolated
Trusted subsystem responsible for initial measurements, lifecycle state
management, identity and attestation services.  The services that the RoT
provides for securitization of the CCA environment are descibed as Hardware-Enforced Security (HES) -
see Section B4.1.5 of <xref target="RME"/>.</t>
        </dd>
        <dt>Realm-World:</dt>
        <dd>
          <t>Realm World, provides a security state and physical address range that provides
an execution environment for VMs that is isolated from the Normal and Secure worlds.
The controlling firmware running in the Realm world can access memory in the Normal
world to allow shared buffers. (This is similar to Trusted Execution Environment (TEE),
"secure world", or "secure enclave".)</t>
        </dd>
        <dt>Realm:</dt>
        <dd>
          <t>the Realm execution environment, is an Arm CCA environment that can be dynamically
allocated by the Normal world Host.</t>
        </dd>
        <dt>NW-Host:</dt>
        <dd>
          <t>Normal world host, refers to the security domain outside of the restricted Root,
Secure and Realm worlds. This typically contains the host hypervisor and supervisory
services. The NW-Host can allocate and manage resource allocation and can manage the
scheduling for other worlds.</t>
        </dd>
      </dl>
      <t>In this document, the structure of data is specified in Concise Data Definition Language (CDDL) <xref target="RFC8610"/>.</t>
    </section>
    <section anchor="cca-attester-model">
      <name>CCA Attester Model</name>
      <t>There are two kinds of CCA Attester: direct and delegated.
Their architectural arrangements are described in <xref target="direct"/> and <xref target="delegated"/>, respectively.</t>
      <section anchor="direct">
        <name>Direct</name>
        <t>TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/16">Issue #16</eref></t>
      </section>
      <section anchor="delegated">
        <name>Delegated</name>
        <t>The structure of the CCA delegated Attester is illustrated in <xref target="fig-cca-delegated-attester"/>.
The CCA delegated Attester is a "layered attester" (<xref section="3.2" sectionFormat="of" target="RFC9334"/>) with exactly two layers: platform and realm.</t>
        <t>The Realm Management Monitor (RMM) is the top layer Attesting Environment.
It attests to the initial memory content of each Realm that is executed on a CCA platform, and any dynamic measurements provided by Realm guest code.
It uses its own private key called RAK (Realm Attestation Key) to sign the claims regarding the requesting Realm.</t>
        <t>The HES (Hardware Enforced Security) is the bottom layer Attesting Environment, which acts as the CCA platform hardware RoT.
It attests to the executables and configuration contents of the "Monitor Security Domain", which includes the RMM, as well as a few relevant CCA parameters (e.g., the CCA platform implementation identifier), and the security lifecycle state of the platform.
Additionally, it generates the RAK keypair, transfers it over a trusted channel to the RMM, and stores the hash of the RAK public key in a claim that is signed using the CCA Platform Attestation Key (CPAK) as part of the platform Evidence.</t>
        <t>The CCA Evidence produced in delegated mode comprises two separately signed EATs, one for the platform, another for the realm, wrapped in a CMW <xref target="CMW"/> collection.
The intra-collection binding is detailed in <xref target="sec-token-binding"/>.</t>
        <figure anchor="fig-cca-delegated-attester">
          <name>CCA Attester</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="704" width="440" viewBox="0 0 440 704" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,128 L 8,688" fill="none" stroke="black"/>
                <path d="M 24,320 L 24,528" fill="none" stroke="black"/>
                <path d="M 24,608 L 24,656" fill="none" stroke="black"/>
                <path d="M 48,144 L 48,224" fill="none" stroke="black"/>
                <path d="M 48,368 L 48,480" fill="none" stroke="black"/>
                <path d="M 64,224 L 64,344" fill="none" stroke="black"/>
                <path d="M 64,504 L 64,592" fill="none" stroke="black"/>
                <path d="M 88,224 L 88,256" fill="none" stroke="black"/>
                <path d="M 104,256 L 104,344" fill="none" stroke="black"/>
                <path d="M 128,256 L 128,288" fill="none" stroke="black"/>
                <path d="M 144,288 L 144,344" fill="none" stroke="black"/>
                <path d="M 160,144 L 160,224" fill="none" stroke="black"/>
                <path d="M 160,368 L 160,480" fill="none" stroke="black"/>
                <path d="M 176,400 L 176,432" fill="none" stroke="black"/>
                <path d="M 176,464 L 176,496" fill="none" stroke="black"/>
                <path d="M 184,528 L 184,584" fill="none" stroke="black"/>
                <path d="M 200,176 L 200,256" fill="none" stroke="black"/>
                <path d="M 240,208 L 240,288" fill="none" stroke="black"/>
                <path d="M 256,608 L 256,656" fill="none" stroke="black"/>
                <path d="M 264,400 L 264,432" fill="none" stroke="black"/>
                <path d="M 264,464 L 264,496" fill="none" stroke="black"/>
                <path d="M 280,320 L 280,376" fill="none" stroke="black"/>
                <path d="M 280,392 L 280,528" fill="none" stroke="black"/>
                <path d="M 288,32 L 288,96" fill="none" stroke="black"/>
                <path d="M 296,128 L 296,376" fill="none" stroke="black"/>
                <path d="M 296,392 L 296,688" fill="none" stroke="black"/>
                <path d="M 328,104 L 328,368" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,96" fill="none" stroke="black"/>
                <path d="M 288,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 288,96 L 376,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 296,128" fill="none" stroke="black"/>
                <path d="M 48,144 L 160,144" fill="none" stroke="black"/>
                <path d="M 160,176 L 200,176" fill="none" stroke="black"/>
                <path d="M 200,208 L 240,208" fill="none" stroke="black"/>
                <path d="M 48,224 L 160,224" fill="none" stroke="black"/>
                <path d="M 88,256 L 200,256" fill="none" stroke="black"/>
                <path d="M 128,288 L 240,288" fill="none" stroke="black"/>
                <path d="M 24,320 L 56,320" fill="none" stroke="black"/>
                <path d="M 80,320 L 96,320" fill="none" stroke="black"/>
                <path d="M 112,320 L 136,320" fill="none" stroke="black"/>
                <path d="M 152,320 L 280,320" fill="none" stroke="black"/>
                <path d="M 64,352 L 144,352" fill="none" stroke="black"/>
                <path d="M 160,384 L 312,384" fill="none" stroke="black"/>
                <path d="M 176,400 L 264,400" fill="none" stroke="black"/>
                <path d="M 176,432 L 264,432" fill="none" stroke="black"/>
                <path d="M 176,464 L 264,464" fill="none" stroke="black"/>
                <path d="M 64,496 L 144,496" fill="none" stroke="black"/>
                <path d="M 176,496 L 264,496" fill="none" stroke="black"/>
                <path d="M 24,528 L 56,528" fill="none" stroke="black"/>
                <path d="M 72,528 L 280,528" fill="none" stroke="black"/>
                <path d="M 40,592 L 240,592" fill="none" stroke="black"/>
                <path d="M 40,672 L 240,672" fill="none" stroke="black"/>
                <path d="M 8,688 L 296,688" fill="none" stroke="black"/>
                <path d="M 64,352 C 55.16936,352 48,359.16936 48,368" fill="none" stroke="black"/>
                <path d="M 144,352 C 152.83064,352 160,359.16936 160,368" fill="none" stroke="black"/>
                <path d="M 312,384 C 320.83064,384 328,376.83064 328,368" fill="none" stroke="black"/>
                <path d="M 64,496 C 55.16936,496 48,488.83064 48,480" fill="none" stroke="black"/>
                <path d="M 144,496 C 152.83064,496 160,488.83064 160,480" fill="none" stroke="black"/>
                <path d="M 40,592 C 31.16936,592 24,599.16936 24,608" fill="none" stroke="black"/>
                <path d="M 240,592 C 248.83064,592 256,599.16936 256,608" fill="none" stroke="black"/>
                <path d="M 40,672 C 31.16936,672 24,664.83064 24,656" fill="none" stroke="black"/>
                <path d="M 240,672 C 248.83064,672 256,664.83064 256,656" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="336,104 324,98.4 324,109.6" fill="black" transform="rotate(270,328,104)"/>
                <polygon class="arrowhead" points="192,584 180,578.4 180,589.6" fill="black" transform="rotate(90,184,584)"/>
                <polygon class="arrowhead" points="152,344 140,338.4 140,349.6" fill="black" transform="rotate(90,144,344)"/>
                <polygon class="arrowhead" points="112,344 100,338.4 100,349.6" fill="black" transform="rotate(90,104,344)"/>
                <polygon class="arrowhead" points="72,504 60,498.4 60,509.6" fill="black" transform="rotate(270,64,504)"/>
                <polygon class="arrowhead" points="72,344 60,338.4 60,349.6" fill="black" transform="rotate(90,64,344)"/>
                <g class="text">
                  <text x="332" y="68">Verifier</text>
                  <text x="84" y="164">Target</text>
                  <text x="104" y="180">Environment</text>
                  <text x="368" y="180">Layered</text>
                  <text x="180" y="196">TE</text>
                  <text x="372" y="196">Evidence</text>
                  <text x="424" y="196">for</text>
                  <text x="80" y="212">Realm</text>
                  <text x="112" y="212">1</text>
                  <text x="372" y="212">Platform</text>
                  <text x="424" y="212">and</text>
                  <text x="220" y="228">TE</text>
                  <text x="360" y="228">Realm</text>
                  <text x="120" y="244">Realm</text>
                  <text x="152" y="244">2</text>
                  <text x="160" y="276">...</text>
                  <text x="184" y="308">Collect</text>
                  <text x="244" y="308">Claims</text>
                  <text x="204" y="340">Target</text>
                  <text x="224" y="356">Environment</text>
                  <text x="80" y="372">Realm</text>
                  <text x="100" y="388">Management</text>
                  <text x="88" y="404">Monitor</text>
                  <text x="80" y="420">(RMM)</text>
                  <text x="216" y="420">BLs</text>
                  <text x="96" y="468">Attesting</text>
                  <text x="104" y="484">Environment</text>
                  <text x="220" y="484">CFGs</text>
                  <text x="236" y="516">Platform</text>
                  <text x="108" y="548">Evidence</text>
                  <text x="224" y="548">Collect</text>
                  <text x="88" y="564">for</text>
                  <text x="220" y="564">Claims</text>
                  <text x="108" y="580">Platform</text>
                  <text x="68" y="612">Hardware</text>
                  <text x="68" y="628">Enforced</text>
                  <text x="68" y="644">Security</text>
                  <text x="192" y="644">Attesting</text>
                  <text x="56" y="660">(HES)</text>
                  <text x="200" y="660">Environment</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                   .----------.
                                   |          |
                                   | Verifier |
                                   |          |
                                   '----------'
                                        ^
.-----------------------------------.   |
|    .-------------.                |   |
|    | Target      |                |   |
|    | Environment +----.           |   | Layered
|    |             | TE |           |   | Evidence for
|    | Realm 1     |    +----.      |   | Platform and
|    '-+--+--------'    | TE |      |   | Realm
|      |  | Realm 2     |    |      |   |
|      |  '-+--+--------'    |      |   |
|      |    |  |  ...        |      |   |
|      |    |  '-+-----------'      |   |
|      |    |    | Collect Claims   |   |
| .----| ---|----|----------------. |   |
| |    v    v    v    Target      | |   |
| |   .-----------.   Environment | |   |
| |  | Realm       |              | |   |
| |  | Management  +-------------------'
| |  | Monitor     | .----------. | |
| |  | (RMM)       | |   BLs    | | |
| |  |             | '----------' | |
| |  |             |              | |
| |  | Attesting   | .----------. | |
| |  | Environment | |   CFGs   | | |
| |   '-----------'  '----------' | |
| |    ^                 Platform | |
| '----|--------------+-----------' |
|      | Evidence     | Collect     |
|      | for          | Claims      |
|      | Platform     v             |
|  .---+----------------------.     |
| | Hardware                   |    |
| | Enforced                   |    |
| | Security       Attesting   |    |
| | (HES)          Environment |    |
|  '--------------------------'     |
'-----------------------------------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="boot-phase">
        <name>Boot Phase</name>
        <t>The HES Attesting Environment is responsible for collecting the information to be
represented in CCA platform claims and to assemble them into Evidence.</t>
        <t>The Main Bootloader, executing at boot-time, measures the trusted computing base (TCB) of the Realm World - i.e., loaded firmware components and the associated configuration payloads - and sends them to the HES RoT to be stored isolated.  See <xref target="fig-cca-attester-boot"/>.</t>
        <figure anchor="fig-cca-attester-boot">
          <name>CCA Attester Boot Phase</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="352" viewBox="0 0 352 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,80 L 8,192" fill="none" stroke="black"/>
                <path d="M 80,64 L 80,208" fill="none" stroke="black"/>
                <path d="M 192,64 L 192,208" fill="none" stroke="black"/>
                <path d="M 304,64 L 304,208" fill="none" stroke="black"/>
                <path d="M 344,80 L 344,192" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 88,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 296,80" fill="none" stroke="black"/>
                <path d="M 312,80 L 344,80" fill="none" stroke="black"/>
                <path d="M 96,128 L 192,128" fill="none" stroke="black"/>
                <path d="M 192,176 L 296,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 72,192" fill="none" stroke="black"/>
                <path d="M 88,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 200,192 L 296,192" fill="none" stroke="black"/>
                <path d="M 312,192 L 344,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="304,176 292,170.4 292,181.6" fill="black" transform="rotate(0,296,176)"/>
                <circle cx="88" cy="128" r="6" class="opendot" fill="white" stroke="black"/>
                <g class="text">
                  <text x="52" y="36">i-th</text>
                  <text x="100" y="36">Target</text>
                  <text x="172" y="36">Main</text>
                  <text x="212" y="36">Boot</text>
                  <text x="304" y="36">HES</text>
                  <text x="80" y="52">Environment</text>
                  <text x="196" y="52">Loader</text>
                  <text x="304" y="52">RoT</text>
                  <text x="36" y="100">loop</text>
                  <text x="64" y="100">i</text>
                  <text x="120" y="116">measure</text>
                  <text x="224" y="148">write</text>
                  <text x="248" y="164">measurement</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    i-th Target    Main Boot        HES
    Environment      Loader         RoT
         |             |             |
.--------|-------------|-------------|----.
| loop i |             |             |    |
|        | measure     |             |    |
|        |o------------+             |    |
|        |             | write       |    |
|        |             | measurement |    |
|        |             +------------>|    |
'--------|-------------|-------------|----'
         |             |             |
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="run-time-phase">
        <name>Run-time Phase</name>
        <t>The Realm Management Monitor (RMM), executing at run-time, maintains measurements for
the state of a Realm. It can respond to requests issued from a Realm for an attestation
token relevant for that Realm by obtaining a CCA Platform attestation token from the
HES RoT and combining that with an attestation token containing Evidence reflecting
Realm state.</t>
        <t anchor="para-pak-intro">The HES RoT, executing at run-time, maintains measurements for the state of the CCA
platform TCB, including the lifecycle state of the CCA platform. It can answer requests
coming from the RMM to collect and format claims corresponding to that state and use a
CCA Platform Attestation Key (CPAK) to sign them (see <xref target="fig-cca-attester-runtime"/>).
How the CPAK is derived is implementation-specific.</t>
        <figure anchor="fig-cca-attester-runtime">
          <name>CCA Attester Run-time Phase</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="352" viewBox="0 0 352 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 24,144 L 24,176" fill="none" stroke="black"/>
                <path d="M 56,240 L 56,272" fill="none" stroke="black"/>
                <path d="M 88,64 L 88,560" fill="none" stroke="black"/>
                <path d="M 152,352 L 152,384" fill="none" stroke="black"/>
                <path d="M 184,448 L 184,480" fill="none" stroke="black"/>
                <path d="M 216,64 L 216,560" fill="none" stroke="black"/>
                <path d="M 312,64 L 312,560" fill="none" stroke="black"/>
                <path d="M 96,160 L 216,160" fill="none" stroke="black"/>
                <path d="M 56,240 L 88,240" fill="none" stroke="black"/>
                <path d="M 56,272 L 80,272" fill="none" stroke="black"/>
                <path d="M 88,288 L 208,288" fill="none" stroke="black"/>
                <path d="M 184,448 L 216,448" fill="none" stroke="black"/>
                <path d="M 184,480 L 208,480" fill="none" stroke="black"/>
                <path d="M 216,544 L 304,544" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="312,544 300,538.4 300,549.6" fill="black" transform="rotate(0,304,544)"/>
                <polygon class="arrowhead" points="216,480 204,474.4 204,485.6" fill="black" transform="rotate(0,208,480)"/>
                <polygon class="arrowhead" points="216,288 204,282.4 204,293.6" fill="black" transform="rotate(0,208,288)"/>
                <polygon class="arrowhead" points="160,384 148,378.4 148,389.6" fill="black" transform="rotate(90,152,384)"/>
                <polygon class="arrowhead" points="104,160 92,154.4 92,165.6" fill="black" transform="rotate(180,96,160)"/>
                <polygon class="arrowhead" points="88,272 76,266.4 76,277.6" fill="black" transform="rotate(0,80,272)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(90,24,176)"/>
                <g class="text">
                  <text x="88" y="36">HES</text>
                  <text x="208" y="36">Realm</text>
                  <text x="88" y="52">RoT</text>
                  <text x="216" y="52">Manager</text>
                  <text x="316" y="52">Verifier</text>
                  <text x="36" y="100">Platform</text>
                  <text x="20" y="116">Boot</text>
                  <text x="24" y="132">State</text>
                  <text x="116" y="132">Req.</text>
                  <text x="172" y="132">Platform</text>
                  <text x="120" y="148">Token</text>
                  <text x="172" y="148">(#RAK)</text>
                  <text x="36" y="196">Platform</text>
                  <text x="24" y="212">Token</text>
                  <text x="28" y="244">sign</text>
                  <text x="20" y="260">w/</text>
                  <text x="28" y="276">CPAK</text>
                  <text x="132" y="276">Plat</text>
                  <text x="176" y="276">Token</text>
                  <text x="152" y="324">Realm</text>
                  <text x="152" y="340">State</text>
                  <text x="152" y="404">Realm</text>
                  <text x="152" y="420">Token</text>
                  <text x="156" y="452">sign</text>
                  <text x="148" y="468">w/</text>
                  <text x="152" y="484">RAK</text>
                  <text x="240" y="532">CCA</text>
                  <text x="280" y="532">Token</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
           HES           Realm
           RoT           Manager     Verifier
            |               |           |
            |               |           |
  Platform  |               |           |
  Boot      |               |           |
  State     | Req. Platform |           |
    |       | Token (#RAK)  |           |
    |       |<--------------+           |
    v       |               |           |
  Platform  |               |           |
  Token     |               |           |
            |               |           |
   sign .---+               |           |
   w/   |   |               |           |
   CPAK '-->|   Plat Token  |           |
            +-------------->|           |
            |               |           |
            |     Realm     |           |
            |     State     |           |
            |       |       |           |
            |       |       |           |
            |       v       |           |
            |     Realm     |           |
            |     Token     |           |
            |               |           |
            |      sign .---+           |
            |      w/   |   |           |
            |      RAK  '-->|           |
            |               |           |
            |               |           |
            |               | CCA Token |
            |               +---------->|
            |               |           |
]]></artwork>
          </artset>
        </figure>
        <t>A reference implementation of the CCA Attester is provided by <xref target="TF-RMM"/>.</t>
      </section>
    </section>
    <section anchor="sec-cca-claims">
      <name>CCA Claims</name>
      <t>This section describes the claims to be used in a CCA reference attestation token.</t>
      <t>There are two logical sections within the CCA attestation token, relating to the two
Target Environment elements:</t>
      <ul spacing="normal">
        <li>
          <t>The CCA Platform token</t>
        </li>
        <li>
          <t>The Realm state token</t>
        </li>
      </ul>
      <t>The two sections use inter-related claims to bind together into a single logical unit.
See <xref target="sec-security-consideration"/> for more details.</t>
      <t>The above tokens are presented to the requester within a top level Conceptual Message Wrapper (CMW) collection <xref target="CMW"/>.</t>
      <t>CDDL <xref target="RFC8610"/> along with text descriptions is used to define each claim
independent of encoding.  The following CDDL type(s) are reused by different
claims:</t>
      <artwork><![CDATA[
arm-platform-hash-type = bytes .size 32 /
                         bytes .size 48 /
                         bytes .size 64
]]></artwork>
      <t>Two conventions are used to encode the Right-Hand-Side (RHS) of a claim: the postfix <tt>-label</tt> is used for EAT-defined claims, and the postfix <tt>-key</tt> for PSA-originated claims.</t>
      <section anchor="sec-cca-token-collection">
        <name>CCA Attestation Token top level wrapper</name>
        <t>The above tokens are presented to the requester within a top level CMW collection <xref target="CMW"/>.
The collection map has two entries, one for a bstr encoding of the CCA Platform token and
the other for a bstr encoding of the Realm state token/</t>
        <artwork><![CDATA[
; CMW (draft-ietf-rats-msg-wrap) Collection
cca-token = #6.907(cca-token-cmw)

; CoAP Content-Format for "application/eat+cwt"
eat-cwt-coap-cf = 263

cca-token-cmw = {
  0xACCA => [
    eat-cwt-coap-cf
    bytes .cbor COSE_Sign1<arm-platform-claims>
  ]
  0xACD1 => [
    eat-cwt-coap-cf
    bytes .cbor COSE_Sign1<cca-realm-claims>
  ]
}
]]></artwork>
      </section>
      <section anchor="cca-platform-token-claims">
        <name>CCA Platform token Claims</name>
      </section>
      <section anchor="caller-claims">
        <name>Caller Claims</name>
        <section anchor="sec-platform-nonce-claim">
          <name>CCA Platform Nonce</name>
          <t>The Nonce claim is used to carry a challenge provided by the caller to demonstrate freshness of the generated token.</t>
          <t>The EAT <xref target="EAT"/> <tt>nonce</tt> (claim key 10) is used.  Since the EAT nonce claim offers flexiblity for different
attestation technologies, this specifications applies the following constraints
 to the <tt>nonce-type</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>The length MUST be either 32, 48, or 64 bytes.</t>
            </li>
            <li>
              <t>Only a single nonce value is conveyed. The array notation MUST NOT be used for encoding the nonce value.</t>
            </li>
          </ul>
          <t>Where the CCA Platform implementation uses the Delegated Token signing model <xref target="sec-token-binding"/>, the
value of the Nonce claim will be a hash of the Realm Public Key claim of the CCA Realm State token
<xref target="sec-realm-public-key-claim"/>.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-challenge-label = 10

arm-platform-challenge = (
    arm-platform-challenge-label => arm-platform-hash-type
)

]]></artwork>
        </section>
      </section>
      <section anchor="target-identification-claims">
        <name>Target Identification Claims</name>
        <section anchor="sec-instance-id-claim">
          <name>CCA Platform Instance ID</name>
          <t>The Instance ID claim represents the unique identifier of the Platform
Attestation Key (PAK).
The EAT <tt>ueid</tt> (claim key 256) of type RAND is used.  The following constraints
apply to the <tt>ueid-type</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>The length MUST be 33 bytes.</t>
            </li>
            <li>
              <t>The first byte MUST be 0x01 (RAND) followed by the 32-byte unique identifier of the PAK.</t>
            </li>
          </ul>
          <sourcecode type="cbor-diag"><![CDATA[
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>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-instance-id-label = 256 ; EAT ueid

arm-platform-instance-id-type = eat-ueid-rand-type

arm-platform-instance-id = (
    arm-platform-instance-id-label => arm-platform-instance-id-type
)

]]></artwork>
        </section>
        <section anchor="sec-implementation-id">
          <name>CCA Platform Implementation ID</name>
          <t>The Implementation ID claim uniquely identifies the implementation of the
CCA Platform. A verification service uses this claim to locate the
details of the CCA Platform implementation from an Endorser or manufacturer.
Such details are used by a verification service to determine the security properties
or certification status of the CCA Platform implementation.</t>
          <t>The value and format of the ID is decided by
the manufacturer or a particular certification scheme. For example, the ID
could take the form of a product serial number,
database ID, or other appropriate identifier.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <t>Note that this identifies the CCA Platform implementation, not a particular instance.
To uniquely identify an instance, see the Instance ID claim <xref target="sec-instance-id-claim"/>.</t>
          <artwork><![CDATA[
arm-platform-implementation-id-label = 2396 ; PSA implementation ID
arm-platform-implementation-id-type = bytes .size 32

arm-platform-implementation-id = (
    arm-platform-implementation-id-label =>
        arm-platform-implementation-id-type
)

]]></artwork>
        </section>
      </section>
      <section anchor="target-state-claims">
        <name>Target State Claims</name>
        <section anchor="sec-plat-profile-definition-claim">
          <name>CCA Platform Profile Definition</name>
          <t>The CCA platform profile claim identifies the EAT profile to which the CCA platform token
conforms. This allows a receiver to assign the intended semantics to the rest of the claims
found in the token.</t>
          <t>The EAT <tt>eat_profile</tt> (claim key 265) is used.</t>
          <t>The format of the CCA platform profile claim is defined as a text string of value
"tag:arm.com,2023:cca_platform#1.0.0".</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <t>See <xref target="sec-backwards-compat"/>, for considerations about backwards compatibility
with previous versions of the CCA Platform attestation token format.</t>
          <artwork><![CDATA[
arm-platform-profile-label = 265 ; EAT profile

arm-platform-profile-type = "tag:arm.com,2023:cca_platform#1.0.0"

arm-platform-profile = (
    arm-platform-profile-label => arm-platform-profile-type
)
]]></artwork>
        </section>
        <section anchor="sec-security-lifecycle">
          <name>Security Lifecycle</name>
          <t>The Security Lifecycle claim represents the current lifecycle state of the CCA
Platform.</t>
          <t>The state is represented by an integer that is divided as follows:</t>
          <ul spacing="normal">
            <li>
              <t>major[15:8] - CCA Platform security lifecycle state, and</t>
            </li>
            <li>
              <t>minor[7:0] - IMPLEMENTATION DEFINED state.</t>
            </li>
          </ul>
          <t>The CCA Platform lifecycle states are illustrated in <xref target="fig-lifecycle-states"/>.
A non debugged CCA platform will be in psa-lifecycle-secured state.
Realm Management Security Domain debug is always recoverable, and would
therefore be represented by psa-lifecycle-non-psa-rot-debug state. Root
world debug is recoverable on a HES system and would be represented by
psa-lifecycle-recoverable-psa-rot state. On a non-HES system Root world
debug is usually non-recoverable, and would be represented by
psa-lifecycle-lifecycle-decommissioned state</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <figure anchor="fig-lifecycle-states">
            <name>CCA Platform Lifecycle States</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="608" width="512" viewBox="0 0 512 608" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 48,256 L 48,272" fill="none" stroke="black"/>
                  <path d="M 48,336 L 48,464" fill="none" stroke="black"/>
                  <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                  <path d="M 128,32 L 128,64" fill="none" stroke="black"/>
                  <path d="M 152,448 L 152,480" fill="none" stroke="black"/>
                  <path d="M 152,544 L 152,576" fill="none" stroke="black"/>
                  <path d="M 168,240 L 168,272" fill="none" stroke="black"/>
                  <path d="M 168,368 L 168,416" fill="none" stroke="black"/>
                  <path d="M 184,272 L 184,288" fill="none" stroke="black"/>
                  <path d="M 184,336 L 184,360" fill="none" stroke="black"/>
                  <path d="M 216,160 L 216,232" fill="none" stroke="black"/>
                  <path d="M 216,488 L 216,536" fill="none" stroke="black"/>
                  <path d="M 232,64 L 232,120" fill="none" stroke="black"/>
                  <path d="M 240,192 L 240,232" fill="none" stroke="black"/>
                  <path d="M 272,280 L 272,368" fill="none" stroke="black"/>
                  <path d="M 280,448 L 280,480" fill="none" stroke="black"/>
                  <path d="M 288,544 L 288,576" fill="none" stroke="black"/>
                  <path d="M 296,368 L 296,416" fill="none" stroke="black"/>
                  <path d="M 304,240 L 304,272" fill="none" stroke="black"/>
                  <path d="M 344,32 L 344,64" fill="none" stroke="black"/>
                  <path d="M 352,128 L 352,160" fill="none" stroke="black"/>
                  <path d="M 352,368 L 352,416" fill="none" stroke="black"/>
                  <path d="M 376,256 L 376,272" fill="none" stroke="black"/>
                  <path d="M 376,320 L 376,360" fill="none" stroke="black"/>
                  <path d="M 376,416 L 376,464" fill="none" stroke="black"/>
                  <path d="M 416,192 L 416,368" fill="none" stroke="black"/>
                  <path d="M 432,368 L 432,416" fill="none" stroke="black"/>
                  <path d="M 128,32 L 344,32" fill="none" stroke="black"/>
                  <path d="M 128,64 L 344,64" fill="none" stroke="black"/>
                  <path d="M 120,128 L 352,128" fill="none" stroke="black"/>
                  <path d="M 120,160 L 352,160" fill="none" stroke="black"/>
                  <path d="M 240,192 L 416,192" fill="none" stroke="black"/>
                  <path d="M 168,240 L 304,240" fill="none" stroke="black"/>
                  <path d="M 48,256 L 168,256" fill="none" stroke="black"/>
                  <path d="M 304,256 L 376,256" fill="none" stroke="black"/>
                  <path d="M 168,272 L 304,272" fill="none" stroke="black"/>
                  <path d="M 168,368 L 248,368" fill="none" stroke="black"/>
                  <path d="M 264,368 L 296,368" fill="none" stroke="black"/>
                  <path d="M 352,368 L 432,368" fill="none" stroke="black"/>
                  <path d="M 168,416 L 296,416" fill="none" stroke="black"/>
                  <path d="M 352,416 L 432,416" fill="none" stroke="black"/>
                  <path d="M 152,448 L 280,448" fill="none" stroke="black"/>
                  <path d="M 48,464 L 144,464" fill="none" stroke="black"/>
                  <path d="M 288,464 L 376,464" fill="none" stroke="black"/>
                  <path d="M 152,480 L 280,480" fill="none" stroke="black"/>
                  <path d="M 152,544 L 288,544" fill="none" stroke="black"/>
                  <path d="M 152,576 L 288,576" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="384,360 372,354.4 372,365.6" fill="black" transform="rotate(90,376,360)"/>
                  <polygon class="arrowhead" points="296,464 284,458.4 284,469.6" fill="black" transform="rotate(180,288,464)"/>
                  <polygon class="arrowhead" points="280,280 268,274.4 268,285.6" fill="black" transform="rotate(270,272,280)"/>
                  <polygon class="arrowhead" points="248,232 236,226.4 236,237.6" fill="black" transform="rotate(90,240,232)"/>
                  <polygon class="arrowhead" points="240,120 228,114.4 228,125.6" fill="black" transform="rotate(90,232,120)"/>
                  <polygon class="arrowhead" points="224,536 212,530.4 212,541.6" fill="black" transform="rotate(90,216,536)"/>
                  <polygon class="arrowhead" points="224,232 212,226.4 212,237.6" fill="black" transform="rotate(90,216,232)"/>
                  <polygon class="arrowhead" points="192,360 180,354.4 180,365.6" fill="black" transform="rotate(90,184,360)"/>
                  <polygon class="arrowhead" points="152,464 140,458.4 140,469.6" fill="black" transform="rotate(0,144,464)"/>
                  <g class="text">
                    <text x="164" y="52">Device</text>
                    <text x="228" y="52">Assembly</text>
                    <text x="280" y="52">and</text>
                    <text x="316" y="52">Test</text>
                    <text x="268" y="84">Device</text>
                    <text x="276" y="100">Lockdown</text>
                    <text x="144" y="148">CCA</text>
                    <text x="196" y="148">Security</text>
                    <text x="284" y="148">Provisioning</text>
                    <text x="156" y="196">Provisioning</text>
                    <text x="156" y="212">Lockdown</text>
                    <text x="464" y="244">Recoverable</text>
                    <text x="232" y="260">Secured</text>
                    <text x="48" y="292">Non</text>
                    <text x="360" y="292">Recoverable</text>
                    <text x="48" y="308">Recoverable</text>
                    <text x="156" y="308">RM</text>
                    <text x="192" y="308">Debug</text>
                    <text x="332" y="308">Root</text>
                    <text x="376" y="308">Debug</text>
                    <text x="20" y="324">Root</text>
                    <text x="64" y="324">Debug</text>
                    <text x="188" y="324">Enable</text>
                    <text x="200" y="388">Realm</text>
                    <text x="256" y="388">Manager</text>
                    <text x="388" y="388">Root</text>
                    <text x="224" y="404">Debug</text>
                    <text x="384" y="404">Debug</text>
                    <text x="216" y="468">Terminate</text>
                    <text x="220" y="564">Decommissioned</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                 .--------------------------.
                 | Device Assembly and Test |
                 '------------+-------------'
                              | Device
                              | Lockdown
                              v
                .----------------------------.
                | CCA Security Provisioning  |
                '-----------+----------------'
                            |
               Provisioning |  .---------------------.
                 Lockdown   |  |                     |
                            v  v                     |
                      .----------------.             |Recoverable
       .--------------+    Secured     +--------.    |
       |              '-+--------------'        |    |
      Non               |          ^     Recoverable |
  Recoverable       RM Debug       |     Root Debug  |
  Root Debug          Enable       |            |    |
       |                |          |            |    |
       |                v          |            v    |
       |              .---------- -+--.      .-------+-.
       |              | Realm Manager |      |  Root   |
       |              |    Debug      |      | Debug   |
       |              '---------------'      '--+------'
       |                                        |
       |            .---------------.           |
       '----------->+   Terminate   +<----------'
                    '---------------'
                            |
                            |
                            v
                    .----------------.
                    | Decommissioned |
                    '----------------'
]]></artwork>
            </artset>
          </figure>
          <t>The CDDL representation is shown below.
<xref target="tab-states-map"/> provides the mappings between <xref target="fig-lifecycle-states"/> and the data model.</t>
          <artwork><![CDATA[
arm-platform-lifecycle-label = 2395 ; PSA lifecycle

arm-platform-lifecycle-unknown-type = 0x0000..0x00ff
arm-platform-lifecycle-assembly-and-test-type = 0x1000..0x10ff
arm-platform-lifecycle-arm-platform-rot-provisioning-type = 0x2000..0x20ff
arm-platform-lifecycle-secured-type = 0x3000..0x30ff
arm-platform-lifecycle-non-arm-platform-rot-debug-type = 0x4000..0x40ff
arm-platform-lifecycle-recoverable-arm-platform-rot-debug-type = 0x5000..0x50ff
arm-platform-lifecycle-decommissioned-type = 0x6000..0x60ff

arm-platform-lifecycle-type =
    arm-platform-lifecycle-unknown-type /
    arm-platform-lifecycle-assembly-and-test-type /
    arm-platform-lifecycle-arm-platform-rot-provisioning-type /
    arm-platform-lifecycle-secured-type /
    arm-platform-lifecycle-non-arm-platform-rot-debug-type /
    arm-platform-lifecycle-recoverable-arm-platform-rot-debug-type /
    arm-platform-lifecycle-decommissioned-type

arm-platform-lifecycle = (
    arm-platform-lifecycle-label => arm-platform-lifecycle-type
)

]]></artwork>
          <t><tt>psa-lifecycle-unknown-type</tt> is not shown in <xref target="fig-lifecycle-states"/>; it represents an invalid state that must not occur in a system.</t>
          <table anchor="tab-states-map">
            <name>Lifecycle States Mappings</name>
            <thead>
              <tr>
                <th align="left">CDDL</th>
                <th align="left">Lifecycle States</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-unknown-type</tt></td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-assembly-and-test-type</tt></td>
                <td align="left">Assembly and Test</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-psa-rot-provisioning-type</tt></td>
                <td align="left">CCA Platform Provisioning</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-secured-type</tt></td>
                <td align="left">Secured</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-non-psa-rot-debug-type</tt></td>
                <td align="left">Non-Recoverable CCA Platform Debug</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-recoverable-psa-rot-debug-type</tt></td>
                <td align="left">Recoverable CCA Platform Debug</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>psa-lifecycle-decommissioned-type</tt></td>
                <td align="left">Decommissioned</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sec-platform-config">
          <name>Platform Config</name>
          <t>The CCA platform config claim describes the set of chosen implementation options
of the CCA platform. As an example, these may include a description of the level
of physical memory protection which is provided.</t>
          <t>The CCA platform config claim is expected to contain the System Properties field
which is present in the Root Non-volatile Storage (RNVS) public parameters.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-config-label = 2401 ; PSA platform range
                                 ; TBD: add to IANA registration
arm-platform-config-type = bytes

arm-platform-config = (
    arm-platform-config-label => arm-platform-config-type
)

]]></artwork>
        </section>
      </section>
      <section anchor="software-inventory-claims">
        <name>Software Inventory Claims</name>
        <section anchor="sec-sw-components">
          <name>Software Components</name>
          <t>The Software Components claim is a list of software components which can affect
the behavior of the CCA platform.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <t>Each entry in the Software Components list describes one software component
using the attributes described in the following subsections.  Unless explicitly
stated, the presence of an attribute is OPTIONAL.</t>
          <t>Note that, as described in <xref target="RFC9334"/>, a relying party will typically see the
result of the appraisal process from the Verifier in form of an Attestation
Result, rather than the CCA Platform token from the attesting endpoint.
Therefore, a relying party is not expected to understand the Software
Components claim.  Instead, it is for the Verifier to check this claim against
the available Reference Values and provide an answer in form of an "high level"
Attestation Result, which may or may not include the original Software
Components claim.</t>
          <artwork><![CDATA[
arm-platform-sw-components-label = 2399 ; PSA software components

arm-platform-sw-component = {
  ? 1 => text,                   ; component type
    2 => arm-platform-hash-type, ; measurement value
  ? 4 => text,                   ; version
    5 => arm-platform-hash-type, ; signer id
  ? 6 => text,                   ; hash algorithm identifier
}

arm-platform-sw-components = (
    arm-platform-sw-components-label => [ + arm-platform-sw-component ]
)

]]></artwork>
          <section anchor="component-type">
            <name>Component Type</name>
            <t>The Component Type attribute (key=1) is a short string representing the role of
this software component. This attribute is intended for use as a hint to help
the verifier understand how to evaluate the CCA platform software component
measurement value.</t>
            <t>This attribute is optional in a CCA Platform software component.</t>
          </section>
          <section anchor="measurement-value">
            <name>Measurement Value</name>
            <t>The Measurement Value attribute (key=2) represents a hash of the invariant
software component in memory at the time it was initialized.
The value MUST be a cryptographic hash of 256 bits or stronger.</t>
            <t>This attribute MUST be present in a PSA software component.</t>
          </section>
          <section anchor="version">
            <name>Version</name>
            <t>The Version attribute (key=4) is the issued software version in the form of a
text string. The meaning of this string is defined by the software component
vendor.</t>
            <t>This attribute is optional in a CCA Platform software component.</t>
          </section>
          <section anchor="signer-id">
            <name>Signer ID</name>
            <t>The Signer ID attribute (key=5) uniquely identifies the signer of the software component.
The identification is typically accomplished by hashing the signer's public key.
The value of this attribute will correspond to the
entry in the original manifest for the component. This can be used by a
Verifier to ensure the components were signed by an expected trusted source.</t>
            <t>This attribute MUST be present in a CCA Platform software component.</t>
          </section>
          <section anchor="measurement-description">
            <name>Measurement Description</name>
            <t>The Measurement Description attribute (key=6) contains a string identifying the
hash algorithm used to compute the corresponding Measurement Value.  The string
SHOULD be encoded according to "Hash Name String" in the "Named Information Hash Algorithm Registry" <xref target="IANA.named-information"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="verification-claims">
        <name>Verification Claims</name>
        <t>The following claims are part of the CCA Platform token (and therefore still Evidence)
but aim to help receivers, including relying parties, with the
processing of the received attestation Evidence.</t>
        <section anchor="sec-verification-service-indicator">
          <name>Verification Service Indicator</name>
          <t>The Verification Service Indicator claim is a hint used by a relying party to
locate a verification service for the token. The value is a text string that
can be used to locate the service (typically, a URL specifying the address of
the verification service API). A Relying Party may choose to ignore this claim
in favor of other information.</t>
          <artwork><![CDATA[
; PSA verification service
arm-platform-verification-service-label = 2400
arm-platform-verification-service-type = text

arm-platform-verification-service = (
    arm-platform-verification-service-label =>
        arm-platform-verification-service-type
)

]]></artwork>
          <t>It is assumed that the relying party is pre-configured with a list of trusted
verification services and that the contents of this hint can be used to look
up the correct one. Under no circumstances must the relying party be tricked
into contacting an unknown and untrusted verification service since the
returned Attestation Result cannot be relied on.</t>
          <t>Note: This hint requires the relying party to parse the content of the
CCA Platform token. Since the relying party may not be in possession of a trust
anchor to verify the digital signature, it uses the hint in the same way
as it would treat any other information provided by an external party,
which includes attacker-provided data.</t>
          <t>The CCA platform verification service indicator claim is OPTIONAL in a CCA platform token.</t>
        </section>
        <section anchor="sec-arm-platform-hash-algm-id">
          <name>CCA Platform Hash Algorithm ID</name>
          <t>The CCA platform hash algorithm ID claim is a text string that identifies
the algorithm used to calculate the extended measurements in the CCA platform token.</t>
          <t>The string SHOULD be encoded according to "Hash Name String" in the "Named
Information Hash Algorithm Registry" <xref target="IANA.named-information"/>.</t>
          <t>The CCA platform hash algorithm ID claim MUST be present in a CCA platform token.</t>
          <artwork><![CDATA[
arm-platform-hash-algo-id-label = 2402 ; PSA platform range
                                       ; TBD: add to IANA registration

arm-platform-hash-algo-id = (
    arm-platform-hash-algo-id-label => text
)

]]></artwork>
        </section>
      </section>
      <section anchor="cca-realm-state-token-claims">
        <name>CCA Realm state token Claims</name>
        <t>The CCA Realm state token contains claims that represent the Target Environment
that is the Realm that requested the attestation report.</t>
        <section anchor="sec-realm-nonce-claim">
          <name>Realm Nonce</name>
          <t>The Nonce claim is used to carry a challenge provided by the caller to demonstrate freshness of the generated token.</t>
          <t>The EAT <xref target="EAT"/> <tt>nonce</tt> (claim key 10) is used.  Since the EAT nonce claim offers flexiblity for different
attestation technologies, this specification applies the following constraints
 to the <tt>nonce-type</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>The length MUST be 64 bytes.</t>
            </li>
            <li>
              <t>Only a single nonce value is conveyed. The array notation MUST NOT be used for encoding the nonce value.</t>
            </li>
          </ul>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-challenge-label = 10
cca-realm-challenge-type = bytes .size 64

cca-realm-challenge = (
    cca-realm-challenge-label => cca-realm-challenge-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-profile-definition-claim">
          <name>CCA Platform Profile Definition</name>
          <t>The Realm profile claim identifies the EAT profile to which the Realm token
conforms. This allows a receiver to assign the intended semantics to the rest of the claims
found in the token.</t>
          <t>The EAT <tt>eat_profile</tt> (claim key 265) is used.</t>
          <t>The format of the CCA platform profile claim is defined as a text string of value
"tag:arm.com,2023:realm#1.0.0".</t>
          <t>This claim is OPTIONAL in a CCA Realm attestation token.
If the Realm profile is not included in a CCA Realm token then the profile value
used in the CCA Platform token should refer to a profile that describes both
Platform and Realm claims.</t>
          <artwork><![CDATA[
cca-realm-profile-label = 265 ; EAT profile

cca-realm-profile-type = "tag:arm.com,2023:realm#1.0.0"

cca-realm-profile = (
    cca-realm-profile-label => cca-realm-profile-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-personalisation-value-claim">
          <name>Realm Personalisation Value</name>
          <t>The Realm Personalization Value (RPV) claim contains the RPV which was provided
at Realm creation.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-personalization-value-label = 44235
cca-realm-personalization-value-type = bytes .size 64

cca-realm-personalization-value = (
    cca-realm-personalization-value-label =>
        cca-realm-personalization-value-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-initial-measurement-claim">
          <name>Realm Initial Measurement</name>
          <t>The Realm Initial Measurement claim contains the compound extension of
measurements taken of Realm memory and state before the Realm is activated.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-initial-measurement-label = 44238

cca-realm-initial-measurement = (
    cca-realm-initial-measurement-label => cca-realm-measurement-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-extensible-measurements-claim">
          <name>Realm Extensible Measurements</name>
          <t>The Realm Extensible Measurements claim contains measurements provided by Realm
guest software and extended to the set of Realm Extensible Measurements
maintained by the RMM.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-extensible-measurements-label = 44239

cca-realm-extensible-measurements = (
    cca-realm-extensible-measurements-label =>
        [ 4*4 cca-realm-measurement-type ]
)
]]></artwork>
        </section>
        <section anchor="sec-realm-hash-algm-id-claim">
          <name>Realm Hash Algorithm Measurements</name>
          <t>The Realm hash algorithm ID claim identifies the algorithm used to calculate
all hash values which are present in the Realm token.</t>
          <t>The string value of the claim SHOULD be encoded according to "Hash Name String"
in the "Named Information Hash Algorithm Registry" <xref target="IANA.named-information"/>.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-hash-algo-id-label = 44236

cca-realm-hash-algo-id = (
    cca-realm-hash-algo-id-label => text
)
]]></artwork>
        </section>
        <section anchor="sec-realm-public-key-claim">
          <name>Realm Public Key</name>
          <t>The Realm public key claim identifies the attestation key which is used to sign the Realm token</t>
          <t>The value of the Realm public key claim is a byte string representation of a COSE_Key.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-public-key-label = 44237

; See RFC8152 for definition of COSE_Key
cca-realm-public-key-type = bstr .cbor COSE_Key

cca-realm-public-key = (
    cca-realm-public-key-label => cca-realm-public-key-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-public-key-hash-algo-id-claim">
          <name>Realm Public Key Hash Algorithm ID</name>
          <t>The Realm public key hash algorithm identifier claim identifies the algorithm used to
hash the value of the Realm Public Key claim <xref target="sec-realm-public-key-claim"/>
such that it can be presented as a Challenge for the bound CCA Platform token
<xref target="sec-token-binding"/>.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-public-key-hash-algo-id-label = 44240

cca-realm-public-key-hash-algo-id = (
    cca-realm-public-key-hash-algo-id-label => text
)
]]></artwork>
        </section>
      </section>
      <section anchor="sec-backwards-compat">
        <name>Backwards Compatibility Considerations</name>
        <t>This profile conforms to the claims in the Beta2 release of the 1.0 release of the
Realm Management Monitor specification. <xref target="RMM"/>. There has not been a prior
release of this specification to the 1.0 release. Hence this section is a
place holder for claim changes introduced in future releases.</t>
      </section>
      <section anchor="sec-token-binding">
        <name>Token Binding</name>
        <t>The reference implementation uses a 'Delegated Model' for token signing.
In this model, the completion of signing operations for the CCA token is
delegated from the CCA Platform RoT to the RMM. When the RMM initialises,
it obtains a 'Realm Attestation Token' (RAK) signing key pair from the CCA
Platform RoT. The public part of that key pair is hashed and used as a
challenge to obtain a CCA Platform token (signed by the CCA Platform RoT).
When guest code in a Realm requests a CCA Attestation token, the RMM
prepares a Realm state token, signed by the RAK private key, then wraps
both tokens in a CMW Collection. The two tokens are bound together by
the Nonce claim in the CCA Platform token having the same value as a
hash of the Realm Public key claim in the Realm state token (using the
hash algorithm identified by the Realm Public Key Hash Algorithm ID claim).</t>
        <t>A verifier MUST check this binding is valid when verifying a CCA
Attestation token.</t>
        <t>An implementation may choose instead a 'Direct Model'. In this model,
when guest code in a Realm requests a CCA Attestation token, the RMM
prepares a Realm state claim set, but does not wrap it in a CMW.
Instead, the claim set is hashed and this value is used as a Challenge
to obtain a CCA Platform token, signed by the CCA Platform RoT. The
CCA Platform and Realm state claim set are presented within a CMW Collection
as in the Delegated model. The two parts of the collection are bound
together by the Nonce claim in the CCA Platform token having the same value
as the hash of the Realm state claim set. If the Direct Model is used,
the CCA Platform profile claim <xref target="sec-plat-profile-definition-claim"/> MUST
have a different value from the reference profile. The map value within
the CCA Attestation token CMW Collection for the Realm state claim set
MUST also have a different value to that used for a Realm state CMW
token. In such a profile, the Realm Public Key <xref target="sec-realm-public-key-claim"/>
and Realm Public Key Hash Algorithm ID <xref target="sec-realm-public-key-hash-algo-id-claim"/> claims
will not be used.</t>
      </section>
      <section anchor="sec-reference-profile">
        <name>Reference Profile</name>
        <section anchor="sec-token-encoding-and-signing">
          <name>Token Encoding and Signing</name>
          <t>The CCA attestation token is encoded in CBOR <xref target="STD94"/> format.
The CBOR representation of a CCA attestation token MUST be "valid" according to the definition in <xref section="1.2" sectionFormat="of" target="STD94"/>.
Besides, only definite-length string, arrays, and maps are allowed.</t>
          <t>Given that a PSA Attester is typically found in a constrained device, it MAY
NOT emit CBOR preferred serializations (<xref section="4.1" sectionFormat="of" target="STD94"/>).
Therefore, the Verifier MUST be a variation-tolerant CBOR decoder.
TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/31">Issue #31</eref> need different narrative from IoT reasons</t>
          <t>Cryptographic protection is obtained by wrapping the CCA Platform and Realm state claims-set in a COSE
Web Token (CWT) <xref target="RFC8392"/>.  The signature structure MUST be a tagged (18) COSE_Sign1 <xref target="STD96"/>.</t>
          <t>Acknowledging the variety of markets, regulations and use cases in which the
CCA attestation token can be used, the baseline profile does not impose any
strong requirement on the cryptographic algorithms that need to be supported by
Attesters and Verifiers.  The flexibility provided by the COSE format should be
sufficient to deal with the level of cryptographic agility needed to adapt to
specific use cases.  It is RECOMMENDED that commonly adopted algorithms are
used, such as those discussed in <xref target="COSE-ALGS"/>.  It is expected that receivers
will accept a wider range of algorithms, while Attesters would produce CCA tokens
using only one such algorithm.</t>
          <t>The CCA Platform token is always directly signed by the CCA Platform RoT.  Therefore, the CCA
claims-set is never carried in a Detached EAT bundle
(<xref section="5" sectionFormat="of" target="EAT"/>).</t>
        </section>
        <section anchor="freshness-model">
          <name>Freshness Model</name>
          <t>The CCA token supports the freshness models for attestation Evidence based on
nonces and epoch handles (Section <xref target="RFC9334" section="10.2" sectionFormat="bare"/> and Section <xref target="RFC9334" section="10.3" sectionFormat="bare"/> of <xref target="RFC9334"/>) using
the <tt>nonce</tt> claim to convey the nonce or epoch handle supplied by the Verifier.
No further assumption on the specific remote attestation protocol is made.</t>
          <t>Note that use of epoch handles is constrained by the type restrictions imposed by the <tt>eat_nonce</tt> syntax.
For use in CCA tokens, it must be possible to encode the epoch handle as an opaque binary string between 8 and 64 octets.</t>
        </section>
        <section anchor="synopsis">
          <name>Synopsis</name>
          <t><xref target="tbl-baseline-profile"/> presents a concise view of the requirements described in the preceding sections.</t>
          <table anchor="tbl-baseline-profile">
            <name>Baseline Profile</name>
            <thead>
              <tr>
                <th align="left">Issue</th>
                <th align="left">Profile Definition</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">CBOR/JSON</td>
                <td align="left">CBOR MUST be used</td>
              </tr>
              <tr>
                <td align="left">CBOR Encoding</td>
                <td align="left">Definite length maps and arrays MUST be used</td>
              </tr>
              <tr>
                <td align="left">CBOR Encoding</td>
                <td align="left">Definite length strings MUST be used</td>
              </tr>
              <tr>
                <td align="left">CBOR Serialization</td>
                <td align="left">Variant serialization MAY be used</td>
              </tr>
              <tr>
                <td align="left">COSE Protection</td>
                <td align="left">COSE_Sign1 MUST be used</td>
              </tr>
              <tr>
                <td align="left">Algorithms</td>
                <td align="left">
                  <xref target="COSE-ALGS"/> SHOULD be used</td>
              </tr>
              <tr>
                <td align="left">Detached EAT Bundle Usage</td>
                <td align="left">Detached EAT bundles MUST NOT be sent</td>
              </tr>
              <tr>
                <td align="left">Verification Key Identification</td>
                <td align="left">Any identification method listed in <xref section="F.1" sectionFormat="of" target="EAT"/></td>
              </tr>
              <tr>
                <td align="left">Endorsements</td>
                <td align="left">See <xref target="sec-cca-endorsements"/></td>
              </tr>
              <tr>
                <td align="left">Freshness</td>
                <td align="left">nonce or epoch ID based</td>
              </tr>
              <tr>
                <td align="left">Claims</td>
                <td align="left">Those defined in <xref target="sec-cca-claims"/>. As per general EAT rules, the receiver MUST NOT error out on claims it does not understand.</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="collated-cddl">
      <name>Collated CDDL</name>
      <sourcecode type="cddl"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

cca-token = #6.907(cca-token-cmw)
eat-cwt-coap-cf = 263
cca-token-cmw = {
  0xACCA => [
        eat-cwt-coap-cf,
        bytes .cbor COSE_Sign1<arm-platform-claims>,
],
  0xACD1 => [
        eat-cwt-coap-cf,
        bytes .cbor COSE_Sign1<cca-realm-claims>,
],
}
COSE_Sign1<C> = #6.18([
      Headers,
      payload: bytes .cbor C,
      signature: bytes,
])
cca-realm-claims = cca-realm-claim-map
cca-realm-claim-map = {
  cca-realm-challenge,
  ? cca-realm-profile,
  cca-realm-personalization-value,
  cca-realm-initial-measurement,
  cca-realm-extensible-measurements,
  cca-realm-hash-algo-id,
  cca-realm-public-key,
  cca-realm-public-key-hash-algo-id,
  cca-realm-mec-policy,
}
cca-realm-challenge-label = 10
cca-realm-challenge-type = bytes .size 64
cca-realm-challenge = (cca-realm-challenge-label => cca-realm-\
                                                      challenge-type)
cca-realm-extensible-measurements-label = 44239
cca-realm-extensible-measurements = (cca-realm-extensible-\
               measurements-label => [4*4cca-realm-measurement-type])
cca-realm-hash-algo-id-label = 44236
cca-realm-hash-algo-id = (cca-realm-hash-algo-id-label => text)
cca-realm-initial-measurement-label = 44238
cca-realm-initial-measurement = (cca-realm-initial-measurement-\
                                 label => cca-realm-measurement-type)
cca-realm-measurement-type = bytes .size 32 / bytes .size 48 / \
                                                       bytes .size 64
cca-realm-personalization-value-label = 44235
cca-realm-personalization-value-type = bytes .size 64
cca-realm-personalization-value = (cca-realm-personalization-value-\
                       label => cca-realm-personalization-value-type)
cca-realm-profile-label = 265
cca-realm-profile-type = "tag:arm.com,2023:realm#1.0.0"
cca-realm-profile = (cca-realm-profile-label => cca-realm-profile-\
                                                                type)
cca-realm-public-key-hash-algo-id-label = 44240
cca-realm-public-key-hash-algo-id = (cca-realm-public-key-hash-algo-\
                                                    id-label => text)
cca-realm-public-key-label = 44237
cca-realm-public-key-type = bstr .cbor COSE_Key
cca-realm-public-key = (cca-realm-public-key-label => cca-realm-\
                                                     public-key-type)
cca-realm-mec-policy-label = 44243
cca-realm-mec-policy = (cca-realm-mec-policy-label => "shared" / "\
                                                            private")
label = int / tstr
values = any
COSE_Key = {
  1 => tstr / int,
  ? 2 => bstr,
  ? 3 => tstr / int,
  ? 4 => [+ tstr / int],
  ? 5 => bstr,
  * label => values,
}
arm-platform-claims = arm-platform-claim-map
arm-platform-claim-map = {
  arm-platform-profile,
  arm-platform-challenge,
  arm-platform-implementation-id,
  arm-platform-instance-id,
  arm-platform-config,
  arm-platform-lifecycle,
  arm-platform-sw-components,
  ? arm-platform-verification-service,
  arm-platform-hash-algo-id,
}
arm-platform-challenge-label = 10
arm-platform-challenge = (arm-platform-challenge-label => arm-\
                                                  platform-hash-type)
arm-platform-config-label = 2401
arm-platform-config-type = bytes
arm-platform-config = (arm-platform-config-label => arm-platform-\
                                                         config-type)
arm-platform-hash-algo-id-label = 2402
arm-platform-hash-algo-id = (arm-platform-hash-algo-id-label => text)
arm-platform-hash-type = bytes .size 32 / bytes .size 48 / bytes .\
                                                              size 64
arm-platform-implementation-id-label = 2396
arm-platform-implementation-id-type = bytes .size 32
arm-platform-implementation-id = (arm-platform-implementation-id-\
                        label => arm-platform-implementation-id-type)
arm-platform-instance-id-label = 256
arm-platform-instance-id-type = eat-ueid-rand-type
arm-platform-instance-id = (arm-platform-instance-id-label => arm-\
                                           platform-instance-id-type)
arm-platform-profile-label = 265
arm-platform-profile-type = "tag:arm.com,2023:cca_platform#1.0.0"
arm-platform-profile = (arm-platform-profile-label => arm-platform-\
                                                        profile-type)
arm-platform-lifecycle-label = 2395
arm-platform-lifecycle-unknown-type = 0x0000 .. 0x00ff
arm-platform-lifecycle-assembly-and-test-type = 0x1000 .. 0x10ff
arm-platform-lifecycle-arm-platform-rot-provisioning-type = 0x2000 .\
                                                             . 0x20ff
arm-platform-lifecycle-secured-type = 0x3000 .. 0x30ff
arm-platform-lifecycle-non-arm-platform-rot-debug-type = 0x4000 .. \
                                                               0x40ff
arm-platform-lifecycle-recoverable-arm-platform-rot-debug-type = \
                                                     0x5000 .. 0x50ff
arm-platform-lifecycle-decommissioned-type = 0x6000 .. 0x60ff
arm-platform-lifecycle-type = arm-platform-lifecycle-unknown-type / \
arm-platform-lifecycle-assembly-and-test-type / arm-platform-\
lifecycle-arm-platform-rot-provisioning-type / arm-platform-\
lifecycle-secured-type / arm-platform-lifecycle-non-arm-platform-rot\
-debug-type / arm-platform-lifecycle-recoverable-arm-platform-rot-\
              debug-type / arm-platform-lifecycle-decommissioned-type
arm-platform-lifecycle = (arm-platform-lifecycle-label => arm-\
                                             platform-lifecycle-type)
arm-platform-sw-components-label = 2399
arm-platform-sw-component = {
  ? 1 => text,
  2 => arm-platform-hash-type,
  ? 4 => text,
  5 => arm-platform-hash-type,
  ? 6 => text,
}
arm-platform-sw-components = (arm-platform-sw-components-label => [\
                                        + arm-platform-sw-component])
arm-platform-verification-service-label = 2400
arm-platform-verification-service-type = text
arm-platform-verification-service = (arm-platform-verification-\
             service-label => arm-platform-verification-service-type)
eat-ueid-rand-type = bytes .join eat-ueid-rand-fmt
eat-ueid-rand-fmt = [
  ueid-rand-typ,
  bytes .size 32,
]
ueid-rand-typ = h'01'
Headers = (
  protected: empty_or_serialized_map,
  unprotected: header_map,
  )
empty_or_serialized_map = bstr .cbor header_map / bstr .size 0
header_map = {
  Generic_Headers,
  * label => values,
}
Generic_Headers = (
  ? 1 => int / tstr,
  ? 2 => [+ label],
  ? 3 => tstr / int,
  ? 4 => bstr,
  ? (5 => bstr // 6 => bstr),
  )
]]></sourcecode>
    </section>
    <section anchor="sec-signing-keys">
      <name>Signing key implementation alternatives</name>
      <t>In the CCA Platform reference design, PAKs (<xref target="para-pak-intro"/>) are raw public keys.</t>
      <t>Some implementations may choose to use a PAK that is a certified public key. If
this option is taken, the value of the CCA Platform Profile Definition claim
<xref target="sec-plat-profile-definition-claim"/> MUST be altered from the reference implementation
value.</t>
      <t>TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/32">Issue #32</eref> Cut the following block?</t>
      <t>Certified public keys require the manufacturer to run the certification
authority (CA) that issues X.509 certs for the PAKs.  (Note that operating a CA
is a complex and expensive task that may be unaffordable to certain
manufacturers.)</t>
      <t>Using certified public keys offers better scalability properties when compared to using raw public keys, namely:</t>
      <ul spacing="normal">
        <li>
          <t>storage requirements for the Verifier are minimised - the same
manufacturer's trust anchor is used for any number of devices,</t>
        </li>
        <li>
          <t>the provisioning model is simpler and more robust since there is no need to
notify the Verifier about each newly manufactured device,</t>
        </li>
      </ul>
      <t>Furthermore, existing and well-understood revocation mechanisms can be readily used.</t>
      <t>TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/35">Issue #35</eref> improve cert description</t>
      <t>The PAK's X.509 cert can be inlined in the CCA Platform token using the <tt>x5chain</tt> COSE
header parameter <xref target="COSE-X509"/> at the cost of an increase in the CCA Platform token
size.
Note that the exact split between pre-provisioned and inlined certs may vary
depending on the specific deployment.  In that respect, <tt>x5chain</tt> is quite
flexible: it can contain the end-entity (EE) cert only, the EE and a partial
chain, or the EE and the full chain up to the trust anchor (see <xref section="2" sectionFormat="of" target="COSE-X509"/> for the details).</t>
      <t>TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/33">Issue #33</eref> lose following as IoT centric??</t>
      <t>Constraints around network bandwidth and computing resources available to endpoints,
such as network buffers, may dictate a reasonable split point.</t>
    </section>
    <section anchor="cca-attestation-token-verification">
      <name>CCA Attestation Token Verification</name>
      <t>To verify the token for the reference profile, the initial need is to check correct
encoding for the token. Primary trust is established by checking the signing of
the CCA Platform token CWT.
The key used for verification is supplied to the Verifier by an
authorized Endorser along with the corresponding Attester's Instance ID.
For the verifier, the CCA Platform Instance ID <xref target="sec-instance-id-claim"/> claim is
used to assist locating the key used to verify the signature covering the CCA Platform
CWT token. The verifier can also be supplied with the information that the
key instance has been revoked and is no longer valid.</t>
      <t>Additional validation checks on the token are:</t>
      <ul spacing="normal">
        <li>
          <t>Checking that the binding between the CCA Platform token and the Realm state
token is valid <xref target="sec-token-binding"/>}. This has the side effect of establishing
the trustworthiness of the RAK public key.</t>
        </li>
        <li>
          <t>Validating that the Realm state token is correctly signed by the RAK.</t>
        </li>
        <li>
          <t>Checking that the value of the lll claim is psa-lifecycle-secured state. Note
that some other values of this claim (psa-lifecycle-non-psa-rot-debug and
psa-lifecycle-recoverable-psa-rot states) may indicate that the attester
is only temporarily unsuitable and the verifier may choose the to indicate
this as a contraindication rather than a full verification failure. See discussion
of the CCA platform lifecycle in <xref target="RMM"/>.</t>
        </li>
      </ul>
      <t>The Verifier will typically operate a policy where values of some
of the claims in this profile can be compared to reference values, registered
with the Verifier for a given deployment, in order to confirm that the device
is endorsed by the manufacturer supply chain.  The policy may require that the
relevant claims must have a match to a registered reference value.  All claims
may be worthy of additional appraisal.  It is likely that most deployments
would include a policy with appraisal for the following claims:</t>
      <ul spacing="normal">
        <li>
          <t>Implementation ID - the value of the Implementation ID can be used to
identify the verification requirements of the deployment.</t>
        </li>
        <li>
          <t>Software Component, Measurement Value - this value can uniquely identify a
firmware release from the supply chain. In some cases, a Verifier may
maintain a record for a series of firmware releases, being patches to an
original baseline release. A verification policy may then allow this value to
match any point on that release sequence or expect some minimum level of
maturity related to the sequence.</t>
        </li>
        <li>
          <t>Software Component, Signer ID - where present in a deployment, this could
allow a Verifier to operate a more general policy than that for Measurement
Value as above, by allowing a token to contain any firmware entries signed by
a known Signer ID, without checking for a uniquely registered version.</t>
        </li>
      </ul>
      <section anchor="ar4si-trustworthiness-claims-mappings">
        <name>AR4SI Trustworthiness Claims Mappings</name>
        <t><xref target="RATS-AR4SI"/> defines an information model that Verifiers can employ to
produce Attestation Results.
AR4SI provides a set of standardized appraisal categories and tiers that
greatly simplifies the task of writing Relying Party policies in multi-attester
environments.</t>
        <t>The contents of <xref target="tab-ar4si-map"/> are intended as guidance for implementing a
PSA Verifier that computes its results using AR4SI.
The table describes which PSA Evidence claims (if any) are related to which
AR4SI trustworthiness claim, and therefore what the Verifier must consider when
deciding if and how to appraise a certain feature associated with the PSA
Attester.</t>
        <table anchor="tab-ar4si-map">
          <name>AR4SI Claims mappings</name>
          <thead>
            <tr>
              <th align="left">Trustworthiness Vector claims</th>
              <th align="left">Related PSA claims</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>configuration</tt></td>
              <td align="left">Software Components (<xref target="sec-sw-components"/>)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>executables</tt></td>
              <td align="left">ditto</td>
            </tr>
            <tr>
              <td align="left">
                <tt>file-system</tt></td>
              <td align="left">N/A</td>
            </tr>
            <tr>
              <td align="left">
                <tt>hardware</tt></td>
              <td align="left">Implementation ID (<xref target="sec-implementation-id"/>) and CCA Platform config (TODO)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>instance-identity</tt></td>
              <td align="left">Instance ID (<xref target="sec-instance-id-claim"/>).  The Security Lifecycle (<xref target="sec-security-lifecycle"/>) can also impact the derived identity.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>runtime-opaque</tt></td>
              <td align="left">Indirectly derived from <tt>executables</tt>, <tt>hardware</tt>, and <tt>instance-identity</tt>.  The Security Lifecycle (<xref target="sec-security-lifecycle"/>) can also be relevant: for example, any debug state will expose otherwise protected memory.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sourced-data</tt></td>
              <td align="left">N/A</td>
            </tr>
            <tr>
              <td align="left">
                <tt>storage-opaque</tt></td>
              <td align="left">Indirectly derived from <tt>executables</tt>, <tt>hardware</tt>, and <tt>instance-identity</tt>.</td>
            </tr>
          </tbody>
        </table>
        <t>This document does not prescribe what value must be chosen based on each
possible situation: when assigning specific Trustworthiness Claim values, an
implementation is expected to follow the algorithm described in <xref section="2.3.3" sectionFormat="of" target="RATS-AR4SI"/>.</t>
      </section>
      <section anchor="sec-cca-endorsements">
        <name>Endorsements, Reference Values and Verification Key Material</name>
        <t>The <xref target="CCA-ENDORSEMENTS"/> defines a protocol based on the <xref target="RATS-CoRIM"/> data model
that can be used to convey CCA Endorsements, Reference Values and Verification
Key Material to the Verifier.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t><cref anchor="rfc-ed-note">RFC Editor:</cref> please remove this section before publication.</t>
      <t>Implementations of this specification are provided by the Trusted
Firmware-RMM project <xref target="TF-RMM"/> and the Veraison project <xref target="Veraison"/>.
These implementations are released as open-source software.</t>
    </section>
    <section anchor="sec-security-consideration">
      <name>Security and Privacy Considerations</name>
      <t>This specification re-uses the EAT specification and therefore the CWT specification.
Hence, the security and privacy considerations of those specifications apply here as well.</t>
      <t>Attestation tokens contain information that may be unique to a device and
therefore they may allow singling out an individual device for tracking
purposes.  Deployments that have privacy requirements must take appropriate
measures to ensure that the token is only used to provision anonymous/pseudonym
keys.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cbor-web-token-claims-registration">
        <name>CBOR Web Token Claims Registration</name>
        <t>IANA is requested to make permanent the following claims that have been
assigned via early allocation in the "CBOR Web Token (CWT) Claims" registry
<xref target="IANA-CWT"/>.</t>
        <section anchor="security-lifecycle-claim">
          <name>Security Lifecycle Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-security-lifecycle</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Security Lifecycle</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2395</t>
            </li>
            <li>
              <t>Claim Value Type(s): unsigned integer</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig      TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/34">Issue #34</eref> find document centric change controller</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-security-lifecycle"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="implementation-id-claim">
          <name>Implementation ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-implementation-id</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Implementation ID</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2396</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-implementation-id"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="software-components-claim">
          <name>Software Components Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-software-components</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Software Components</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2399</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-sw-components"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="verification-service-indicator-claim">
          <name>Verification Service Indicator Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-verification-service-indicator</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Verification Service Indicator</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2400</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-verification-service-indicator"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-config-claim">
          <name>Platform Config Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-config</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Configuration</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2401</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-platform-config"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-hash-algorithm-id-clain">
          <name>Platform Hash Algorithm ID Clain</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-hash-algm-id</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Hash Algorithm ID</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2402</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-arm-platform-hash-algm-id"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="cca-token-platform-token-label">
          <name>CCA Token Platform Token Label</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-platform-token-label</t>
            </li>
            <li>
              <t>Claim Description: CCA Token Platform Token Label</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44234</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-cca-token-collection"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-personalization-value-claim">
          <name>Realm Personalization Value Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-personalization-value</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Personalisation Value</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44235</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-personalisation-value-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-hash-algorithm-id-claim">
          <name>Realm Hash Algorithm ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-hash-algm-id</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Hash Algorithm ID</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44236</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-hash-algm-id-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-public-key-claim">
          <name>Realm Public Key Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-public-key</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Public Key</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44237</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-public-key-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-initial-measurement-claim">
          <name>Realm Initial Measurement Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-initial-measurement</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Initial Measurement</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44238</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-initial-measurement-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-extensible-measurements-claim">
          <name>Realm Extensible Measurements Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-extensible-measurements</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Extensible Measurements</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44239</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-initial-measurement-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-public-key-hash-algorithm-id-claim">
          <name>Realm Public Key Hash Algorithm ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-public-key-hash-algm-id</t>
            </li>
            <li>
              <t>Claim Description: Realm Public Key Hash Algorithm ID Claim</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44240</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-public-key-hash-algo-id-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="cca-token-delegated-realm-token-label">
          <name>CCA Token Delegated Realm Token Label</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-platform-delegated-realm-label</t>
            </li>
            <li>
              <t>Claim Description: CCA Token Platform Token Label</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44241</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: Hannes Tschofenig</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-cca-token-collection"/> of RFCthis</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="sec-iana-media-types">
        <name>Media Types</name>
        <t>No new media type registration is requested.
To indicate that the transmitted content is a CCA attestation token,
applications can use the <tt>application/eat+cwt</tt> media type defined in
<xref target="EAT-MEDIATYPES"/> with the <tt>eat_profile</tt> parameter set to
<tt>tag:arm.com,2023:cca_platform#1.0.0</tt>.</t>
      </section>
      <section anchor="sec-iana-coap-content-format">
        <name>CoAP Content-Formats Registration</name>
        <t>IANA is requested to register a CoAP Content-Format ID in the "CoAP
Content-Formats" registry <xref target="IANA-CoAP-Content-Formats"/>:</t>
        <ul spacing="normal">
          <li>
            <t>A registration for the <tt>application/eat+cwt</tt> media type with the <tt>eat_profile</tt> parameter
equal to "tag:arm.com,2023:cca_platform#1.0.0"</t>
          </li>
        </ul>
        <t>The Content-Formats should be allocated from the Expert review range (0-255).</t>
        <section anchor="registry-contents">
          <name>Registry Contents</name>
          <ul spacing="normal">
            <li>
              <t>Media Type: `application/eat+cwt; eat_profile="tag:arm.com,2023:cca_platform#1.0.0"</t>
            </li>
            <li>
              <t>Encoding: -</t>
            </li>
            <li>
              <t>Id: To-be-assigned by IANA</t>
            </li>
            <li>
              <t>Reference: RFCthis</t>
            </li>
            <li>
              <t>Media Type: `application/eat+cwt; eat_profile="tag:arm.com,2023:realm#1.0.0"</t>
            </li>
            <li>
              <t>Encoding: -</t>
            </li>
            <li>
              <t>Id: To-be-assigned by IANA</t>
            </li>
            <li>
              <t>Reference: RFCthis</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="CCA-ARCH" target="https://developer.arm.com/documentation/den0125/0300">
          <front>
            <title>Learn the architecture - Introducing Arm Confidential Compute Architecture</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2023" month="May"/>
          </front>
        </reference>
        <reference anchor="RMM" target="https://developer.arm.com/documentation/den0137/1-0bet2">
          <front>
            <title>Realm Management Monitor specification 1.0</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2022" month="December"/>
          </front>
        </reference>
        <reference anchor="RME" target="https://developer.arm.com/documentation/den0126/0100">
          <front>
            <title>Learn the architecture - Realm Management Extension</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2021" month="June"/>
          </front>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="STD96">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="COSE-ALGS">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="IANA-CWT" target="https://www.iana.org/assignments/cwt/cwt.xhtml#claims-registry">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="EAT">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
        </reference>
        <reference anchor="EAT-MEDIATYPES">
          <front>
            <title>EAT Media Types</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="3" month="November" year="2024"/>
            <abstract>
              <t>   Payloads used in Remote Attestation Procedures may require an
   associated media type for their conveyance, for example when used in
   RESTful APIs.

   This memo defines media types to be used for Entity Attestation
   Tokens (EAT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-media-type-12"/>
        </reference>
        <reference anchor="CMW">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="12" month="August" year="2025"/>
            <abstract>
              <t>   The Remote Attestation Procedures architecture (RFC 9334) defines
   several types of conceptual messages, such as Evidence, Attestation
   Results, Endorsements, and Reference Values.  These messages can
   appear in different formats and be transported via various protocols.

   This document introduces the Conceptual Message Wrapper (CMW) that
   provides a common structure to encapsulate these messages.  It
   defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and
   CBOR Web Token (CWT) claims, and an X.509 extension.

   This allows CMWs to be used in CBOR-based protocols, web APIs using
   JWTs and CWTs, and PKIX artifacts like X.509 certificates.
   Additionally, the draft defines a media type and a CoAP content
   format to transport CMWs over protocols like HTTP, MIME, and CoAP.

   The goal is to improve the interoperability and flexibility of remote
   attestation protocols.  By introducing a shared message format like
   the CMW, we can consistently support different attestation message
   types, evolve message serialization formats without breaking
   compatibility, and avoid having to redefine how messages are handled
   in each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-17"/>
        </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="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="IANA.named-information" target="https://www.iana.org/assignments/named-information">
          <front>
            <title>Named Information</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.kdyxy-rats-tdx-eat-profile">
          <front>
            <title>EAT profile for Intel(r) Trust Domain Extensions (TDX) attestation result</title>
            <author fullname="Greg Kostal" initials="G." surname="Kostal">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Sindhuri Dittakavi" initials="S." surname="Dittakavi">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Raghuram Yeluri" initials="R." surname="Yeluri">
              <organization>Intel</organization>
            </author>
            <author fullname="Haidong Xia" initials="H." surname="Xia">
              <organization>Intel</organization>
            </author>
            <author fullname="Jerry Yu" initials="J." surname="Yu">
              <organization>Intel</organization>
            </author>
            <date day="13" month="December" year="2024"/>
            <abstract>
              <t>   Intel® Trust Domain Extensions (TDX) introduce architectural elements
   designed for the deployment of hardware-isolated virtual machines
   (VMs) known as trust domains (TDs).  TDX is designed to provide a
   secure and isolated environment for running sensitive workloads or
   applications.  This Entity Attestation Token (EAT) profile outlines
   claims for an Intel TDX attestation result which facilitate the
   establishment of trust between a relying party and the environment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kdyxy-rats-tdx-eat-profile-02"/>
        </reference>
        <reference anchor="I-D.mandyam-rats-qwestoken">
          <front>
            <title>The Qualcomm Wireless Edge Services (QWES) Attestation Token</title>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Vivek Sekhar" initials="V." surname="Sekhar">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Shahid Mohammed" initials="S." surname="Mohammed">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <date day="1" month="November" year="2019"/>
            <abstract>
              <t>   An attestation format based on the Entity Attestation Token (EAT) is
   described.  The Qualcomm Wireless Edge Services (QWES) token is used
   in the context of device onboarding and authentication.  It is
   verified in the same manner as any CBOR Web Token (CWT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mandyam-rats-qwestoken-00"/>
        </reference>
        <reference anchor="COSE-X509">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <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="IANA-CoAP-Content-Formats" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>CoAP Content-Formats</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="TF-RMM" target="https://www.trustedfirmware.org/projects/tf-rmm">
          <front>
            <title>Trusted Firmware-RMM</title>
            <author>
              <organization>Trusted Firmware Project</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="Veraison" target="https://github.com/veraison/ccatoken">
          <front>
            <title>Veraison ccatoken package</title>
            <author>
              <organization>The Veraison Project</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="RATS-CoRIM">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-08"/>
        </reference>
        <reference anchor="RATS-AR4SI">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="15" month="August" year="2025"/>
            <abstract>
              <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-09"/>
        </reference>
        <reference anchor="CCA-ENDORSEMENTS">
          <front>
            <title>A CoRIM Profile for Arm's Confidential Computing Architecture (CCA) Endorsements</title>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Ltd</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="4" month="July" year="2025"/>
            <abstract>
              <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.

   This memo defines CCA Endorsements as a profile of the CoRIM data
   model.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/yogeshbdeshpande/draft-cca-rats-endorsements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ydb-rats-cca-endorsements-02"/>
        </reference>
      </references>
    </references>
    <?line 1597?>

<section anchor="examples">
      <name>Examples</name>
      <t>The following examples show CCA attestation tokens for an hypothetical system
comprising a single number of software component.
The attesting device is in a lifecycle state (<xref target="sec-security-lifecycle"/>) of
SECURED.</t>
      <section anchor="delegated-mode">
        <name>Delegated Mode</name>
        <t>The following sample claim set and token are representative of a CCA Token using "delegated mode" described in <xref target="delegated"/>.</t>
        <t>In this model, the <tt>eat_nonce</tt> claim in the Platform token contains a hash of the RAK public key claim in the Realm token.</t>
        <section anchor="platform-claims-set">
          <name>Platform Claims Set</name>
          <t>The CCA Platform claims set is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  265:"tag:arm.com,2023:cca_platform#1.0.0",
  10:h'\
   0D22E08A98469058486318283489BDB36F09DBEFEB1864DF433FA6E54EA2D711',
  2396:h'\
   7F454C4602010100000000000000000003003E00010000005058000000000000',
  256:h'\
 0107060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A1918',
  2401:h'CFCFCFCF',
  2395:12291,
  2402:"sha-256",
  2400:"https://veraison.example/.well-known/veraison/verification",
  2399:[
    {
      1:"RSE_BL1_2",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   9A271F2A916B0B6EE6CECB2426F0B3206EF074578BE55D9BC94F6F3FE3AB86AA',
      6:"sha-256"
    },
    {
      1:"RSE_BL2",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   53C234E5E8472B6AC51C1AE1CAB3FE06FAD053BEB8EBFD8977B010655BFDD3C3',
      6:"sha-256"
    },
    {
      1:"RSE_S",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   1121CFCCD5913F0A63FEC40A6FFD44EA64F9DC135C66634BA001D10BCF4302A2',
      6:"sha-256"
    },
    {
      1:"AP_BL1",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   1571B5EC78BD68512BF7830BB6A2A44B2047C7DF57BCE79EB8A1C0E5BEA0A501',
      6:"sha-256"
    },
    {
      1:"AP_BL2",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   10159BAF262B43A92D95DB59DAE1F72C645127301661E0A3CE4E38B295A97C58',
      6:"sha-256"
    },
    {
      1:"SCP_BL1",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   10122E856B3FCD49F063636317476149CB730A1AA1CFAAD818552B72F56D6F68',
      6:"sha-256"
    },
    {
      1:"SCP_BL2",
      5:h'\
   F14B4987904BCB5814E4459A057ED4D20F58A633152288A761214DCD28780B56',
      2:h'\
   AA67A169B0BBA217AA0AA88A65346920C84C42447C36BA5F7EA65F422C1FE5D8',
      6:"sha-256"
    },
    {
      1:"AP_BL31",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   2E6D31A5983A91251BFAE5AEFA1C0A19D8BA3CF601D0E8A706B4CFA9661A6B8A',
      6:"sha-256"
    },
    {
      1:"RMM",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   A1FB50E6C86FAE1679EF3351296FD6713411A08CF8DD1790A4FD05FAE8688164',
      6:"sha-256"
    },
    {
      1:"HW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   1A252402972F6057FA53CC172B52B9FFCA698E18311FACD0F3B06ECAAEF79E17',
      6:"sha-256"
    },
    {
      1:"FW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   9A92ADBC0CEE38EF658C71CE1B1BF8C65668F166BFB213644C895CCB1AD07A25',
      6:"sha-256"
    },
    {
      1:"TB_FW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   238903180CC104EC2C5D8B3F20C5BC61B389EC0A967DF8CC208CDC7CD454174F',
      6:"sha-256"
    },
    {
      1:"SOC_FW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   E6C21E8D260FE71882DEBDB339D2402A2CA7648529BC2303F48649BCE0380017',
      6:"sha-256"
    }
  ]
}
]]></sourcecode>
        </section>
        <section anchor="realm-claims-set">
          <name>Realm Claims Set</name>
          <t>The CCA Realm claims set is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
    265: "tag:arm.com,2023:realm#1.0.0", / eat_profile /
    10: h'\
6E86D6D97CC713BC6DD43DBCE491A6B40311C027A8BF85A39DA63E9CE44C132A8A11\
9D296FAE6A6999E9BF3E4471B0CE01245D889424C31E89793B3B1D6B1504', / \
                                                          eat_nonce /
    44236: "sha-256", / Realm hash algorithm /
    44240: "sha-256", / RAK hash algorithm /
    44235: h'\
54686520717569636B2062726F776E20666F78206A756D7073206F76657220313320\
6C617A7920646F67732E54686520717569636B2062726F776E20666F7820', / PV /
    44237: << { / RAK /
        1: 2, / kty=EC2 /
        -1: 2, / crv=P-384 /
        -2: h'\
76F988091BE585ED41801AECFAB858548C63057E16B0E676120BBD0D2F9C29E056C5\
                      D41A0130EB9C21517899DC23146B', / x-coordinate /
        -3: h'\
28E1B062BD3EA4B315FD219F1CBB528CB6E74CA49BE16773734F61A1CA61031B2BBF\
                       3D918F2F94FFC4228E50919544AE' / y-coordinate /
    } >>,
    44238: h'\
311314AB73620350CF758834AE5C65D9E8C2DC7FEBE6E7D9654BBE864E300D49', \
                                                              / RIM /
    44239: [
        h'\
24D5B0A296CC05CBD8068C5067C5BD473B770DDA6AE082FE3BA30ABE3F9A6AB1', \
                                                           / REM[0] /
        h'\
788FC090BFC6B8ED903152BA8414E73DAF5B8C7BB1E79AD502AB0699B659ED16', \
                                                           / REM[1] /
        h'\
DAC46A58415DC3A00D7A741852008E9CAE64F52D03B9F76D76F4B3644FEFC416', \
                                                           / REM[2] /
        h'\
32C6AFC627E55585C03155359F331A0E225F6840DB947DD96EFAB81BE2671939'  \
                                                           / REM[3] /
    ],
    44243: "private"  / MEC policy /
}
]]></sourcecode>
        </section>
        <section anchor="platform-attestation-key">
          <name>Platform Attestation Key</name>
          <t>The COSE Key representation of the Platform Attestation Key (PAK) used for creating the COSE Sign1 signature over the CCA Platform token is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  / kty /  1: 2,  / EC2 /
  / crv / -1: 2,  / P-384 /
  / x-coordinate / -2: h'\
212867C52E2B9508B0A420A90560F394D2DFAA21BDD7514FF1A901AFE7E1F78BB11D\
                                       4E66F8A8A38AFA76AF6A31C4DE8C',
  / y-coordinate / -3: h'\
84CE2DAFC9964258B53FAD718774F45620D111B176E8318E1187DB0235A318D37BA5\
                                       97FEE80E0E4C762A12BCB3EA6ED4',
  / private key /  -4: h'\
8AC090C995869F61AC1358F02B021A26AB6EB386203AC735D7CE9855538B91F74C44\
                                        B0D580243EFB799A293DCBAA0899'
}
]]></sourcecode>
        </section>
        <section anchor="realm-attestation-key">
          <name>Realm Attestation Key</name>
          <t>The COSE Key representation of the Realm Attestation Key (RAK) used for creating the COSE Sign1 signature over the CCA Realm token is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  / kty /  1: 2,  / EC2 /
  / crv / -1: 2,  / P-384 /
  / x-coordinate / -2: h'\
76F988091BE585ED41801AECFAB858548C63057E16B0E676120BBD0D2F9C29E056C5\
                                       D41A0130EB9C21517899DC23146B',
  / y-coordinate / -3: h'\
28E1B062BD3EA4B315FD219F1CBB528CB6E74CA49BE16773734F61A1CA61031B2BBF\
                                       3D918F2F94FFC4228E50919544AE',
  / private key /  -4: h'\
2011C7F03CEE4325176E524F033C0CE1E21A76E6C1A4F0B839AA1DF61E0E8A5C8A05\
                                        740F9B69EFA7EB1A4185BD117F68'
}
]]></sourcecode>
        </section>
        <section anchor="signed-and-bound-assembly">
          <name>Signed and Bound Assembly</name>
          <t>The resulting CMW collection is</t>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

907({
  44234: [
    263,
    << 18([
      h'A1013822',
      {},
      << {
        265:"tag:arm.com,2023:cca_platform#1.0.0",
        10:h'\
   0D22E08A98469058486318283489BDB36F09DBEFEB1864DF433FA6E54EA2D711',
        2396:h'\
   7F454C4602010100000000000000000003003E00010000005058000000000000',
        256:h'\
 0107060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A1918',
        2401:h'CFCFCFCF',
        2395:12291,
        2402:"sha-256",
        2400:"https://veraison.example/.well-known/veraison/\
                                                       verification",
        2399:[
          {
            1:"RSE_BL1_2",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   9A271F2A916B0B6EE6CECB2426F0B3206EF074578BE55D9BC94F6F3FE3AB86AA',
            6:"sha-256"
          },
          {
            1:"RSE_BL2",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   53C234E5E8472B6AC51C1AE1CAB3FE06FAD053BEB8EBFD8977B010655BFDD3C3',
            6:"sha-256"
          },
          {
            1:"RSE_S",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   1121CFCCD5913F0A63FEC40A6FFD44EA64F9DC135C66634BA001D10BCF4302A2',
            6:"sha-256"
          },
          {
            1:"AP_BL1",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   1571B5EC78BD68512BF7830BB6A2A44B2047C7DF57BCE79EB8A1C0E5BEA0A501',
            6:"sha-256"
          },
          {
            1:"AP_BL2",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   10159BAF262B43A92D95DB59DAE1F72C645127301661E0A3CE4E38B295A97C58',
            6:"sha-256"
          },
          {
            1:"SCP_BL1",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   10122E856B3FCD49F063636317476149CB730A1AA1CFAAD818552B72F56D6F68',
            6:"sha-256"
          },
          {
            1:"SCP_BL2",
            5:h'\
   F14B4987904BCB5814E4459A057ED4D20F58A633152288A761214DCD28780B56',
            2:h'\
   AA67A169B0BBA217AA0AA88A65346920C84C42447C36BA5F7EA65F422C1FE5D8',
            6:"sha-256"
          },
          {
            1:"AP_BL31",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   2E6D31A5983A91251BFAE5AEFA1C0A19D8BA3CF601D0E8A706B4CFA9661A6B8A',
            6:"sha-256"
          },
          {
            1:"RMM",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   A1FB50E6C86FAE1679EF3351296FD6713411A08CF8DD1790A4FD05FAE8688164',
            6:"sha-256"
          },
          {
            1:"HW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   1A252402972F6057FA53CC172B52B9FFCA698E18311FACD0F3B06ECAAEF79E17',
            6:"sha-256"
          },
          {
            1:"FW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   9A92ADBC0CEE38EF658C71CE1B1BF8C65668F166BFB213644C895CCB1AD07A25',
            6:"sha-256"
          },
          {
            1:"TB_FW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   238903180CC104EC2C5D8B3F20C5BC61B389EC0A967DF8CC208CDC7CD454174F',
            6:"sha-256"
          },
          {
            1:"SOC_FW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   E6C21E8D260FE71882DEBDB339D2402A2CA7648529BC2303F48649BCE0380017',
            6:"sha-256"
          }
        ]
      } >>,
      h'\
31D04D52CCDE952C1E32CBA181885A40B8CC38E0528C1E89589807642AA5E3F2BC37\
F95374506BFF4D2E4BE7063C4D72419270C722E8D4D93EE8B6C9FACE3B43C9761A49\
            941AB6F38FFDFF496AD463B4CBFA11D83E23E31F7F62329DE30C1CC8'
    ]) >>
  ],

  44241: [
    263,
    << 18([
      h'A1013822',
      {},
      << {
        265:"tag:arm.com,2023:realm#1.0.0",
        10:h'\
6E86D6D97CC713BC6DD43DBCE491A6B40311C027A8BF85A39DA63E9CE44C132A8A11\
       9D296FAE6A6999E9BF3E4471B0CE01245D889424C31E89793B3B1D6B1504',
        44236:"sha-256",
        44240:"sha-256",
        44235:h'\
54686520717569636B2062726F776E20666F78206A756D7073206F76657220313320\
       6C617A7920646F67732E54686520717569636B2062726F776E20666F7820',
        44237:h'\
A40102200221583076F988091BE585ED41801AECFAB858548C63057E16B0E676120B\
BD0D2F9C29E056C5D41A0130EB9C21517899DC23146B22583028E1B062BD3EA4B315\
FD219F1CBB528CB6E74CA49BE16773734F61A1CA61031B2BBF3D918F2F94FFC4228E\
                                                         50919544AE',
        44238:h'\
   311314AB73620350CF758834AE5C65D9E8C2DC7FEBE6E7D9654BBE864E300D49',
        44239:[
          h'\
   24D5B0A296CC05CBD8068C5067C5BD473B770DDA6AE082FE3BA30ABE3F9A6AB1',
          h'\
   788FC090BFC6B8ED903152BA8414E73DAF5B8C7BB1E79AD502AB0699B659ED16',
          h'\
   DAC46A58415DC3A00D7A741852008E9CAE64F52D03B9F76D76F4B3644FEFC416',
          h'\
    32C6AFC627E55585C03155359F331A0E225F6840DB947DD96EFAB81BE2671939'
        ],
        44243: "private"  / MEC policy /
      } >>,
      h'\
580B1DEA32D30AC6884C86B39CBE0FCB03BD00DF5103F9BAB01386A46A3BA8143E27\
ED6D4EB0D0A2724ABDF9640C09462FACE6DF186909DFA6EB131E3A7918276077ACDA\
            B8A8BDECA6B0EAAFAB66E1439C1371F4FB1D6AAC047481B5DC75DD46'
    ]) >>
  ]
})
]]></artwork>
          <t>which has the following base16 encoding:</t>
          <artwork><![CDATA[
d9038ba219acca821901075905eed28444a1013822a0590581a919010978
237461673a61726d2e636f6d2c323032333a6363615f706c6174666f726d
23312e302e300a58200d22e08a98469058486318283489bdb36f09dbefeb
1864df433fa6e54ea2d71119095c58207f454c4602010100000000000000
000003003e00010000005058000000000000190100582101070605040302
01000f0e0d0c0b0a090817161514131211101f1e1d1c1b1a191819096144
cfcfcfcf19095b193003190962677368612d323536190960783a68747470
733a2f2f7665726169736f6e2e6578616d706c652f2e77656c6c2d6b6e6f
776e2f7665726169736f6e2f766572696669636174696f6e19095f8da401
695253455f424c315f320558205378796307535df3ec8d8b15a2e2dc5641
419c3d3060cfe32238c0fa973f7aa30258209a271f2a916b0b6ee6cecb24
26f0b3206ef074578be55d9bc94f6f3fe3ab86aa06677368612d323536a4
01675253455f424c320558205378796307535df3ec8d8b15a2e2dc564141
9c3d3060cfe32238c0fa973f7aa302582053c234e5e8472b6ac51c1ae1ca
b3fe06fad053beb8ebfd8977b010655bfdd3c306677368612d323536a401
655253455f530558205378796307535df3ec8d8b15a2e2dc5641419c3d30
60cfe32238c0fa973f7aa30258201121cfccd5913f0a63fec40a6ffd44ea
64f9dc135c66634ba001d10bcf4302a206677368612d323536a401664150
5f424c310558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cf
e32238c0fa973f7aa30258201571b5ec78bd68512bf7830bb6a2a44b2047
c7df57bce79eb8a1c0e5bea0a50106677368612d323536a4016641505f42
4c320558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe322
38c0fa973f7aa302582010159baf262b43a92d95db59dae1f72c64512730
1661e0a3ce4e38b295a97c5806677368612d323536a401675343505f424c
310558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238
c0fa973f7aa302582010122e856b3fcd49f063636317476149cb730a1aa1
cfaad818552b72f56d6f6806677368612d323536a401675343505f424c32
055820f14b4987904bcb5814e4459a057ed4d20f58a633152288a761214d
cd28780b56025820aa67a169b0bba217aa0aa88a65346920c84c42447c36
ba5f7ea65f422c1fe5d806677368612d323536a4016741505f424c333105
58205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa
973f7aa30258202e6d31a5983a91251bfae5aefa1c0a19d8ba3cf601d0e8
a706b4cfa9661a6b8a06677368612d323536a40163524d4d055820537879
6307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7aa302
5820a1fb50e6c86fae1679ef3351296fd6713411a08cf8dd1790a4fd05fa
e868816406677368612d323536a4016948575f434f4e4649470558205378
796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7aa3
0258201a252402972f6057fa53cc172b52b9ffca698e18311facd0f3b06e
caaef79e1706677368612d323536a4016946575f434f4e46494705582053
78796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7a
a30258209a92adbc0cee38ef658c71ce1b1bf8c65668f166bfb213644c89
5ccb1ad07a2506677368612d323536a4016c54425f46575f434f4e464947
0558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0
fa973f7aa3025820238903180cc104ec2c5d8b3f20c5bc61b389ec0a967d
f8cc208cdc7cd454174f06677368612d323536a4016d534f435f46575f43
4f4e4649470558205378796307535df3ec8d8b15a2e2dc5641419c3d3060
cfe32238c0fa973f7aa3025820e6c21e8d260fe71882debdb339d2402a2c
a7648529bc2303f48649bce038001706677368612d323536586031d04d52
ccde952c1e32cba181885a40b8cc38e0528c1e89589807642aa5e3f2bc37
f95374506bff4d2e4be7063c4d72419270c722e8d4d93ee8b6c9face3b43
c9761a49941ab6f38ffdff496ad463b4cbfa11d83e23e31f7f62329de30c
1cc819acd182190107590259d28444a1013822a05901eca9190109781c74
61673a61726d2e636f6d2c323032333a7265616c6d23312e302e300a5840
6e86d6d97cc713bc6dd43dbce491a6b40311c027a8bf85a39da63e9ce44c
132a8a119d296fae6a6999e9bf3e4471b0ce01245d889424c31e89793b3b
1d6b150419accc677368612d32353619acd0677368612d32353619accb58
4054686520717569636b2062726f776e20666f78206a756d7073206f7665
72203133206c617a7920646f67732e54686520717569636b2062726f776e
20666f782019accd586ba40102200221583076f988091be585ed41801aec
fab858548c63057e16b0e676120bbd0d2f9c29e056c5d41a0130eb9c2151
7899dc23146b22583028e1b062bd3ea4b315fd219f1cbb528cb6e74ca49b
e16773734f61a1ca61031b2bbf3d918f2f94ffc4228e50919544ae19acce
5820311314ab73620350cf758834ae5c65d9e8c2dc7febe6e7d9654bbe86
4e300d4919accf84582024d5b0a296cc05cbd8068c5067c5bd473b770dda
6ae082fe3ba30abe3f9a6ab15820788fc090bfc6b8ed903152ba8414e73d
af5b8c7bb1e79ad502ab0699b659ed165820dac46a58415dc3a00d7a7418
52008e9cae64f52d03b9f76d76f4b3644fefc416582032c6afc627e55585
c03155359f331a0e225f6840db947dd96efab81be267193919acd3677072
69766174655860580b1dea32d30ac6884c86b39cbe0fcb03bd00df5103f9
bab01386a46a3ba8143e27ed6d4eb0d0a2724abdf9640c09462face6df18
6909dfa6eb131e3a7918276077acdab8a8bdeca6b0eaafab66e1439c1371
f4fb1d6aac047481b5dc75dd46
]]></artwork>
        </section>
      </section>
      <section anchor="direct-mode">
        <name>Direct Mode</name>
        <t>The following sample claim sets and the resulting CCA Token are representative of a CCA Token using "direct mode" (<xref target="direct"/>).</t>
        <t>In "direct mode" the <tt>eat_nonce</tt> claim in the Platform token contains a hash of the Realm claims set, which includes verifier-provided challenge data.</t>
        <t>TODO</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
        <organization>Arm Limited</organization>
        <address>
          <email>Yogesh.Deshpande@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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
siIpb1ScERZpgZKsgYPzWlAJxWYOZimuwjLC29O1oqHXHOqozpeTUpR2EqBQ
uBIzEtaZuAKEpYhqQNkHYsbFHajwT11jKo4TiWslmTBJ0VHy6IzuaOA9n+rN
EBWsRHRwOr+KsCAz+FvR+k5Gg2VBlD6tSuCZOfDWphAUc3a3yq+KDFTJ58+b
2aIjJaIyf+5N7cgPTDrOANibLL0t086VXGw5GHqF7EtGhzoVioUOWGd+aUlI
oWPxqGdf/tvZT29N/l1pEjJJVZPSHPsiR1BZRmyCwIzZLqmOsM8AjL5tHc90
SwN6/8zHn6oWCNoq1a4owN+VWvqLrgwbHwpLafqlKiq17R7VuiIshiQszL/S
tS1f2gRJUcmcougrjlJJ6kczvFZZHaBa3dXP8SzBd8sTyrqWcj28wntbsk/m
lA0vTmTDL4iaykwvX8yyqifaQqn2UrQvZdqXukgAn4BlE+GWI6NfQNKSnhEZ
Oepi9fKeIlQ1YWHiTTace7cgvKyvF5z3lpZ5SApHYF9i1v416X4ZhNX8/fK4
X1fWZGjhJlmZYSjtDkH/WJCBrlcCH44caCwEIiqoJ8nC+KH6gxBNTswX/3hh
0ijKusMpgZw1+72BY9Y6/WDscbNI+0Uh+9wTgj+13sfqxSMuDDk2fj1uuTDk
KcM3bg6hse8NrcnoFaPC7h/K7/yY4m2yhRxdXIJ7Uv2IfKusXvEevnBk1L8L
n6g9wiod9WZUuYNx25LXd0zndxsJScfGgxkt1SYtGRXVBlu24auNdJe7BoLy
y7c939F5iRGVHNrd4TI9W4LllvzKPVMr/7Fv2nXtpwrV0aOTKPbKoWht1IC4
NZ/C/Lv3B297FkWFjndsxG/fh99nC/7oUflDD6YP7R5sj5XcI7lIB7mRetK8
P6xxTZj5VILaTta/Xx7eHml4Dw28dbpt+/FbQTtqZnDqeaJPTgxtzQt9VEro
k5dT/TTmt9d29l672Q80ehrsu5h4ayrIYxM8tuV37Jva8cRlqQFXZXapnSor
4bY2qYLa7PrKPCguo3WaHIBEOPg6GhI7lgdHhoQLz8O9NDeAVkMkmf1AoSyJ
XWFncDUTRP5L7MI2BhUswRXhP922NlSf5O/fa89/5Re+3vkPJYszFKjVW2w+
BK7xlEyk9scC+rZC9sf15xUDavc9FM0W5Q0dzXHpzGnjsSrl1nhTKYfCyHrw
SGxjkKrpVEdmm5W0/QKufe7eegpdNuvQHD1YhuzhgmFb6oXtXyrsK1hMg+do
z/N7u4/Y7Xm6ru1je1sZ4sHXaidpCDziTpqn3T3z8NUzDwy7faZb7rxqBayG
8y0XeD3l0q5dd3btd13Xo9ZyK3S1GbYZU19/Qcm2+0kecTXJ0ylXh/hoW2Ff
vazzo6o4m92u+VV1nHmAZ6rk/NUc3jWfUAqap/AcxaBxpK+2oJ+rnvQTAeEy
1IyTpxai5t7Bjt6i+V5VqGEmj6xBXee9x1Wg3t67Wn/6MbWn/2FUCkc/qfJ0
fUH3GbCtCvX2ItT71J9+JFltWfuaJNte4fBRZQyN3RUKa9UIjd31Bms1BusG
aqNo4F71AvfH3o7Cgr/WsPfctXP2Kp2zvVFtjvUiOnsWzzl6yiWr2+5YrQyD
K1u1146NX7dcpSri5yKXXqSkpMmJmS6vNne/5evf5B5ZmvwG3hyOfb3S2l3S
APIVTKq9XzVuUHZC25eeE6SWob1h8v8z7vlk8W9aoL/VU621ExMSzFN62JrX
DB4xjfPrQ65z6V4fKo/ZfPmSeQf/OOKp8/EkmWhG6b21fNhoQeVqMD1IK2LM
7TGKUdwbnLZeS0oocw6TFJsf46W9tJGPRag7V9HHDuXf43Y9JnKto1vt2Apu
4p7ly3oyfVGrf0VlMnFgU1briOTFommi1/IzX4tanFy+kFLCIpV+WznZ8kA9
A1Fna//sTMpPQiTqyfjbTgsYqhRnNfXLeZbUL+fIHF1vatU1Zos8/vgvhjFq
wVshN9+pT+U+V8D++lpkKelXuRrR9eYyp0uvDkfhkVwYBMD8965vDah5eWwB
qaJrmodlQoQ428B526HBi0qnID6JE6xXuBFxA82j4iP3QbLAvepVNIeBk0hk
M+Cnomxl6JAX3SPD+Cvl5bSRSiErmszSDSYPFnEELKfSpWQ9dkr5phM1a1Ey
mUasUfGxiScZF3dUoaQQJdkr+Qzzer1k5IUl0BEYCDBwR+UeA7vqs3hRcDkr
U5SzksnclGOzuhOX4SJNc2YjCJw/yEoM5W0IS5mRXBAZrjm3Eo91r/MZjq7q
f61FxQeZdAbgrPKNLJ9VQk83YqZYHnyV3i7udJhVkqVhTDmNZknZSumnrNjI
lNfbdLHoiL3uPMciEDe5SgLAgztZsVT1MtcgODP4iKypUeUZ/1l4Bqt2LBFp
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

-->

</rfc>
