<?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.17 (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-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.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-00"/>
    <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="2024" month="July" day="04"/>
    <area/>
    <workgroup/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 114?>

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

<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><xref target="fig-cca-attester"/> outlines the structure of the CCA Attester according to
the conceptual model described in <xref section="3.1" sectionFormat="of" target="RFC9334"/>.</t>
      <figure anchor="fig-cca-attester">
        <name>CCA Attester</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="456" viewBox="0 0 456 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,144 L 8,448" fill="none" stroke="black"/>
              <path d="M 24,160 L 24,288" fill="none" stroke="black"/>
              <path d="M 24,320 L 24,432" fill="none" stroke="black"/>
              <path d="M 64,208 L 64,272" fill="none" stroke="black"/>
              <path d="M 64,352 L 64,400" fill="none" stroke="black"/>
              <path d="M 112,272 L 112,352" fill="none" stroke="black"/>
              <path d="M 168,208 L 168,272" fill="none" stroke="black"/>
              <path d="M 176,352 L 176,400" fill="none" stroke="black"/>
              <path d="M 208,208 L 208,272" fill="none" stroke="black"/>
              <path d="M 232,176 L 232,208" fill="none" stroke="black"/>
              <path d="M 256,208 L 256,272" fill="none" stroke="black"/>
              <path d="M 304,208 L 304,272" fill="none" stroke="black"/>
              <path d="M 312,352 L 312,400" fill="none" stroke="black"/>
              <path d="M 320,32 L 320,64" fill="none" stroke="black"/>
              <path d="M 344,176 L 344,208" fill="none" stroke="black"/>
              <path d="M 360,72 L 360,208" fill="none" stroke="black"/>
              <path d="M 360,272 L 360,352" fill="none" stroke="black"/>
              <path d="M 408,32 L 408,64" fill="none" stroke="black"/>
              <path d="M 416,208 L 416,272" fill="none" stroke="black"/>
              <path d="M 416,352 L 416,400" fill="none" stroke="black"/>
              <path d="M 432,160 L 432,288" fill="none" stroke="black"/>
              <path d="M 432,320 L 432,432" fill="none" stroke="black"/>
              <path d="M 448,144 L 448,448" fill="none" stroke="black"/>
              <path d="M 320,32 L 408,32" fill="none" stroke="black"/>
              <path d="M 320,64 L 408,64" fill="none" stroke="black"/>
              <path d="M 8,144 L 352,144" fill="none" stroke="black"/>
              <path d="M 368,144 L 448,144" fill="none" stroke="black"/>
              <path d="M 24,160 L 352,160" fill="none" stroke="black"/>
              <path d="M 368,160 L 432,160" fill="none" stroke="black"/>
              <path d="M 240,176 L 288,176" fill="none" stroke="black"/>
              <path d="M 304,176 L 344,176" fill="none" stroke="black"/>
              <path d="M 64,208 L 168,208" fill="none" stroke="black"/>
              <path d="M 208,208 L 256,208" fill="none" stroke="black"/>
              <path d="M 304,208 L 416,208" fill="none" stroke="black"/>
              <path d="M 168,240 L 200,240" fill="none" stroke="black"/>
              <path d="M 264,240 L 304,240" fill="none" stroke="black"/>
              <path d="M 64,272 L 168,272" fill="none" stroke="black"/>
              <path d="M 208,272 L 256,272" fill="none" stroke="black"/>
              <path d="M 304,272 L 416,272" fill="none" stroke="black"/>
              <path d="M 24,288 L 104,288" fill="none" stroke="black"/>
              <path d="M 120,288 L 352,288" fill="none" stroke="black"/>
              <path d="M 368,288 L 432,288" fill="none" stroke="black"/>
              <path d="M 24,320 L 104,320" fill="none" stroke="black"/>
              <path d="M 120,320 L 352,320" fill="none" stroke="black"/>
              <path d="M 368,320 L 432,320" fill="none" stroke="black"/>
              <path d="M 64,352 L 104,352" fill="none" stroke="black"/>
              <path d="M 120,352 L 176,352" fill="none" stroke="black"/>
              <path d="M 312,352 L 352,352" fill="none" stroke="black"/>
              <path d="M 368,352 L 416,352" fill="none" stroke="black"/>
              <path d="M 64,400 L 176,400" fill="none" stroke="black"/>
              <path d="M 312,400 L 416,400" fill="none" stroke="black"/>
              <path d="M 24,432 L 432,432" fill="none" stroke="black"/>
              <path d="M 8,448 L 448,448" fill="none" stroke="black"/>
              <path d="M 112,480 L 136,480" fill="none" stroke="black"/>
              <path d="M 216,480 L 240,480" fill="none" stroke="black"/>
              <path d="M 328,480 L 344,480" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="368,72 356,66.4 356,77.6" fill="black" transform="rotate(270,360,72)"/>
              <polygon class="arrowhead" points="272,240 260,234.4 260,245.6" fill="black" transform="rotate(180,264,240)"/>
              <polygon class="arrowhead" points="248,480 236,474.4 236,485.6" fill="black" transform="rotate(0,240,480)"/>
              <polygon class="arrowhead" points="248,176 236,170.4 236,181.6" fill="black" transform="rotate(180,240,176)"/>
              <polygon class="arrowhead" points="208,240 196,234.4 196,245.6" fill="black" transform="rotate(0,200,240)"/>
              <polygon class="arrowhead" points="144,480 132,474.4 132,485.6" fill="black" transform="rotate(0,136,480)"/>
              <circle cx="112" cy="352" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="352" cy="480" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="360" cy="352" r="6" class="opendot" fill="white" stroke="black"/>
              <g class="text">
                <text x="364" y="52">Verifier</text>
                <text x="288" y="116">CCA</text>
                <text x="328" y="116">Token</text>
                <text x="72" y="180">Attesting</text>
                <text x="160" y="180">Environment</text>
                <text x="296" y="180">R</text>
                <text x="92" y="228">Main</text>
                <text x="232" y="228">HES</text>
                <text x="336" y="228">Realm</text>
                <text x="116" y="244">Bootloader</text>
                <text x="232" y="244">RoT</text>
                <text x="356" y="244">Management</text>
                <text x="184" y="260">W</text>
                <text x="280" y="260">R</text>
                <text x="344" y="260">Monitor</text>
                <text x="96" y="372">Realm</text>
                <text x="144" y="372">World</text>
                <text x="344" y="372">Realm</text>
                <text x="112" y="388">TCB</text>
                <text x="344" y="388">State</text>
                <text x="60" y="420">Target</text>
                <text x="136" y="420">Environment</text>
                <text x="32" y="468">Legend:</text>
                <text x="164" y="484">read</text>
                <text x="272" y="484">write</text>
                <text x="392" y="484">measure</text>
                <text x="120" y="500">R</text>
                <text x="224" y="500">W</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                                       .----------.
                                       | Verifier |
                                       '----------'
                                            ^
                                            |
                                  CCA Token |
                                            |
.-------------------------------------------|----------.
| .-----------------------------------------|--------. |
| | Attesting Environment   .<------R-----. |        | |
| |                         |             | |        | |
| |    .------------.    .--+--.     .----+-+------. | |
| |    | Main       |    | HES |     | Realm       | | |
| |    | Bootloader +--->| RoT |<----+ Management  | | |
| |    |            | W  |     |  R  | Monitor     | | |
| |    '-----+------'    '-----'     '------+------' | |
| '----------|------------------------------|--------' |
|            |                              |          |
| .----------|------------------------------|--------. |
| |          |                              |        | |
| |    .-----o-------.                .-----o------. | |
| |    | Realm World |                | Realm      | | |
| |    |    TCB      |                | State      | | |
| |    '-------------'                '------------' | |
| | Target Environment                               | |
| '--------------------------------------------------' |
'------------------------------------------------------'
Legend:
             ---> read    ---> write    ---o measure
              R            W
]]></artwork>
        </artset>
      </figure>
      <t>The CCA Attester is a relatively straightforward embodiment of the RATS
