<?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.24 (Ruby 3.2.2) -->
<?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-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.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-01"/>
    <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="March" day="03"/>
    <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 WWrapper (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.399(cca-token-collection)

cca-token-collection = {
    44234 => bytes .cbor COSE_Sign1<arm-platform-claims> ; 44234=0xACCA
    44241 => 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 anchor="measurement-description-1">
            <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.399(cca-token-collection)
cca-token-collection = {
  44234 => bytes .cbor COSE_Sign1<arm-platform-claims>,
  44241 => 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-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)
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>Intel</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="28" month="February" year="2025"/>
            <abstract>
              <t>   This document defines a conceptual message wrapper (CMW) format - an
   encapsulation method applicable to any RATS conceptual message, such
   as Evidence, Attestation Results, Endorsements, and Reference Values.
   It also describes a collection type that aggregates one or more CMWs
   into a single message.

   In addition, this document specifies a corresponding CBOR tag, JSON
   Web Tokens (JWT) and CBOR Web Tokens (CWT) claims, and an X.509
   extension.  These mechanisms enable the embedding of enveloped
   conceptual messages into CBOR-based protocols, web APIs, and PKIX
   protocols.  Moreover, a Media Type and a CoAP Content-Format are
   defined for transporting CMWs over HTTP, MIME, CoAP, and other
   Internet protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-12"/>
        </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="18" month="October" year="2024"/>
            <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-06"/>
        </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="6" month="February" 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-08"/>
        </reference>
        <reference anchor="CCA-ENDORSEMENTS">
          <front>
            <title>Arm's Confidential Computing Architecture (Arm CCA) Attestation Verifier 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="3" month="March" year="2025"/>
            <abstract>
              <t>   Arm Confidential Computing Architecture (CCA) Endorsements comprise
   of reference values and cryptographic key material that a Verifier
   needs in order to appraise Attestation Evidence produced by an Arm
   CCA system.

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-01"/>
        </reference>
      </references>
    </references>
    <?line 1583?>

<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] /
    ],
    44241: "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 ================