Attester with exactly one Attesting Environment and one or more Target Environments.</t>
      <t>The Attesting Environment is responsible for collecting the information to be
represented in CCA claims and to assemble them into Evidence. It is made of three
cooperating components:</t>
      <ul spacing="normal">
        <li>
          <t>The Main Bootloader, executing at boot-time, measures the trusted computing base (TCB) of the Realm World</t>
        </li>
        <li>
          <t>i.e., loaded firmware components and sends them to the HES RoT to be stored isolated.
(CCA Platform Boot State). See <xref target="fig-cca-attester-boot"/>.</t>
        </li>
      </ul>
      <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>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>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.  How the CPAK is derived is implementation-specific.</t>
        </li>
      </ul>
      <t anchor="para-pak-intro">See <xref target="fig-cca-attester-runtime"/>.</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="576" width="360" viewBox="0 0 360 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 24,160 L 24,192" fill="none" stroke="black"/>
              <path d="M 96,64 L 96,560" fill="none" stroke="black"/>
              <path d="M 160,368 L 160,400" fill="none" stroke="black"/>
              <path d="M 192,448 L 192,480" fill="none" stroke="black"/>
              <path d="M 224,64 L 224,560" fill="none" stroke="black"/>
              <path d="M 320,64 L 320,560" fill="none" stroke="black"/>
              <path d="M 8,80 L 352,80" fill="none" stroke="black"/>
              <path d="M 104,176 L 224,176" fill="none" stroke="black"/>
              <path d="M 64,256 L 88,256" fill="none" stroke="black"/>
              <path d="M 64,288 L 88,288" fill="none" stroke="black"/>
              <path d="M 96,304 L 216,304" fill="none" stroke="black"/>
              <path d="M 192,448 L 224,448" fill="none" stroke="black"/>
              <path d="M 192,480 L 216,480" fill="none" stroke="black"/>
              <path d="M 224,544 L 312,544" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="320,544 308,538.4 308,549.6" fill="black" transform="rotate(0,312,544)"/>
              <polygon class="arrowhead" points="224,480 212,474.4 212,485.6" fill="black" transform="rotate(0,216,480)"/>
              <polygon class="arrowhead" points="224,304 212,298.4 212,309.6" fill="black" transform="rotate(0,216,304)"/>
              <polygon class="arrowhead" points="168,400 156,394.4 156,405.6" fill="black" transform="rotate(90,160,400)"/>
              <polygon class="arrowhead" points="112,176 100,170.4 100,181.6" fill="black" transform="rotate(180,104,176)"/>
              <polygon class="arrowhead" points="96,288 84,282.4 84,293.6" fill="black" transform="rotate(0,88,288)"/>
              <polygon class="arrowhead" points="72,256 60,250.4 60,261.6" fill="black" transform="rotate(180,64,256)"/>
              <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(90,24,192)"/>
              <g class="text">
                <text x="96" y="36">HES</text>
                <text x="216" y="36">Realm</text>
                <text x="96" y="52">RoT</text>
                <text x="224" y="52">Manager</text>
                <text x="324" y="52">Verifier</text>
                <text x="44" y="116">Platform</text>
                <text x="28" y="132">Boot</text>
                <text x="32" y="148">State</text>
                <text x="124" y="148">Req.</text>
                <text x="180" y="148">Platform</text>
                <text x="128" y="164">Token</text>
                <text x="180" y="164">(#RAK)</text>
                <text x="36" y="212">Platform</text>
                <text x="84" y="212">&lt;-</text>
                <text x="40" y="228">Token</text>
                <text x="84" y="228">-&gt;</text>
                <text x="44" y="276">sign</text>
                <text x="140" y="292">Plat</text>
                <text x="184" y="292">Token</text>
                <text x="160" y="340">Realm</text>
                <text x="160" y="356">State</text>
                <text x="160" y="420">Realm</text>
                <text x="160" y="436">Token</text>
                <text x="164" y="468">sign</text>
                <text x="248" y="532">CCA</text>
                <text x="288" 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    |               |           |
       --->|   Plat Token  |           |
           +-------------->|           |
           |               |           |
           |     Realm     |           |
           |     State     |           |
           |       |       |           |
           |       |       |           |
           |       v       |           |
           |     Realm     |           |
           |     Token     |           |
           |           .---+           |
           |      sign |   |           |
           |           '-->|           |
           |               |           |
           |               |           |
           |               | CCA Token |
           |               +---------->|
           |               |           |
]]></artwork>
        </artset>
      </figure>
      <t>The Target Environment consists of two elements:</t>
      <ul spacing="normal">
        <li>
          <t>Realm World TCB - hardware, firmware and configuration contributions.</t>
        </li>
        <li>
          <t>Individual state of a Realm - measurements of the initial state of the Realm
and dynamic measurements provided by Realm guest code.</t>
        </li>
      </ul>
      <t>A reference implementation of the CCA Attester is provided by <xref target="TF-RMM"/>.</t>
    </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[
cca-token = #6.399(cca-token-collection) ; CMW (draft-ietf-rats-msg-wrap) Collection

cca-platform-token = bstr .cbor COSE_Sign1_Tagged
cca-realm-delegated-token = bstr .cbor COSE_Sign1_Tagged

cca-token-collection = {
    44234 => cca-platform-token          ; 44234 = 0xACCA
    44241 => cca-realm-delegated-token
}

; EAT standard definitions
COSE_Sign1_Tagged = #6.18(COSE_Sign1)

; Deliberately shortcut these definitions until EAT is finalised and able to
; pull in the full set of definitions
COSE_Sign1 = "COSE-Sign1 placeholder"
]]></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>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-instance-id-label = 256 ; EAT ueid

; TODO: require that the first byte of arm-platform-instance-id-type is 0x01
; EAT UEIDs need to be 7 - 33 bytes
arm-platform-instance-id-type = bytes .size 33

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#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[
cca-platform-profile-label = 265 ; EAT profile

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

cca-platform-profile = (
    cca-platform-profile-label => cca-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[
arm-platform-verification-service-label = 2400 ; PSA verification service
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>
        </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 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>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 measurements taken of Realm 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.... 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.</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>
      <artwork><![CDATA[
TODO...include cddl/cca-attestation.cddl
]]></artwork>
    </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 an 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... perhaps lose this justification section as...</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... ...to here</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...lose following as IoT centric?? ::
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 <strong>TODO</strong>  ref-to-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.
TODO... perhaps redact this section until a cca-endorsements draft is available?</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 pubblication.</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>TODO... questionable ability to execute on this as anyone can call RSI??
A PSA Attester MUST NOT provide Evidence to an untrusted
challenger, as it may allow attackers to interpose and trick the Verifier into
believing the attacker is a legitimate Attester.
This is especially relevant to protocols that use PSA attestation tokens to authenticate the attester to a relying party.</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... 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#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#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#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>
      <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="X509">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="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="25" month="June" 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-28"/>
        </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="2" month="April" 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-07"/>
        </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">
         </author>
            <date day="1" month="July" year="2024"/>
            <abstract>
              <t>   This document defines the RATS conceptual message wrapper (CMW)
   format, a type of encapsulation format that can be used for any RATS
   messages, such as Evidence, Attestation Results, Endorsements, and
   Reference Values.  Additionally, the document describes a collection
   type that enables the aggregation of one or more CMWs into a single
   message.

   This document also defines corresponding CBOR tag, JSON Web Tokens
   (JWT) and CBOR Web Tokens (CWT) claims, as well as an X.509
   extension.  These allow embedding the wrapped conceptual messages
   into CBOR-based protocols, web APIs, and PKIX protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-06"/>
        </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="http://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® 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="23" month="April" 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-01"/>
        </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="TLS12-IoT">
          <front>
            <title>Transport Layer Security (TLS) / Datagram Transport Layer Security (DTLS) Profiles for the Internet of Things</title>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>A common design pattern in Internet of Things (IoT) deployments is the use of a constrained device that collects data via sensors or controls actuators for use in home automation, industrial control systems, smart cities, and other IoT deployments.</t>
              <t>This document defines a Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) 1.2 profile that offers communications security for this data exchange thereby preventing eavesdropping, tampering, and message forgery. The lack of communication security is a common vulnerability in IoT products that can easily be solved by using these well-researched and widely deployed Internet security protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7925"/>
          <seriesInfo name="DOI" value="10.17487/RFC7925"/>
        </reference>
        <reference anchor="TLS13-IoT">
          <front>
            <title>TLS/DTLS 1.3 Profiles for the Internet of Things</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="3" month="March" year="2024"/>
            <abstract>
              <t>   This document is a companion to RFC 7925 and defines TLS/DTLS 1.3
   profiles for Internet of Things devices.  It also updates RFC 7925
   with regards to the X.509 certificate profile.

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/thomas-fossati/draft-tls13-iot.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-uta-tls13-iot-profile-09"/>
        </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>arm</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether to engage in secure interactions with it.  Evidence about
   trustworthiness can be rather complex and it is deemed unrealistic
   that every Relying Party is capable of the appraisal of Evidence.
   Therefore that burden is typically offloaded to a Verifier.  In order
   to conduct Evidence appraisal, a Verifier requires not only fresh
   Evidence from an Attester, but also trusted Endorsements and
   Reference Values from Endorsers and Reference Value Providers, such
   as manufacturers, distributors, or device owners.  This document
   specifies the information elements for representing Endorsements and
   Reference Values in CBOR format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-04"/>
        </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="4" month="March" year="2024"/>
            <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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-06"/>
        </reference>
      </references>
    </references>
    <?line 1414?>

<section anchor="examples">
      <name>Examples</name>
      <t>The following examples show CCA attestation tokens for an hypothetical system
comprising a single measured software component.
The attesting device is in a lifecycle state (<xref target="sec-security-lifecycle"/>) of
SECURED.</t>
      <section anchor="ex-sign1">
        <name>COSE Sign1 Token</name>
        <artwork><![CDATA[
TODO...include cddl/example/sign1-claims.diag
]]></artwork>
        <t>The JWK representation of the PAK used for creating the COSE Sign1 signature
over the PSA token is:</t>
        <artwork><![CDATA[
TODO...include cddl/example/tfm-es-iak.json
]]></artwork>
        <t>The resulting COSE object is:</t>
        <artwork><![CDATA[
TODO...include cddl/example/psa-sign1.diag
]]></artwork>
        <t>which has the following base16 encoding:</t>
        <artwork><![CDATA[
TODO...include cddl/example/psa-sign1.hex
]]></artwork>
      </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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
MBcVQ3AwB346iysUgjnuxTOtlZJhaBtrbpxyPpYigxas4DrNgaJiMh91CpHW
gAOaINd35gSL1Qbb7KV8+kRECVPaIdxeLmAQiH83rQWa4SHsbVy2nufhb+Xm
GfX3ngvsf2280fZSWUumc1TLVWp3Csu40IqS9ro93dYLKJjK31Ook7NMDYTA
Vgl6bk1kPxntGVFZxmSL8DT+R178x192nux//R9/BVGrdsCW9zZWxEl1DzC/
BTt/tb9NfU9O370+Pj1+c3GAyVj66PjlyZvjIxsy0DI+N0Zl+QD0sjmr7RL4
jB4U2zLilsgCDlClhPs3mJNBpXZNjXYHA8zK2O9OMfAjs6ZWmIg9qiOOqafh
KeRtchMvEM6U4MrZnSg/UJYLigkFZy8PkuZZ1BcAa47wkyKvIh6cl0Ix+pL+
YCf1ZsM0w5hc95I3YydvT6nqU3qjmKnNpG9xUFySNzBlAtFClF3IvJxTagA2
DYNg5SrcbyBe5VMpIGCOQn0ZFaYrDH5JIHYgAP5WSmboAw7348yiC+Q4geDx
WpBn3Um9KujdTLSy2et8+HGU32QrGl63vl8agd7eOntF7SV456fiB/bub70Z
4LFi863BanPddq08cFoGNrT8jqDn5TH/114QxlrdWmurR0rfnrkrosJdyJd+
LsQIfx7WhrITN7ZzvwlmG/d863d7k2f1fv44f6P/e0ukbv7f/HN2CtiJ998f
gYiDfEzdvL/Nz3HmjdKOge/aW+2Dn9LtutGy9nlXN+88tEtxsB8/dJjW6Hhb
iy0szNe3AovuGelPD1S2o/ms+9CDZ37fpSl0gqbrJzxVE637oR7+ap4jGl+Q
ss6hMQ+9WKfw/W9t5qdRiZ/wbZsY4k/76gab4anUuFR4rlaA//1a4EdTbPEj
Piwrc0IhKXSli7pH96/lqczrUpNSTvUF+urz5yoeyOjRNJ7d3bl0UbZdzGZA
UEtoX90kSbc8ZZ2tlDpHdvWQlu3xc6ddPxHt2n6pujrNs48ZrN5I9duftuGn
38d/Ly+7OknQ/SJC/zKyfdd9R7rvLOvuf1xwLTnLadxQuzLU7pKhRHp0nR5L
p8dLOqHM1FoDSVZunD0ZZ2/JOL4Yt2q8JzLekyXj1cUw1/ep9H2Kfbs6c+u2
kaPjqB8ta9lxvsv7rD7Upf1rJ7m05arjW9p53TNbOkjgoLrOJWx5al3a513f
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

-->

</rfc>