399({
  44234: << 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: << 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'
      ]
    } >>,
    h'\
580B1DEA32D30AC6884C86B39CBE0FCB03BD00DF5103F9BAB01386A46A3BA8143E27\
ED6D4EB0D0A2724ABDF9640C09462FACE6DF186909DFA6EB131E3A7918276077ACDA\
            B8A8BDECA6B0EAAFAB66E1439C1371F4FB1D6AAC047481B5DC75DD46'
  ]) >>
})
]]></artwork>
          <t>which has the following base16 encoding:</t>
          <artwork><![CDATA[
d9018fa219acca5905eed28444a1013822a0590581a91901097823746167
3a61726d2e636f6d2c323032333a6363615f706c6174666f726d23312e30
2e300a58200d22e08a98469058486318283489bdb36f09dbefeb1864df43
3fa6e54ea2d71119095c58207f454c460201010000000000000000000300
3e0001000000505800000000000019010058210107060504030201000f0e
0d0c0b0a090817161514131211101f1e1d1c1b1a191819096144cfcfcfcf
19095b193003190962677368612d323536190960783a68747470733a2f2f
7665726169736f6e2e6578616d706c652f2e77656c6c2d6b6e6f776e2f76
65726169736f6e2f766572696669636174696f6e19095f8da40169525345
5f424c315f320558205378796307535df3ec8d8b15a2e2dc5641419c3d30
60cfe32238c0fa973f7aa30258209a271f2a916b0b6ee6cecb2426f0b320
6ef074578be55d9bc94f6f3fe3ab86aa06677368612d323536a401675253
455f424c320558205378796307535df3ec8d8b15a2e2dc5641419c3d3060
cfe32238c0fa973f7aa302582053c234e5e8472b6ac51c1ae1cab3fe06fa
d053beb8ebfd8977b010655bfdd3c306677368612d323536a40165525345
5f530558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe322
38c0fa973f7aa30258201121cfccd5913f0a63fec40a6ffd44ea64f9dc13
5c66634ba001d10bcf4302a206677368612d323536a4016641505f424c31
0558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0
fa973f7aa30258201571b5ec78bd68512bf7830bb6a2a44b2047c7df57bc
e79eb8a1c0e5bea0a50106677368612d323536a4016641505f424c320558
205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa97
3f7aa302582010159baf262b43a92d95db59dae1f72c645127301661e0a3
ce4e38b295a97c5806677368612d323536a401675343505f424c31055820
5378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f
7aa302582010122e856b3fcd49f063636317476149cb730a1aa1cfaad818
552b72f56d6f6806677368612d323536a401675343505f424c32055820f1
4b4987904bcb5814e4459a057ed4d20f58a633152288a761214dcd28780b
56025820aa67a169b0bba217aa0aa88a65346920c84c42447c36ba5f7ea6
5f422c1fe5d806677368612d323536a4016741505f424c33310558205378
796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7aa3
0258202e6d31a5983a91251bfae5aefa1c0a19d8ba3cf601d0e8a706b4cf
a9661a6b8a06677368612d323536a40163524d4d0558205378796307535d
f3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7aa3025820a1fb
50e6c86fae1679ef3351296fd6713411a08cf8dd1790a4fd05fae8688164
06677368612d323536a4016948575f434f4e464947055820537879630753
5df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7aa30258201a
252402972f6057fa53cc172b52b9ffca698e18311facd0f3b06ecaaef79e
1706677368612d323536a4016946575f434f4e4649470558205378796307
535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7aa3025820
9a92adbc0cee38ef658c71ce1b1bf8c65668f166bfb213644c895ccb1ad0
7a2506677368612d323536a4016c54425f46575f434f4e46494705582053
78796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa973f7a
a3025820238903180cc104ec2c5d8b3f20c5bc61b389ec0a967df8cc208c
dc7cd454174f06677368612d323536a4016d534f435f46575f434f4e4649
470558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238
c0fa973f7aa3025820e6c21e8d260fe71882debdb339d2402a2ca7648529
bc2303f48649bce038001706677368612d323536586031d04d52ccde952c
1e32cba181885a40b8cc38e0528c1e89589807642aa5e3f2bc37f9537450
6bff4d2e4be7063c4d72419270c722e8d4d93ee8b6c9face3b43c9761a49
941ab6f38ffdff496ad463b4cbfa11d83e23e31f7f62329de30c1cc819ac
d159024ed28444a1013822a05901e1a8190109781c7461673a61726d2e63
6f6d2c323032333a7265616c6d23312e302e300a58406e86d6d97cc713bc
6dd43dbce491a6b40311c027a8bf85a39da63e9ce44c132a8a119d296fae
6a6999e9bf3e4471b0ce01245d889424c31e89793b3b1d6b150419accc67
7368612d32353619acd0677368612d32353619accb584054686520717569
636b2062726f776e20666f78206a756d7073206f766572203133206c617a
7920646f67732e54686520717569636b2062726f776e20666f782019accd
586ba40102200221583076f988091be585ed41801aecfab858548c63057e
16b0e676120bbd0d2f9c29e056c5d41a0130eb9c21517899dc23146b2258
3028e1b062bd3ea4b315fd219f1cbb528cb6e74ca49be16773734f61a1ca
61031b2bbf3d918f2f94ffc4228e50919544ae19acce5820311314ab7362
0350cf758834ae5c65d9e8c2dc7febe6e7d9654bbe864e300d4919accf84
582024d5b0a296cc05cbd8068c5067c5bd473b770dda6ae082fe3ba30abe
3f9a6ab15820788fc090bfc6b8ed903152ba8414e73daf5b8c7bb1e79ad5
02ab0699b659ed165820dac46a58415dc3a00d7a741852008e9cae64f52d
03b9f76d76f4b3644fefc416582032c6afc627e55585c03155359f331a0e
225f6840db947dd96efab81be26719395860580b1dea32d30ac6884c86b3
9cbe0fcb03bd00df5103f9bab01386a46a3ba8143e27ed6d4eb0d0a2724a
bdf9640c09462face6df186909dfa6eb131e3a7918276077acdab8a8bdec
a6b0eaafab66e1439c1371f4fb1d6aac047481b5dc75dd46
]]></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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
AkzYRylezeCu9jRfZx/S26yAr9/WADMk1Pz5G/pL8J+QfC2QGJ9OzJsCXOD0
uwPr4N54l5+fGCfmuzwnO5IcetZCS2AVNMGEhSm9v+OqUwj+cMSa5TIqmFQN
NCCzGNzvO1P4/JLrpWVmdkr5u8rV2ODRa6PD2gOZg+EOniIG3krjkeZ6pxRa
FXqS6dfwGIUrCdDr1TJPEFVg65nhCkUxmrjCfMzPQdNlaNulBnussJC3+fUi
ISsRFW++QNPUkNEOcCHYyzFZ2RcZ9KWu0jxdphGqEGEDL7J5Gt/FC2FVGKVl
cmyy+QyqBJGp05ZUXuRRpqUu0yZ9bihLHD9OFiJ8n+PcUqvgbFKdn4iFiphk
ByzZDwLfnQm6UzE8PONx7szDHyZnR2bHKNIUH9KoQ69rd30cXHgaQFKkFDo/
o6lOtEQ6gv48Ln2FSMJ3J2wrnPDV5V2BWkqqT3ONlMpzlD2BQ4Xxjt/Xp4KT
/ulUxgYKtVC64UxeBH7qjO1ncigK5khhOi8oHiF9pfX1ipRtReGxGxKTqRAj
nKiv1neyEX/G4FbAA+REgPiE8YCIrtGegXU8ZK8V5Gq2BBuLpJEkqYmaoC77
Ds8nkyPQFYUGO4gbmLZ8BIJpAf7DQfdILAMuQAl3K96OhdVDjmeNOp7mn/2A
/plhvPm5g78hCA337ZglcCGNd0UMSb6MAI3SRBNUC8RAG3DoOgJzHxti+XAl
tSUphFOxubsSxg6uKYzHRjx+WPeYyOy6ln/eGSWPITkI8HmZxXypC/MrwpRf
r9HL4ZfkLq6YLEQTDGgU8WWaXC9kkIvNbEl2xquahj8W3oaMAMH8SaSWkRqW
nmDKgIuQmmN8Wdox5mtgmGv89OFoPH59JLV+YFvEmt/QCis9cwpm4oLUt3AC
Nre5+SFDdwXdO63pCdjhoEBZ/0Kn9CIiCxK6ZmvdAEP2WhPbCtNNyBdlnHz6
xCMpN0GNhu4nSlAULSDfUTt984055u9++kZ0A3B/HP94Yv7yqiiuU/MbO/j1
sCVcS1umtGPaAcJ+uW23+mWGoxQv7eCIvyaBwQ8qwNjCqayKlKWqUYlV5OrF
4hoN2o2c8zy7oI+q5h0Rb1jjupzvHCwyDxbRXYrCQ3Y6MA8/fZIy2O06CJGy
fY7YpyIPA3UurCn1L05KhYuoXyPjiKjiA85zxgy0ya94qHbjrGu8kl6aYuxS
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

-->

</rfc>
