<?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.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-song-lake-ra-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="RA-EDHOC">Remote attestation over EDHOC</title>
    <seriesInfo name="Internet-Draft" value="draft-song-lake-ra-01"/>
    <author initials="Y." surname="Song" fullname="Yuxuan Song">
      <organization>Inria</organization>
      <address>
        <email>yuxuan.song@inria.fr</email>
      </address>
    </author>
    <date year="2024" month="July" day="05"/>
    <area>Security</area>
    <workgroup>Lightweight Authenticated Key Exchange</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 47?>

<t>This document specifies how to perform remote attestation as part of the lightweight authenticated Diffie-Hellman key exchange protocol EDHOC (Ephemeral Diffie-Hellman Over COSE), based on the Remote ATtestation procedureS (RATS) architecture.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ysong02.github.io/RemoteAttestation_overEDHOC/draft-song-lake-ra.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-song-lake-ra/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Lightweight Authenticated Key Exchange Working Group mailing list (<eref target="mailto:lake@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/lake/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/lake/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ysong02/RemoteAttestation_overEDHOC"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <!--Discuss remote attestation and mention some use cases.-->
<t>Remote attestation is a security process which verifies and confirms the integrity and trustworthiness of a remote device or system in the network.
This process helps establish a level of trust in the remote system before allowing the device to e.g. join the network or get the access to some sensitive information and resources.
The use cases that require remote attestation include secure boot and firmware management, cloud computing, network access control, etc.</t>
      <!--Summarize RATS architecture {{RFC9334}} and main roles.-->
<t>The IETF working group Remote ATtestation procedureS (RATS) has defined an architecture <xref target="RFC9334"/> for remote attestation.
The three main roles in the RATS architecture are the Attester, the Verifier and the Relying Party.
The Attester generates the evidence concerning its identity and integrity, which must be appraised by the Verifier for its validity.
Then, the Verifier produces the attestation result, which is consequently used by the Relying Party for the purposes of reliably applying application-specific actions.</t>
      <!--Discuss the two RATS models and say that this specification supports the background check model.-->
<t>One type of interaction model defined in the RATS architecture is called the background-check model.
It resembles the procedure of how employers perform background checks to determine the prospective employee's trustworthiness, by contacting the respective organization that issues a report.
In this case, the employer acts as the Relying Party, the employee acts as the Attester and the organization acts as the Verifier.
The Attester conveys evidence directly to the Relying Party and the Relying Party forwards the evidence to the Verifier for appraisal.
Once the attestation result is computed by the Verifier, it is sent back to the Relying Party to decide what action to take based on the attestation result.
Another model is called passport model, where the Attester communicates directly with the Verifier.
The Attester presents the evidence to the Verifier and gets an attestation result from the Verifier.
THen the Attester conveys the attestation result to the Relying Party.
This specification employs both the RATS background-check model and the passport model.</t>
      <!--Discuss EAT-->
<t>One way of conveying attestation evidence/ attestation result is the Entity Attestation Token (EAT) <xref target="I-D.ietf-rats-eat"/>.
It provides an attested claims set which can be used to determine a level of trustworthiness.
This specification relies on the EAT as the format for attestation evidence and the attestation result.</t>
      <!--Summarize EDHOC {{RFC9528}}. Mention EAD fields of EDHOC.-->
<t>Ephemeral Diffie-Hellman over COSE (EDHOC) <xref target="RFC9528"/> is a lightweight authenticated key exchange protocol for highly constrained networks.
In EDHOC, the two parties involved in the key exchange are referred to as the Initiator (I) and the Responder (R).
EDHOC supports the transport of external authorization data, through the dedicated EAD fields.
This specification delivers EAT through EDHOC.
Specifically, EAT is transported as an EAD item.
There are also some new EAD items defined in <xref target="ead-items"/>.</t>
      <!--Discuss implementation aspects such as the internal attestation service running on the Attester.
Root of trust. Separation between secure and non-secure worlds.-->
<t>For the generation of evidence, the Attester incorporates an internal attestation service, including a specific trusted element known as the "root of trust".
Root of trust serves as the starting point for establishing and validating the trustworthiness appraisals of other components on the system.
The measurements signed by the attestation service are referred to as the Evidence.
The signing is requested through an attestation API.
How the components are separated between the secure and non-secure worlds on a device is out of scope of this specification.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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.</t>
      <?line -18?>

<t>The reader is assumed to be familiar with the terms and concepts defined in EDHOC <xref target="RFC9528"/> and RATS architecture<xref target="RFC9334"/>.</t>
    </section>
    <section anchor="problem-description">
      <name>Problem Description</name>
      <t>This specification describes how to perform remote attestation over the EDHOC protocol according to the RATS architecture.
Remote attestation protocol elements are carried within EDHOC's External Authorization Data (EAD) fields.
More specifically, this specification supports both the RATS background-check model and passport model.
It considers three cases:
1.Forward remote attestation with the EDHOC Initiator as an Attester and the EDHOC Responder as a Relying Party.
2.Reverse attestation over reverse EDHOC message flow (see <xref section="A.2.2" sectionFormat="of" target="RFC9528"/>), in both background-check model and passport model.
3.Mutual attestation, one using background-check -- background-check model, and the other one using background-check -- passport model.
The specification describes how the Attester EDHOC Initiator and EDHOC Responder complete the EDHOC handshake complemented with remote attestation protocol elements in the above cases.</t>
    </section>
    <section anchor="assumptions">
      <name>Assumptions</name>
      <t>The details of the protocol between Relying Party and Verifier in background-check model, and the protocol between the Attester and the Verifier in passport model are out of the scope.
It could be an EDHOC protocol, TLS protocol or other security protocols.</t>
      <t>In background-check model, one assumption is that the Verifier outputs a fresh nonce and that same nonce is passed on to the EDHOC session.
That is where the link between the two protocols comes in.
The remainder, such as the evidence type selection is just the negotiation.
The Verifier is supposed to know how to verify more than one format of the evidence type.
Therefore, the Verifier <bcp14>MUST</bcp14> send back at least one format to the Relying Party.
We assume in this specification, the Relying Party also has knowledge about the Attester, so it can narrow down the type selection and send to the Attester only one format of evidence type.
The Attester should have an explicit relation with the Verifier, such as from device manufacuture, so that the Verifier can evaluate the Evidence that is produced by the Attester.</t>
      <t>In passport model, the credential of the Verifier is assumed to be stored at the Attester and the Relying Party, which means the Verifier is trusted by the Attester and the Relying Party to obtain the attestation result.</t>
    </section>
    <section anchor="protocol">
      <name>The Protocol</name>
      <section anchor="forward">
        <name>Forward remote attestation</name>
        <t>A common use case for forward remote attestation is to attest an IoT device to a network server.
For example, doing remote attestation to verify that the latest version of firmware is running on the IoT device before the network server allows it to join the network (see <xref target="firmware"/>).</t>
        <section anchor="forward-background">
          <name>Background-check model</name>
          <t>An overview of doing forward remote attestation over EDHOC is established in <xref target="fig-forward-attestation"/>.
EDHOC session is between the Attester and the Relying Party in background-check model.
EDHOC Initiator plays the role of the RATS Attester.
EDHOC Responder plays the role of the RATS Relying Party.
The Attester and the Relying Party communicate by transporting messages within EDHOC's External Authorization Data (EAD) fields.
An external entity, out of scope of this specification, plays the role of the RATS Verifier.</t>
          <t>The EAD items for background-check model are defined in <xref target="ead-items"/>.
Remote attestation starts with an Attestation proposal in EAD_1 by providing the supported evidence types from the Attester.
The Relying Party generates an Attestation request in EAD_2 based on the selected evidence type and the nonce from the Verifier, then sends it to the Attester.
The Attester calls its attestation service to generate the evidence according to the Attestation request.
The Evidence is sent as an EAT in EAD_3 from the Attester to the Relying Party.
The Relying Party treats the Evidence as an opaque data and sends it to the Verifier.
The Verifier consumes the Evidence and generates an attestation result, which is then sent back to the Relying Party.</t>
          <figure anchor="fig-forward-attestation">
            <name>Overview of forward remote attestation. EDHOC is used between A and RP.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="536" viewBox="0 0 536 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,304" fill="none" stroke="black"/>
                  <path d="M 96,32 L 96,304" fill="none" stroke="black"/>
                  <path d="M 216,32 L 216,304" fill="none" stroke="black"/>
                  <path d="M 312,32 L 312,304" fill="none" stroke="black"/>
                  <path d="M 440,80 L 440,304" fill="none" stroke="black"/>
                  <path d="M 528,80 L 528,304" fill="none" stroke="black"/>
                  <path d="M 8,32 L 96,32" fill="none" stroke="black"/>
                  <path d="M 216,32 L 312,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 96,80" fill="none" stroke="black"/>
                  <path d="M 216,80 L 312,80" fill="none" stroke="black"/>
                  <path d="M 440,80 L 528,80" fill="none" stroke="black"/>
                  <path d="M 96,112 L 208,112" fill="none" stroke="black"/>
                  <path d="M 312,128 L 432,128" fill="none" stroke="black"/>
                  <path d="M 320,144 L 440,144" fill="none" stroke="black"/>
                  <path d="M 104,160 L 216,160" fill="none" stroke="black"/>
                  <path d="M 96,240 L 208,240" fill="none" stroke="black"/>
                  <path d="M 312,240 L 432,240" fill="none" stroke="black"/>
                  <path d="M 320,256 L 440,256" fill="none" stroke="black"/>
                  <path d="M 8,304 L 96,304" fill="none" stroke="black"/>
                  <path d="M 216,304 L 312,304" fill="none" stroke="black"/>
                  <path d="M 440,304 L 528,304" fill="none" stroke="black"/>
                  <path d="M 96,320 L 216,320" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="440,240 428,234.4 428,245.6" fill="black" transform="rotate(0,432,240)"/>
                  <polygon class="arrowhead" points="440,128 428,122.4 428,133.6" fill="black" transform="rotate(0,432,128)"/>
                  <polygon class="arrowhead" points="328,256 316,250.4 316,261.6" fill="black" transform="rotate(180,320,256)"/>
                  <polygon class="arrowhead" points="328,144 316,138.4 316,149.6" fill="black" transform="rotate(180,320,144)"/>
                  <polygon class="arrowhead" points="224,320 212,314.4 212,325.6" fill="black" transform="rotate(0,216,320)"/>
                  <polygon class="arrowhead" points="216,240 204,234.4 204,245.6" fill="black" transform="rotate(0,208,240)"/>
                  <polygon class="arrowhead" points="216,112 204,106.4 204,117.6" fill="black" transform="rotate(0,208,112)"/>
                  <polygon class="arrowhead" points="112,160 100,154.4 100,165.6" fill="black" transform="rotate(180,104,160)"/>
                  <polygon class="arrowhead" points="104,320 92,314.4 92,325.6" fill="black" transform="rotate(180,96,320)"/>
                  <g class="text">
                    <text x="48" y="52">EDHOC</text>
                    <text x="264" y="52">EDHOC</text>
                    <text x="56" y="68">Initiator</text>
                    <text x="264" y="68">Responder</text>
                    <text x="152" y="84">Attestation</text>
                    <text x="140" y="100">proposal</text>
                    <text x="372" y="100">Provided</text>
                    <text x="52" y="116">Attester</text>
                    <text x="264" y="116">Relying</text>
                    <text x="376" y="116">EvidenceTypes</text>
                    <text x="484" y="116">Verifier</text>
                    <text x="264" y="148">Party</text>
                    <text x="372" y="164">Selected</text>
                    <text x="152" y="180">Attestation</text>
                    <text x="376" y="180">EvidenceType(s)</text>
                    <text x="136" y="196">request</text>
                    <text x="48" y="212">(A)</text>
                    <text x="260" y="212">(RP)</text>
                    <text x="480" y="212">(V)</text>
                    <text x="140" y="228">Evidence</text>
                    <text x="372" y="228">Evidence</text>
                    <text x="376" y="276">Attestation</text>
                    <text x="356" y="292">result</text>
                    <text x="120" y="340">EDHOC</text>
                    <text x="176" y="340">session</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+----------+              +-----------+
|  EDHOC   |              |   EDHOC   |
| Initiator|              | Responder |
+----------+ Attestation  +-----------+               +----------+
|          | proposal     |           |   Provided    |          |
| Attester +------------->|  Relying  | EvidenceTypes | Verifier |
|          |              |           +-------------->|          |
|          |              |   Party   |<--------------+          |
|          |<-------------+           |   Selected    |          |
|          | Attestation  |           |EvidenceType(s)|          |
|          | request      |           |               |          |
|   (A)    |              |   (RP)    |               |   (V)    |
|          | Evidence     |           |   Evidence    |          |
|          +------------->|           +-------------->|          |
|          |              |           |<--------------+          |
|          |              |           |  Attestation  |          |
|          |              |           |  result       |          |
+----------+              +-----------+               +----------+
           <-------------->
            EDHOC session
]]></artwork>
            </artset>
          </figure>
        </section>
      </section>
      <section anchor="reverse">
        <name>Reverse attestation</name>
        <t>One use case for reverse attestation is when a network server needs to attest itself to a client (e.g., an IoT device).
For example, the client needs to send some sensitive data to the network server, which requires the network server to be attested first.
In reverse attestation, the network server acts as an Attester and the client acts as a Relying Party.</t>
        <section anchor="reverse-background">
          <name>Background-check model</name>
          <t>In this section, the reverse attestation in background-check model is performed over reverse EDHOC message flow (see <xref section="A.2.2" sectionFormat="of" target="RFC9528"/>).
EDHOC session is between the Relying Party and the Attester.
An overview of the message flow is shown in <xref target="fig-reverse-attestation-background"/>.
The Relying Party triggers a new EDHOC session with a Uri-Path: "/.well-known/edhoc".
EDHOC message_1 is then sent from the Attester with an Attestation proposal carried in EAD_1.
The Attestation request is then carried in EAD_2 and the Evidence is carried in EAD_3.</t>
          <figure anchor="fig-reverse-attestation-background">
            <name>Overview of reverse attestation in background-check model. EDHOC is used between RP and A.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="552" viewBox="0 0 552 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,80 L 8,352" fill="none" stroke="black"/>
                  <path d="M 96,80 L 96,352" fill="none" stroke="black"/>
                  <path d="M 224,32 L 224,352" fill="none" stroke="black"/>
                  <path d="M 320,32 L 320,352" fill="none" stroke="black"/>
                  <path d="M 448,32 L 448,352" fill="none" stroke="black"/>
                  <path d="M 544,32 L 544,352" fill="none" stroke="black"/>
                  <path d="M 224,32 L 320,32" fill="none" stroke="black"/>
                  <path d="M 448,32 L 544,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 96,80" fill="none" stroke="black"/>
                  <path d="M 224,80 L 320,80" fill="none" stroke="black"/>
                  <path d="M 448,80 L 544,80" fill="none" stroke="black"/>
                  <path d="M 320,112 L 440,112" fill="none" stroke="black"/>
                  <path d="M 328,160 L 448,160" fill="none" stroke="black"/>
                  <path d="M 104,176 L 224,176" fill="none" stroke="black"/>
                  <path d="M 96,192 L 216,192" fill="none" stroke="black"/>
                  <path d="M 320,208 L 440,208" fill="none" stroke="black"/>
                  <path d="M 104,288 L 224,288" fill="none" stroke="black"/>
                  <path d="M 328,288 L 448,288" fill="none" stroke="black"/>
                  <path d="M 96,304 L 216,304" fill="none" stroke="black"/>
                  <path d="M 8,352 L 96,352" fill="none" stroke="black"/>
                  <path d="M 224,352 L 320,352" fill="none" stroke="black"/>
                  <path d="M 448,352 L 544,352" fill="none" stroke="black"/>
                  <path d="M 320,368 L 448,368" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="456,368 444,362.4 444,373.6" fill="black" transform="rotate(0,448,368)"/>
                  <polygon class="arrowhead" points="448,208 436,202.4 436,213.6" fill="black" transform="rotate(0,440,208)"/>
                  <polygon class="arrowhead" points="448,112 436,106.4 436,117.6" fill="black" transform="rotate(0,440,112)"/>
                  <polygon class="arrowhead" points="336,288 324,282.4 324,293.6" fill="black" transform="rotate(180,328,288)"/>
                  <polygon class="arrowhead" points="336,160 324,154.4 324,165.6" fill="black" transform="rotate(180,328,160)"/>
                  <polygon class="arrowhead" points="328,368 316,362.4 316,373.6" fill="black" transform="rotate(180,320,368)"/>
                  <polygon class="arrowhead" points="224,304 212,298.4 212,309.6" fill="black" transform="rotate(0,216,304)"/>
                  <polygon class="arrowhead" points="224,192 212,186.4 212,197.6" fill="black" transform="rotate(0,216,192)"/>
                  <polygon class="arrowhead" points="112,288 100,282.4 100,293.6" fill="black" transform="rotate(180,104,288)"/>
                  <polygon class="arrowhead" points="112,176 100,170.4 100,181.6" fill="black" transform="rotate(180,104,176)"/>
                  <g class="text">
                    <text x="272" y="52">EDHOC</text>
                    <text x="496" y="52">EDHOC</text>
                    <text x="272" y="68">Responder</text>
                    <text x="496" y="68">Initiator</text>
                    <text x="376" y="100">(trigger)</text>
                    <text x="52" y="116">Verifier</text>
                    <text x="272" y="116">Relying</text>
                    <text x="500" y="116">Attester</text>
                    <text x="376" y="132">Attestation</text>
                    <text x="156" y="148">Provided</text>
                    <text x="272" y="148">Party</text>
                    <text x="364" y="148">proposal</text>
                    <text x="160" y="164">EvidenceTypes</text>
                    <text x="48" y="212">(V)</text>
                    <text x="156" y="212">Selected</text>
                    <text x="268" y="212">(RP)</text>
                    <text x="496" y="212">(A)</text>
                    <text x="160" y="228">EvidenceType(s)</text>
                    <text x="376" y="228">Attestation</text>
                    <text x="360" y="244">request</text>
                    <text x="140" y="276">Evidence</text>
                    <text x="364" y="276">Evidence</text>
                    <text x="152" y="324">Attestation</text>
                    <text x="132" y="340">result</text>
                    <text x="352" y="388">EDHOC</text>
                    <text x="408" y="388">session</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
                           +-----------+               +-----------+
                           |   EDHOC   |               |   EDHOC   |
                           | Responder |               | Initiator |
+----------+               +-----------+               +-----------+
|          |               |           |  (trigger)    |           |
| Verifier |               |  Relying  +-------------->|  Attester |
|          |               |           | Attestation   |           |
|          |   Provided    |   Party   | proposal      |           |
|          | EvidenceTypes |           |<--------------+           |
|          |<--------------+           |               |           |
|          +-------------->|           |               |           |
|   (V)    |   Selected    |   (RP)    +-------------->|    (A)    |
|          |EvidenceType(s)|           | Attestation   |           |
|          |               |           | request       |           |
|          |               |           |               |           |
|          | Evidence      |           | Evidence      |           |
|          |<--------------+           |<--------------+           |
|          +-------------->|           |               |           |
|          | Attestation   |           |               |           |
|          | result        |           |               |           |
+----------+               +-----------+               +-----------+
                                       <--------------->
                                         EDHOC session
]]></artwork>
            </artset>
          </figure>
        </section>
        <section anchor="passport-model">
          <name>Passport model</name>
          <t>This section details the reverse attestation process in the passport model over reverse EDHOC message flow (see <xref section="A.2.2" sectionFormat="of" target="RFC9528"/>).
The EDHOC session is between the Relying Party and the Attester.
An overview of the message flow is illustrated in <xref target="fig-reverse-attestation-passport"/>.
The EAD items specific to the passport model are defined in <xref target="ead-items"/>.</t>
          <t>During the EDHOC session using passport model, the Attester provides a list of the Verifier identities from which it can obtain the Attestation result.
The Relying Party then selects a Verifier identity it trusts for the Attester to obtain the Attestation result from.</t>
          <t>The Attester sends EDHOC message_1 containing a Result proposal carried in EAD_1.
The Result proposal includes a list of trusted Verifier identities by the Attester.
In EAD_2, a Result request is sent including a selected Verifier identity from the Relying Party.
Upon receiving the Result request, the Attester contacts the designated Verifier to obtain the Attestation result.
The attestation result is then carried in EAD_3.</t>
          <!--Open discussion: The freshness of attestation result in Verifier.-->
<t>An open discussion here is the expected freshness of the Attestation result at the Verifier, considering two perspectives:
1. Fresh Remote Attestation: This approach invloves performing a fresh remote attestation when the Attester sends a Result request to the Verifier.
The attestation result is generated with a nonce included from the Relying Party in Result request.
2. Pre-stored Attestation with Timestamp: Alternatively, the remote attestation may finish when the Result request is sent, and the attestation result is stored at the Verifier with a timestamp indicating its validation period.
In this case, the Relying Party needs to have the capability of time measurement and see whether the attestation result is still validated or not.</t>
          <t>We seek input from the working group on the expected freshness in the passport model.</t>
          <figure anchor="fig-reverse-attestation-passport">
            <name>Overview of reverse attestation in passport model. EDHOC is used between RP and A.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="552" viewBox="0 0 552 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,304" fill="none" stroke="black"/>
                  <path d="M 104,32 L 104,304" fill="none" stroke="black"/>
                  <path d="M 232,32 L 232,304" fill="none" stroke="black"/>
                  <path d="M 328,32 L 328,304" fill="none" stroke="black"/>
                  <path d="M 456,80 L 456,304" fill="none" stroke="black"/>
                  <path d="M 544,80 L 544,304" fill="none" stroke="black"/>
                  <path d="M 8,32 L 104,32" fill="none" stroke="black"/>
                  <path d="M 232,32 L 328,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 104,80" fill="none" stroke="black"/>
                  <path d="M 232,80 L 328,80" fill="none" stroke="black"/>
                  <path d="M 456,80 L 544,80" fill="none" stroke="black"/>
                  <path d="M 104,112 L 224,112" fill="none" stroke="black"/>
                  <path d="M 112,160 L 232,160" fill="none" stroke="black"/>
                  <path d="M 104,192 L 224,192" fill="none" stroke="black"/>
                  <path d="M 328,224 L 448,224" fill="none" stroke="black"/>
                  <path d="M 336,240 L 456,240" fill="none" stroke="black"/>
                  <path d="M 112,272 L 232,272" fill="none" stroke="black"/>
                  <path d="M 8,304 L 104,304" fill="none" stroke="black"/>
                  <path d="M 232,304 L 328,304" fill="none" stroke="black"/>
                  <path d="M 456,304 L 544,304" fill="none" stroke="black"/>
                  <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="456,224 444,218.4 444,229.6" fill="black" transform="rotate(0,448,224)"/>
                  <polygon class="arrowhead" points="344,240 332,234.4 332,245.6" fill="black" transform="rotate(180,336,240)"/>
                  <polygon class="arrowhead" points="240,320 228,314.4 228,325.6" fill="black" transform="rotate(0,232,320)"/>
                  <polygon class="arrowhead" points="232,192 220,186.4 220,197.6" fill="black" transform="rotate(0,224,192)"/>
                  <polygon class="arrowhead" points="232,112 220,106.4 220,117.6" fill="black" transform="rotate(0,224,112)"/>
                  <polygon class="arrowhead" points="120,272 108,266.4 108,277.6" fill="black" transform="rotate(180,112,272)"/>
                  <polygon class="arrowhead" points="120,160 108,154.4 108,165.6" fill="black" transform="rotate(180,112,160)"/>
                  <polygon class="arrowhead" points="112,320 100,314.4 100,325.6" fill="black" transform="rotate(180,104,320)"/>
                  <g class="text">
                    <text x="56" y="52">EDHOC</text>
                    <text x="280" y="52">EDHOC</text>
                    <text x="56" y="68">Responder</text>
                    <text x="280" y="68">Initiator</text>
                    <text x="160" y="100">(trigger)</text>
                    <text x="56" y="116">Relying</text>
                    <text x="284" y="116">Attester</text>
                    <text x="500" y="116">Verifier</text>
                    <text x="140" y="132">Result</text>
                    <text x="56" y="148">Party</text>
                    <text x="148" y="148">proposal</text>
                    <text x="52" y="196">(RP)</text>
                    <text x="280" y="196">(A)</text>
                    <text x="496" y="196">(V)</text>
                    <text x="140" y="212">Result</text>
                    <text x="364" y="212">Result</text>
                    <text x="424" y="212">request</text>
                    <text x="144" y="228">request</text>
                    <text x="140" y="260">Result</text>
                    <text x="364" y="260">Result</text>
                    <text x="136" y="340">EDHOC</text>
                    <text x="192" y="340">session</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+-----------+               +-----------+
|   EDHOC   |               |   EDHOC   |
| Responder |               | Initiator |
+-----------+               +-----------+               +----------+
|           |  (trigger)    |           |               |          |
|  Relying  +-------------->|  Attester |               | Verifier |
|           | Result        |           |               |          |
|   Party   | proposal      |           |               |          |
|           |<--------------+           |               |          |
|           |               |           |               |          |
|   (RP)    +-------------->|    (A)    |               |   (V)    |
|           | Result        |           | Result request|          |
|           | request       |           +-------------->|          |
|           |               |           |<--------------+          |
|           | Result        |           | Result        |          |
|           |<--------------+           |               |          |
|           |               |           |               |          |
+-----------+               +-----------+               +----------+
            <--------------->
              EDHOC session
]]></artwork>
            </artset>
          </figure>
        </section>
      </section>
      <section anchor="mutual-attestation">
        <name>Mutual attestation</name>
        <t>When both entities (e.g., an IoT device and a network server) need to attest to each other, they can perform a mutual attestation to establish a bidirectional trust.
This ensures that both the IoT device and the network server are trusted before exchanging sensitive information.
This specification outlines two options for mutual attestation, depending on the different computing environments.
The first option is mutual attestation using the background-check model -- background-check model, as detailed in <xref target="mutual-attestation-BB"/>.
The second option is mutual attestation using a hybrid of the background-check model and passport model, as described in <xref target="mutual-attestation-BP"/>.</t>
        <section anchor="mutual-attestation-BB">
          <name>Background-check model -- Background-check model</name>
          <t>In this section, both the EDHOC Initiator and the EDHOC Responder perform remote attestation using the background-check model.
This approach is suitable for devices with no connectivity constraints.
The process is as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>The EDHOC Initiator starts the remote attestation by sending an Attestation proposal in EAD_1.</t>
            </li>
            <li>
              <t>The EDHOC Responder initiates the second remote attestation by sending an Attestation proposal in EAD_2, along with an Attestation request in response to the EDHOC Initiator's proposal.</t>
            </li>
            <li>
              <t>In EAD_3, the EDHOC Initiator sends two EAD items: the Evidence of the first remote attestation and an Attestation request for the second remote attestation.</t>
            </li>
            <li>
              <t>A forth EDHOC message is required to send the Evidence of the second remote attestation from the EDHOC Responder to the EDHOC Initiator.</t>
            </li>
          </ol>
          <figure anchor="fig-mutual-attestation-BB">
            <name>Overview of mutual attestation of Background-check model in both sides. EDHOC is used between A and RP.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="760" viewBox="0 0 760 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,80 L 8,368" fill="none" stroke="black"/>
                  <path d="M 96,80 L 96,368" fill="none" stroke="black"/>
                  <path d="M 224,32 L 224,368" fill="none" stroke="black"/>
                  <path d="M 320,32 L 320,368" fill="none" stroke="black"/>
                  <path d="M 440,32 L 440,368" fill="none" stroke="black"/>
                  <path d="M 536,32 L 536,368" fill="none" stroke="black"/>
                  <path d="M 664,80 L 664,368" fill="none" stroke="black"/>
                  <path d="M 752,80 L 752,368" fill="none" stroke="black"/>
                  <path d="M 224,32 L 320,32" fill="none" stroke="black"/>
                  <path d="M 440,32 L 536,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 96,80" fill="none" stroke="black"/>
                  <path d="M 224,80 L 320,80" fill="none" stroke="black"/>
                  <path d="M 440,80 L 536,80" fill="none" stroke="black"/>
                  <path d="M 664,80 L 752,80" fill="none" stroke="black"/>
                  <path d="M 320,112 L 432,112" fill="none" stroke="black"/>
                  <path d="M 536,128 L 656,128" fill="none" stroke="black"/>
                  <path d="M 544,144 L 664,144" fill="none" stroke="black"/>
                  <path d="M 328,176 L 440,176" fill="none" stroke="black"/>
                  <path d="M 104,192 L 224,192" fill="none" stroke="black"/>
                  <path d="M 96,208 L 216,208" fill="none" stroke="black"/>
                  <path d="M 320,256 L 432,256" fill="none" stroke="black"/>
                  <path d="M 536,256 L 656,256" fill="none" stroke="black"/>
                  <path d="M 544,272 L 664,272" fill="none" stroke="black"/>
                  <path d="M 104,320 L 224,320" fill="none" stroke="black"/>
                  <path d="M 328,320 L 440,320" fill="none" stroke="black"/>
                  <path d="M 96,336 L 216,336" fill="none" stroke="black"/>
                  <path d="M 8,368 L 96,368" fill="none" stroke="black"/>
                  <path d="M 224,368 L 320,368" fill="none" stroke="black"/>
                  <path d="M 440,368 L 536,368" fill="none" stroke="black"/>
                  <path d="M 664,368 L 752,368" fill="none" stroke="black"/>
                  <path d="M 320,384 L 440,384" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="664,256 652,250.4 652,261.6" fill="black" transform="rotate(0,656,256)"/>
                  <polygon class="arrowhead" points="664,128 652,122.4 652,133.6" fill="black" transform="rotate(0,656,128)"/>
                  <polygon class="arrowhead" points="552,272 540,266.4 540,277.6" fill="black" transform="rotate(180,544,272)"/>
                  <polygon class="arrowhead" points="552,144 540,138.4 540,149.6" fill="black" transform="rotate(180,544,144)"/>
                  <polygon class="arrowhead" points="448,384 436,378.4 436,389.6" fill="black" transform="rotate(0,440,384)"/>
                  <polygon class="arrowhead" points="440,256 428,250.4 428,261.6" fill="black" transform="rotate(0,432,256)"/>
                  <polygon class="arrowhead" points="440,112 428,106.4 428,117.6" fill="black" transform="rotate(0,432,112)"/>
                  <polygon class="arrowhead" points="336,320 324,314.4 324,325.6" fill="black" transform="rotate(180,328,320)"/>
                  <polygon class="arrowhead" points="336,176 324,170.4 324,181.6" fill="black" transform="rotate(180,328,176)"/>
                  <polygon class="arrowhead" points="328,384 316,378.4 316,389.6" fill="black" transform="rotate(180,320,384)"/>
                  <polygon class="arrowhead" points="224,336 212,330.4 212,341.6" fill="black" transform="rotate(0,216,336)"/>
                  <polygon class="arrowhead" points="224,208 212,202.4 212,213.6" fill="black" transform="rotate(0,216,208)"/>
                  <polygon class="arrowhead" points="112,320 100,314.4 100,325.6" fill="black" transform="rotate(180,104,320)"/>
                  <polygon class="arrowhead" points="112,192 100,186.4 100,197.6" fill="black" transform="rotate(180,104,192)"/>
                  <g class="text">
                    <text x="272" y="52">EDHOC</text>
                    <text x="488" y="52">EDHOC</text>
                    <text x="272" y="68">Initiator</text>
                    <text x="488" y="68">Responder</text>
                    <text x="376" y="84">Attestation</text>
                    <text x="364" y="100">proposal</text>
                    <text x="596" y="100">Provided</text>
                    <text x="52" y="116">Verifier</text>
                    <text x="268" y="116">Attester</text>
                    <text x="488" y="116">Relying</text>
                    <text x="600" y="116">EvidenceTypes</text>
                    <text x="708" y="116">Verifier</text>
                    <text x="376" y="148">Attestation</text>
                    <text x="488" y="148">Party</text>
                    <text x="156" y="164">Provided</text>
                    <text x="272" y="164">(A)</text>
                    <text x="360" y="164">request</text>
                    <text x="484" y="164">(RP)</text>
                    <text x="596" y="164">Selected</text>
                    <text x="160" y="180">EvidenceTypes</text>
                    <text x="600" y="180">EvidenceType(s)</text>
                    <text x="272" y="196">/</text>
                    <text x="376" y="196">Attestation</text>
                    <text x="488" y="196">/</text>
                    <text x="364" y="212">proposal</text>
                    <text x="48" y="228">(V)</text>
                    <text x="156" y="228">Selected</text>
                    <text x="272" y="228">Relying</text>
                    <text x="484" y="228">Attester</text>
                    <text x="704" y="228">(V)</text>
                    <text x="160" y="244">EvidenceType(s)</text>
                    <text x="364" y="244">Evidence</text>
                    <text x="588" y="244">Evidence</text>
                    <text x="272" y="260">Party</text>
                    <text x="268" y="276">(RP)</text>
                    <text x="376" y="276">Attestation</text>
                    <text x="488" y="276">(A)</text>
                    <text x="360" y="292">request</text>
                    <text x="600" y="292">Attestation</text>
                    <text x="156" y="308">Evidence</text>
                    <text x="580" y="308">result</text>
                    <text x="364" y="340">Evidence</text>
                    <text x="160" y="356">Attestation</text>
                    <text x="140" y="372">result</text>
                    <text x="344" y="404">EDHOC</text>
                    <text x="400" y="404">session</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
                           +-----------+              +-----------+
                           |   EDHOC   |              |   EDHOC   |
                           | Initiator |              | Responder |
+----------+               +-----------+ Attestation  +-----------+               +----------+
|          |               |           | proposal     |           |   Provided    |          |
| Verifier |               | Attester  +------------->|  Relying  | EvidenceTypes | Verifier |
|          |               |           |              |           +-------------->|          |
|          |               |           | Attestation  |   Party   |<--------------+          |
|          |   Provided    |    (A)    | request      |   (RP)    |   Selected    |          |
|          | EvidenceTypes |           |<-------------+           |EvidenceType(s)|          |
|          |<--------------+     /     | Attestation  |     /     |               |          |
|          +-------------->|           | proposal     |           |               |          |
|   (V)    |   Selected    |  Relying  |              | Attester  |               |   (V)    |
|          |EvidenceType(s)|           | Evidence     |           |  Evidence     |          |
|          |               |   Party   +------------->|           +-------------->|          |
|          |               |   (RP)    | Attestation  |    (A)    |<--------------+          |
|          |               |           | request      |           |  Attestation  |          |
|          |   Evidence    |           |              |           |  result       |          |
|          |<--------------+           |<-------------+           |               |          |
|          +-------------->|           | Evidence     |           |               |          |
|          |  Attestation  |           |              |           |               |          |
+----------+  result       +-----------+              +-----------+               +----------+
                                       <-------------->
                                        EDHOC session
]]></artwork>
            </artset>
          </figure>
        </section>
        <section anchor="mutual-attestation-BP">
          <name>Background-check model -- Passport model</name>
          <t>This use case is applicable when the EDHOC Initiator is constrained in terms of connectivity.
In this case, the mutual attestation begins with a forward background-check attestation, followed by a reverse passport attestation.</t>
          <ol spacing="normal" type="1"><li>
              <t>EDHOC Initiator sends the first EDHOC message with an Attestation proposal in EAD_1.</t>
            </li>
            <li>
              <t>In EAD_2, two EAD items are included: an Attestation request responding to the EDHOC Initiator's proposal and a Result proposal to initiate a reverse passport attestation.
The EDHOC Responder <bcp14>SHOULD</bcp14> connect to a Verifier to select the evidence type for the forward attestation in background-check model.</t>
            </li>
            <li>
              <t>In EAD_3, two EAD items are included: an Evidence and a Result request.
The EDHOC Responder <bcp14>SHOULD</bcp14> connect to the Verfier in the passport model(VP) indicated in the Result request to obtain the Result from that Verifier.
Simultaneously, the EDHOC Responder sends the received Evidence to the Verifier in the background-check model(VB) to get the attestation result of the first forward attestation.</t>
            </li>
            <li>
              <t>The EDHOC Responder sends the Result that is obtained from VP to the EDHOC Initiator in EAD_4, and consumes the Attetation result from VB.</t>
            </li>
          </ol>
          <figure anchor="fig-mutual-attestation-BP">
            <name>Overview of mutual attestation of Background-check model -- Passport model. EDHOC is used between A and RP.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="760" viewBox="0 0 760 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,368" fill="none" stroke="black"/>
                  <path d="M 104,32 L 104,368" fill="none" stroke="black"/>
                  <path d="M 224,32 L 224,368" fill="none" stroke="black"/>
                  <path d="M 320,32 L 320,368" fill="none" stroke="black"/>
                  <path d="M 448,80 L 448,368" fill="none" stroke="black"/>
                  <path d="M 536,80 L 536,368" fill="none" stroke="black"/>
                  <path d="M 664,80 L 664,368" fill="none" stroke="black"/>
                  <path d="M 752,80 L 752,368" fill="none" stroke="black"/>
                  <path d="M 8,32 L 104,32" fill="none" stroke="black"/>
                  <path d="M 224,32 L 320,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 104,80" fill="none" stroke="black"/>
                  <path d="M 224,80 L 320,80" fill="none" stroke="black"/>
                  <path d="M 448,80 L 536,80" fill="none" stroke="black"/>
                  <path d="M 664,80 L 752,80" fill="none" stroke="black"/>
                  <path d="M 104,112 L 216,112" fill="none" stroke="black"/>
                  <path d="M 320,128 L 440,128" fill="none" stroke="black"/>
                  <path d="M 328,144 L 448,144" fill="none" stroke="black"/>
                  <path d="M 112,176 L 224,176" fill="none" stroke="black"/>
                  <path d="M 104,256 L 216,256" fill="none" stroke="black"/>
                  <path d="M 320,256 L 440,256" fill="none" stroke="black"/>
                  <path d="M 464,256 L 656,256" fill="none" stroke="black"/>
                  <path d="M 328,272 L 448,272" fill="none" stroke="black"/>
                  <path d="M 112,320 L 224,320" fill="none" stroke="black"/>
                  <path d="M 328,320 L 664,320" fill="none" stroke="black"/>
                  <path d="M 8,368 L 104,368" fill="none" stroke="black"/>
                  <path d="M 224,368 L 320,368" fill="none" stroke="black"/>
                  <path d="M 448,368 L 536,368" fill="none" stroke="black"/>
                  <path d="M 664,368 L 752,368" fill="none" stroke="black"/>
                  <path d="M 104,384 L 224,384" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="664,256 652,250.4 652,261.6" fill="black" transform="rotate(0,656,256)"/>
                  <polygon class="arrowhead" points="448,256 436,250.4 436,261.6" fill="black" transform="rotate(0,440,256)"/>
                  <polygon class="arrowhead" points="448,128 436,122.4 436,133.6" fill="black" transform="rotate(0,440,128)"/>
                  <polygon class="arrowhead" points="336,320 324,314.4 324,325.6" fill="black" transform="rotate(180,328,320)"/>
                  <polygon class="arrowhead" points="336,272 324,266.4 324,277.6" fill="black" transform="rotate(180,328,272)"/>
                  <polygon class="arrowhead" points="336,144 324,138.4 324,149.6" fill="black" transform="rotate(180,328,144)"/>
                  <polygon class="arrowhead" points="232,384 220,378.4 220,389.6" fill="black" transform="rotate(0,224,384)"/>
                  <polygon class="arrowhead" points="224,256 212,250.4 212,261.6" fill="black" transform="rotate(0,216,256)"/>
                  <polygon class="arrowhead" points="224,112 212,106.4 212,117.6" fill="black" transform="rotate(0,216,112)"/>
                  <polygon class="arrowhead" points="120,320 108,314.4 108,325.6" fill="black" transform="rotate(180,112,320)"/>
                  <polygon class="arrowhead" points="120,176 108,170.4 108,181.6" fill="black" transform="rotate(180,112,176)"/>
                  <polygon class="arrowhead" points="112,384 100,378.4 100,389.6" fill="black" transform="rotate(180,104,384)"/>
                  <g class="text">
                    <text x="56" y="52">EDHOC</text>
                    <text x="272" y="52">EDHOC</text>
                    <text x="56" y="68">Initiator</text>
                    <text x="272" y="68">Responder</text>
                    <text x="160" y="84">Attestation</text>
                    <text x="148" y="100">proposal</text>
                    <text x="380" y="100">Provided</text>
                    <text x="52" y="116">Attester</text>
                    <text x="272" y="116">Relying</text>
                    <text x="384" y="116">EvidenceTypes</text>
                    <text x="492" y="116">Verifier</text>
                    <text x="708" y="116">Verifier</text>
                    <text x="160" y="148">Attestation</text>
                    <text x="272" y="148">Party</text>
                    <text x="492" y="148">Background</text>
                    <text x="708" y="148">Passport</text>
                    <text x="56" y="164">(A)</text>
                    <text x="144" y="164">request</text>
                    <text x="268" y="164">(RP)</text>
                    <text x="380" y="164">Selected</text>
                    <text x="488" y="164">check</text>
                    <text x="712" y="164">model</text>
                    <text x="384" y="180">EvidenceType(s)</text>
                    <text x="488" y="180">model</text>
                    <text x="56" y="196">/</text>
                    <text x="140" y="196">Result</text>
                    <text x="272" y="196">/</text>
                    <text x="148" y="212">proposal</text>
                    <text x="56" y="228">Relying</text>
                    <text x="268" y="228">Attester</text>
                    <text x="492" y="228">(VB)</text>
                    <text x="708" y="228">(VP)</text>
                    <text x="148" y="244">Evidence</text>
                    <text x="372" y="244">Evidence</text>
                    <text x="572" y="244">Result</text>
                    <text x="632" y="244">request</text>
                    <text x="56" y="260">Party</text>
                    <text x="52" y="276">(RP)</text>
                    <text x="140" y="276">Result</text>
                    <text x="272" y="276">(A)</text>
                    <text x="144" y="292">request</text>
                    <text x="384" y="292">Attestation</text>
                    <text x="364" y="308">result</text>
                    <text x="140" y="340">Result</text>
                    <text x="580" y="340">Result</text>
                    <text x="128" y="404">EDHOC</text>
                    <text x="184" y="404">session</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+-----------+              +-----------+
|   EDHOC   |              |   EDHOC   |
| Initiator |              | Responder |
+-----------+ Attestation  +-----------+               +----------+               +----------+
|           | proposal     |           |   Provided    |          |               |          |
| Attester  +------------->|  Relying  | EvidenceTypes | Verifier |               | Verifier |
|           |              |           +-------------->|          |               |          |
|           | Attestation  |   Party   |<--------------+Background|               | Passport |
|    (A)    | request      |   (RP)    |   Selected    |  check   |               |   model  |
|           |<-------------+           |EvidenceType(s)|  model   |               |          |
+     /     | Result       |     /     |               |          |               |          |
|           | proposal     |           |               |          |               |          |
|  Relying  |              | Attester  |               |   (VB)   |               |   (VP)   |
|           | Evidence     |           |  Evidence     |          | Result request|          |
|   Party   +------------->|           +-------------->| ---------+-------------->|          |
|   (RP)    | Result       |    (A)    |<--------------+          |               |          |
|           | request      |           |  Attestation  |          |               |          |
|           |              |           |  result       |          |               |          |
+           |<-------------+           |<--------------+----------+---------------+          |
|           | Result       |           |               |          |  Result       |          |
|           |              |           |               |          |               |          |
+-----------+              +-----------+               +----------+               +----------+
            <-------------->
             EDHOC session
]]></artwork>
            </artset>
          </figure>
        </section>
      </section>
      <section anchor="ead-items">
        <name>External Authorization Data (EAD) items</name>
        <t>EDHOC <xref target="RFC9528"/> supports one or more EAD items in each EAD field.
EAD item is a CBOR sequence of an ead_label and an optional ead_value.</t>
        <section anchor="attestation-proposal">
          <name>Attestation_proposal</name>
          <t>To start a remote attestation in background-check model, the Attester transports the Proposed_EvidenceType object.
It signals to the Relying Party the proposal to do remote attestation, as well as which attestation claims the Attester supports.
The supported attestation claims are encoded in CBOR in the form of a sequence.</t>
          <t>The EAD item for an attestation proposal is:</t>
          <ul spacing="normal">
            <li>
              <t>ead_label = TBD1</t>
            </li>
            <li>
              <t>ead_value = Attestation_proposal, which is a CBOR byte string:</t>
            </li>
          </ul>
          <artwork><![CDATA[
Attestation_proposal = bstr .cbor Proposed_EvidenceType

Proposed_EvidenceType = (
        content-format:         [ + uint]
)
]]></artwork>
          <t>where</t>
          <ul spacing="normal">
            <li>
              <t>content-format is an array that contains all the supported evidence types by the Attester.</t>
            </li>
            <li>
              <t>There <bcp14>MUST</bcp14> be at least one item in the array.</t>
            </li>
            <li>
              <t>content-format is an indicator of the format type (e.g., application/eat+cwt with an appropriate eat_profile parameter set), from <xref target="IANA-CoAP-Content-Formats"/>.</t>
            </li>
          </ul>
          <t>The sign of ead_label TBD1 <bcp14>MUST</bcp14> be negative to indicate that the EAT item is critical.
If the receiver cannot recognize the critical EAD item, or cannot process the information in the critical EAD item, then the receiver <bcp14>MUST</bcp14> send an EDHOC error message back.</t>
        </section>
        <section anchor="attestation-request">
          <name>Attestation_request</name>
          <t>As a response to the attestation proposal, the Relying Party signals to the Attester the supported and requested evidence type.
In case none of the evidence types is supported, the Relying Party rejects the first message_1 with an error indicating support for another evidence type.</t>
          <t>The EAD item for an attestation request is:</t>
          <ul spacing="normal">
            <li>
              <t>ead_label = TBD2</t>
            </li>
            <li>
              <t>ead_value = Attestation_request, which is a CBOR byte string:</t>
            </li>
          </ul>
          <artwork><![CDATA[
Attestation_request = bstr .cbor Selected_EvidenceType
Selected_EvidenceType = (
        content-format:uint,
        nonce:bstr
)
]]></artwork>
          <t>where</t>
          <ul spacing="normal">
            <li>
              <t>content-format is the selected evidence type by the Relying Party and supported by the Verifier.</t>
            </li>
            <li>
              <t>nonce is generated by the Verifier and forwarded by the Relying Party.</t>
            </li>
          </ul>
          <t>The sign of ead_label TBD2 <bcp14>MUST</bcp14> be negative to indicate that the EAT item is critical.
If the receiver cannot recognize the critical EAD item, or cannot process the information in the critical EAD item, then the receiver <bcp14>MUST</bcp14> send an EDHOC error message back.</t>
        </section>
        <section anchor="evidence">
          <name>Evidence</name>
          <t>As a response to the attestation request, the Attester calls its local attestation service to generate and return the serialized EAT <xref target="I-D.ietf-rats-eat"/> as Evidence.</t>
          <t>The EAD item is:</t>
          <ul spacing="normal">
            <li>
              <t>ead_label = TBD3</t>
            </li>
            <li>
              <t>ead_value is a serialized EAT.</t>
            </li>
          </ul>
        </section>
        <section anchor="result-proposal">
          <name>Result_proposal</name>
          <t>In passport model, the attestation result is transfered from the Attester to the Relying Party.
Before sending the attestation result, the Attester needs to negotiate with the Relying Party the Verifier identities from which it should get the attestation result.
The Attester firstly sends an attestation result proposal which contains the identification of the credentials of the Verifiers to indicate Verifiers' indentities.
The identification of credentials relies on COSE header parameters <xref target="IANA-COSE-Header-Parameters"/>, with a header lable and credential value.</t>
          <t>The EAD item for an attestation result proposal is:</t>
          <ul spacing="normal">
            <li>
              <t>ead_label = TBD4</t>
            </li>
            <li>
              <t>ead_value = Result_proposal, which is a CBOR byte string:</t>
            </li>
          </ul>
          <artwork><![CDATA[
Result_proposal = bstr .cbor Proposed_VerfierIdentity
Proposed_VerifierIdentity = [ + VerifierIdentity ]

VerifierIdentity = {
  label => values
}
]]></artwork>
          <t>where</t>
          <ul spacing="normal">
            <li>
              <t>Proposed_VerifierIdentity is defined as a list of one or more VerifierIdentity elements.</t>
            </li>
            <li>
              <t>Each VerifierIdentity within the list is a map defined in <xref target="IANA-COSE-Header-Parameters"/> that:
              </t>
              <ul spacing="normal">
                <li>
                  <t>label = int / tstr</t>
                </li>
                <li>
                  <t>values = any</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="result-request">
          <name>Result_request</name>
          <t>As a response to the attestation result proposal, the Relying Party signals to the Attester the trusted Verifier.
In case none of the Verifiers can be trusted by the Relying Party, the session is aborted.
Relying Party generates a nonce to ensure the freshness of the attestation result from the Verifier.</t>
          <t>The EAD item for an attestation result request is:</t>
          <ul spacing="normal">
            <li>
              <t>ead_label = TBD5</t>
            </li>
            <li>
              <t>ead_value = Result_request, which is a CBOR byte string:</t>
            </li>
          </ul>
          <artwork><![CDATA[
Result_request = bstr .cbor Request_structure

Request_structure = {
  selected_verifier: VerfierIdentity
}
]]></artwork>
        </section>
        <section anchor="result">
          <name>Result</name>
          <t>The attestation result is generated and signed by the Verifier as a serialized EAT <xref target="I-D.ietf-rats-eat"/>.
The Relying Party can decide what action to take with regards to the Attester based on the information elements in attetation result.</t>
          <t>The EAD item is:</t>
          <ul spacing="normal">
            <li>
              <t>ead_label = TBD6</t>
            </li>
            <li>
              <t>ead_value is a serialized EAT.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>This section specifies a new EDHOC error code and how it is used in the proposed protocol.</t>
      <section anchor="edhoc-error-attestation-failed">
        <name>EDHOC Error "Attestation failed"</name>
        <t>This section specifies a new EDHOC error "Attetation failed".
The format of the error message follows the one in EDHOC protocol(see <xref section="6" sectionFormat="of" target="RFC9528"/>).</t>
        <figure anchor="fig-error">
          <name>EDHOC error code and error information for Attestation failed.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="112" width="568" viewBox="0 0 568 112" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                <path d="M 96,32 L 96,96" fill="none" stroke="black"/>
                <path d="M 232,32 L 232,96" fill="none" stroke="black"/>
                <path d="M 560,32 L 560,96" fill="none" stroke="black"/>
                <path d="M 8,32 L 560,32" fill="none" stroke="black"/>
                <path d="M 8,62 L 560,62" fill="none" stroke="black"/>
                <path d="M 8,66 L 560,66" fill="none" stroke="black"/>
                <path d="M 8,96 L 560,96" fill="none" stroke="black"/>
                <g class="text">
                  <text x="52" y="52">ERR_CODE</text>
                  <text x="140" y="52">ERR_INFO</text>
                  <text x="196" y="52">Type</text>
                  <text x="288" y="52">Description</text>
                  <text x="68" y="84">TBD7</text>
                  <text x="152" y="84">attestation</text>
                  <text x="288" y="84">Attestation</text>
                  <text x="364" y="84">failed</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+----------+----------------+----------------------------------------+
| ERR_CODE | ERR_INFO Type  | Description                            |
+==========+================+========================================+
|     TBD7 | attestation    | Attestation failed                     |
+----------+----------------+----------------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>Error code TBD7 indicates to the receiver that the remote attestation is failed after the evidence is sent.
This can occur in two cases:</t>
        <ol spacing="normal" type="1"><li>
            <t>The Verifier evaluates the attestation evidence and returns a negative result based on the Verifier's appraisal policy.</t>
          </li>
          <li>
            <t>The Verifier provides a positive attestation result to the Relying Party, but the Relying Party can not establish a sufficient level of trust to proceed decision-specific actions based on its appraisal policy.</t>
          </li>
        </ol>
        <t>In case 1, the Verifier signals the error to the Relying Party, which then generates an EDHOC "Attestation failed" error and send it to the Attester.
In case 2, the Relying Party directly generates and sends the "Attestation failed" error to the Attester.
The application decides how to handle the error message.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This specification is performed over EDHOC <xref target="RFC9528"/> by using EDHOC's EAD fields.
The privacy considerations of EADs in EDHOC apply to this specification.</t>
      <t>EAD_1 is not resistant to either active attackers or passive attackers, because neither the Initiator nor the Responder has been authenticated.</t>
      <t>Although EAD_2 is encrypted, the Initiator has not been authenticated, rendering EAD_2 vulnerable against the active attackers.</t>
      <t>The ead items in EAD_1 and EAD_2 <bcp14>MAY</bcp14> be very specific and potentially reveal sensitive information about the device.
The leaking of the data in EAD_1 and/or EAD_2 <bcp14>MAY</bcp14> risk to be used by the attackers for malicious purposes.
Data in EAD_3 and EAD_4 are protected between the Initiator and the Responder in EDHOC.</t>
      <t>Mutual attestation carries a lower risk for EAD items when the Responder is the Attester.
For the mutual attestation at the EDHOC Responder, only the Attestation_proposal/Result_proposal in EAD_2 is not protected to active attackers.
Both the Attestation_request/Result_request in EAD_3 and the Evidence/Result in EAD_4 are protected.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="edhoc-external-authorization-data-registry">
        <name>EDHOC External Authorization Data Registry</name>
        <t>IANA is requested to register the following entry in the "EDHOC External Authorization Data" registry under the group name "Ephemeral Diffie-Hellman Over Cose (EDHOC)".
The ead_label = TBD1 corresponds to the ead_value Attestation_proposal with processing specified in <xref target="attestation-proposal"/>.
The ead_label = TBD2 corresponds to the ead_value Attestation_request in <xref target="attestation-request"/>.
The ead_label = TBD3 corresponds to the ead_value which carries the EAT, as specified in <xref target="evidence"/>.
The ead_lable = TBD4 corresponds to the ead_value Result_proposal in passport model in <xref target="result-proposal"/>.
The ead_lable = TBD5 corresponds to the ead_value Result_request in passport model in <xref target="result-request"/>.
The ead_lable = TBD6 corresponds to the ead_value Result in passport model in <xref target="result"/>.</t>
        <table anchor="ead-table">
          <name>Addition to the EDHOC EAD registry</name>
          <thead>
            <tr>
              <th align="right">Label</th>
              <th align="left">Value Type</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBD1</td>
              <td align="left">bstr</td>
              <td align="left">Attestation Proposal</td>
            </tr>
            <tr>
              <td align="right">TBD2</td>
              <td align="left">bstr</td>
              <td align="left">Attestation Request</td>
            </tr>
            <tr>
              <td align="right">TBD3</td>
              <td align="left">bstr</td>
              <td align="left">Evidence for remote attestation</td>
            </tr>
            <tr>
              <td align="right">TBD4</td>
              <td align="left">bstr</td>
              <td align="left">Result Proposal</td>
            </tr>
            <tr>
              <td align="right">TBD5</td>
              <td align="left">bstr</td>
              <td align="left">Result Proposal</td>
            </tr>
            <tr>
              <td align="right">TBD6</td>
              <td align="left">bstr</td>
              <td align="left">Attestation result</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-rats-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="RFC9528">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC8949">
          <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="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>
        <reference anchor="IANA.CWT.Claims" target="http://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="I-D.tschofenig-rats-psa-token">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Mathias Brossard" initials="M." surname="Brossard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Adrian L. Shaw" initials="A. L." surname="Shaw">
              <organization>HP Labs</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="24" month="June" year="2024"/>
            <abstract>
              <t>   The Arm Platform Security Architecture (PSA) is a family of hardware
   and firmware security specifications, as well as open-source
   reference implementations, to help device makers and chip
   manufacturers build best-practice security into products.  Devices
   that are PSA compliant can produce attestation tokens as described in
   this memo, which are the basis for many different protocols,
   including secure provisioning and network access control.  This
   document specifies the PSA attestation token structure and semantics.

   The PSA attestation token is a profile of the Entity Attestation
   Token (EAT).  This specification describes what claims are used in an
   attestation token generated by PSA compliant systems, how these
   claims get serialized to the wire, and how they are cryptographically
   protected.

   This informational document is published as an independent submission
   to improve interoperability with Arm's architecture.  It is not a
   standard nor a product of the IETF.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tschofenig-rats-psa-token-23"/>
        </reference>
        <reference anchor="IANA-CoAP-Content-Formats" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>CoAP Content-Formats</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.ietf-lake-authz">
          <front>
            <title>Lightweight Authorization using Ephemeral Diffie-Hellman Over COSE</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
              <organization>INRIA</organization>
            </author>
            <author fullname="Geovane Fedrecheski" initials="G." surname="Fedrecheski">
              <organization>INRIA</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>   This document describes a procedure for authorizing enrollment of new
   devices using the lightweight authenticated key exchange protocol
   Ephemeral Diffie-Hellman Over COSE (EDHOC).  The procedure is
   applicable to zero-touch onboarding of new devices to a constrained
   network leveraging trust anchors installed at manufacture time.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-authz-01"/>
        </reference>
        <reference anchor="IANA-COSE-Header-Parameters" target="https://www.iana.org/cose/header-parameters">
          <front>
            <title>COSE Header Parameters</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 574?>

<section anchor="example-remote-attestation-flow">
      <name>Example: Remote Attestation Flow</name>
      <figure anchor="_figure-iot-example">
        <name>Example of remote attestation.</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1008" width="576" viewBox="0 0 576 1008" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,112" fill="none" stroke="black"/>
              <path d="M 32,112 L 32,992" fill="none" stroke="black"/>
              <path d="M 136,72 L 136,104" fill="none" stroke="black"/>
              <path d="M 168,112 L 168,992" fill="none" stroke="black"/>
              <path d="M 224,32 L 224,112" fill="none" stroke="black"/>
              <path d="M 264,688 L 264,696" fill="none" stroke="black"/>
              <path d="M 288,48 L 288,112" fill="none" stroke="black"/>
              <path d="M 368,112 L 368,992" fill="none" stroke="black"/>
              <path d="M 440,352 L 440,360" fill="none" stroke="black"/>
              <path d="M 448,48 L 448,112" fill="none" stroke="black"/>
              <path d="M 480,80 L 480,112" fill="none" stroke="black"/>
              <path d="M 528,112 L 528,992" fill="none" stroke="black"/>
              <path d="M 568,80 L 568,112" fill="none" stroke="black"/>
              <path d="M 8,32 L 224,32" fill="none" stroke="black"/>
              <path d="M 288,48 L 448,48" fill="none" stroke="black"/>
              <path d="M 8,64 L 224,64" fill="none" stroke="black"/>
              <path d="M 288,80 L 448,80" fill="none" stroke="black"/>
              <path d="M 480,80 L 568,80" fill="none" stroke="black"/>
              <path d="M 8,112 L 224,112" fill="none" stroke="black"/>
              <path d="M 288,112 L 448,112" fill="none" stroke="black"/>
              <path d="M 480,112 L 568,112" fill="none" stroke="black"/>
              <path d="M 168,240 L 360,240" fill="none" stroke="black"/>
              <path d="M 368,288 L 520,288" fill="none" stroke="black"/>
              <path d="M 376,400 L 528,400" fill="none" stroke="black"/>
              <path d="M 176,480 L 368,480" fill="none" stroke="black"/>
              <path d="M 40,560 L 168,560" fill="none" stroke="black"/>
              <path d="M 32,640 L 160,640" fill="none" stroke="black"/>
              <path d="M 168,720 L 360,720" fill="none" stroke="black"/>
              <path d="M 368,816 L 520,816" fill="none" stroke="black"/>
              <path d="M 376,880 L 528,880" fill="none" stroke="black"/>
              <path d="M 368,896 L 392,896" fill="none" stroke="black"/>
              <path d="M 376,928 L 392,928" fill="none" stroke="black"/>
              <path d="M 176,976 L 360,976" fill="none" stroke="black"/>
              <path d="M 392,896 C 400.83064,896 408,903.16936 408,912" fill="none" stroke="black"/>
              <path d="M 392,928 C 400.83064,928 408,920.83064 408,912" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="528,816 516,810.4 516,821.6" fill="black" transform="rotate(0,520,816)"/>
              <polygon class="arrowhead" points="528,288 516,282.4 516,293.6" fill="black" transform="rotate(0,520,288)"/>
              <polygon class="arrowhead" points="384,928 372,922.4 372,933.6" fill="black" transform="rotate(180,376,928)"/>
              <polygon class="arrowhead" points="384,880 372,874.4 372,885.6" fill="black" transform="rotate(180,376,880)"/>
              <polygon class="arrowhead" points="384,400 372,394.4 372,405.6" fill="black" transform="rotate(180,376,400)"/>
              <polygon class="arrowhead" points="368,976 356,970.4 356,981.6" fill="black" transform="rotate(0,360,976)"/>
              <polygon class="arrowhead" points="368,720 356,714.4 356,725.6" fill="black" transform="rotate(0,360,720)"/>
              <polygon class="arrowhead" points="368,240 356,234.4 356,245.6" fill="black" transform="rotate(0,360,240)"/>
              <polygon class="arrowhead" points="184,976 172,970.4 172,981.6" fill="black" transform="rotate(180,176,976)"/>
              <polygon class="arrowhead" points="184,480 172,474.4 172,485.6" fill="black" transform="rotate(180,176,480)"/>
              <polygon class="arrowhead" points="168,640 156,634.4 156,645.6" fill="black" transform="rotate(0,160,640)"/>
              <polygon class="arrowhead" points="48,560 36,554.4 36,565.6" fill="black" transform="rotate(180,40,560)"/>
              <g class="text">
                <text x="72" y="52">EDHOC</text>
                <text x="136" y="52">Initiator</text>
                <text x="328" y="68">EDHOC</text>
                <text x="392" y="68">Responder</text>
                <text x="64" y="84">Attestation</text>
                <text x="180" y="84">Attester</text>
                <text x="48" y="100">Service</text>
                <text x="336" y="100">Relying</text>
                <text x="392" y="100">Party</text>
                <text x="524" y="100">Verifier</text>
                <text x="192" y="164">EDHOC</text>
                <text x="256" y="164">message_1</text>
                <text x="208" y="180">{...}</text>
                <text x="212" y="196">EAD_1(</text>
                <text x="252" y="212">types(a,b,c)</text>
                <text x="192" y="228">)</text>
                <text x="432" y="276">/newSession</text>
                <text x="400" y="340">Body:</text>
                <text x="432" y="340">{</text>
                <text x="416" y="356">nonce</text>
                <text x="200" y="372">EDHOC</text>
                <text x="264" y="372">message_2</text>
                <text x="436" y="372">types(a,b)</text>
                <text x="208" y="388">{...}</text>
                <text x="384" y="388">}</text>
                <text x="212" y="404">EAD_2(</text>
                <text x="228" y="420">nonce,</text>
                <text x="232" y="436">type(a)</text>
                <text x="192" y="452">)</text>
                <text x="260" y="468">Auth_CRED(Sig/MAC)</text>
                <text x="84" y="500">Body:{</text>
                <text x="92" y="516">nonce,</text>
                <text x="96" y="532">type(a)</text>
                <text x="64" y="548">}</text>
                <text x="68" y="580">Body:{</text>
                <text x="84" y="596">nonce,</text>
                <text x="92" y="612">Evidence</text>
                <text x="48" y="628">}</text>
                <text x="200" y="660">EDHOC</text>
                <text x="264" y="660">message_3</text>
                <text x="208" y="676">{...}</text>
                <text x="224" y="692">EAT(nonce</text>
                <text x="304" y="692">Evidence)</text>
                <text x="260" y="708">Auth_CRED(sig/MAC)</text>
                <text x="400" y="788">Body:</text>
                <text x="432" y="788">{</text>
                <text x="404" y="804">EAT}</text>
                <text x="400" y="836">Body:</text>
                <text x="432" y="836">{</text>
                <text x="432" y="852">att-result:</text>
                <text x="500" y="852">AR{}</text>
                <text x="384" y="868">}</text>
                <text x="444" y="916">verify</text>
                <text x="492" y="916">AR{}</text>
                <text x="248" y="964">application</text>
                <text x="316" y="964">data</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
.--------------------------.
|     EDHOC Initiator      |       .-------------------.
+--------------------------+       |  EDHOC Responder  |
| Attestation   | Attester |       +-------------------+   .----------.
| Service       |          |       |  Relying Party    |   | Verifier |
'--+----------------+------'       '---------+---------'   '-----+----'
   |                |                        |                   |
   |                |                        |                   |
   |                |EDHOC message_1         |                   |
   |                |  {...}                 |                   |
   |                |  EAD_1(                |                   |
   |                |    types(a,b,c)        |                   |
   |                |  )                     |                   |
   |                +----------------------->|                   |
   |                |                        |                   |
   |                |                        |  /newSession      |
   |                |                        +------------------>|
   |                |                        |                   |
   |                |                        |                   |
   |                |                        | Body: {           |
   |                |                        |   nonce,          |
   |                | EDHOC message_2        |   types(a,b)      |
   |                |  {...}                 | }                 |
   |                |  EAD_2(                |<------------------+
   |                |    nonce,              |                   |
   |                |    type(a)             |                   |
   |                |  )                     |                   |
   |                |  Auth_CRED(Sig/MAC)    |                   |
   |                |<-----------------------+                   |
   |   Body:{       |                        |                   |
   |    nonce,      |                        |                   |
   |    type(a)     |                        |                   |
   |   }            |                        |                   |
   |<---------------+                        |                   |
   | Body:{         |                        |                   |
   |   nonce,       |                        |                   |
   |   Evidence     |                        |                   |
   | }              |                        |                   |
   +--------------->|                        |                   |
   |                | EDHOC message_3        |                   |
   |                |  {...}                 |                   |
   |                |  EAT(nonce,Evidence)   |                   |
   |                |  Auth_CRED(sig/MAC)    |                   |
   |                +----------------------->|                   |
   |                |                        |                   |
   |                |                        |                   |
   |                |                        |                   |
   |                |                        | Body: {           |
   |                |                        |  EAT}             |
   |                |                        +------------------>|
   |                |                        | Body: {           |
   |                |                        |  att-result: AR{} |
   |                |                        | }                 |
   |                |                        |<------------------+
   |                |                        +---.               |
   |                |                        |    | verify AR{}  |
   |                |                        |<--'               |
   |                |                        |                   |
   |                |    application data    |                   |
   |                |<---------------------->|                   |
   |                |                        |                   |
]]></artwork>
        </artset>
      </figure>
    </section>
    <section anchor="remote-attestation-in-parallel-with-enrollment-authorization">
      <name>Remote attestation in parallel with enrollment authorization</name>
      <t>This section discusses the possibility of doing remote attestation in parallel with the enrollment authorization procedure defined in <xref target="I-D.ietf-lake-authz"/>.
In this case, the message count is much decreased.</t>
      <t>The detailed procedure is TBD.</t>
    </section>
    <section anchor="firmware">
      <name>Example: Firmware Version</name>
      <t>The goal in this example is to verify that the firmware running on the device is the latest version, and is neither tampered or compromised.
A device acts as the Attester, currently in an untrusted state.
The Attester needs to generate the evidence to attest itself.
A gateway that can communicate with the Attester and can control its access to the network acts as the Relying Party.
The gateway will finally decide whether the device can join the network or not depending on the attestation result.
The attestation result is produced by the Verifier, which is a web server that can be seen as the manufacturer of the device.
Therefore it can appraise the evidence that is sent by the Attester.
The remote attestation session starts with the Attester sending EAD_1 in EDHOC message 1, as specified in <xref target="attestation-proposal"/>.
In EAD_1 field, the Attester indicates that the format of EAT is in CWT and the profile of EAT is Platform Security Architecture (PSA) attestation token <xref target="I-D.tschofenig-rats-psa-token"/>.
PSA attestation token contains the claims relating to the security state of the platform, which are provided by PSA's Initial Attestation API.</t>
      <t>Therefore, an example of the EAD_1 in EDHOC message_1 could be:</t>
      <artwork><![CDATA[
{
    content-format: [66,61]
}
]]></artwork>
      <t>According to <xref target="I-D.tschofenig-rats-psa-token"/>, IANA is requested to register the Content-Format ID in the "CoAP Content-Formats" registry <xref target="IANA-CoAP-Content-Formats"/>, for the <tt>application/eat+cwt</tt> media type witih tihe <tt>eat_profile</tt> parameter equal to <tt>tag:psacertified.org,2023:psa#tfm</tt>. We assume the ID that is assigned to this content type is 66.</t>
      <t>The Media Type equivalent is:</t>
      <artwork><![CDATA[
media-type: application/eat+cwt; eat_profile="tag:psacertified.org,2023:psa#tfm"
]]></artwork>
      <t>If the Verifier and the Relying Party can support this evidence type that is proposed by the Attester, the Relying Party will include in the EAD_2 field the same evidence type, alongside a nonce for message freshness.</t>
      <artwork><![CDATA[
{
    content-format: 66,
    nonce: h'1385b9708109c7fb'
}
]]></artwork>
      <t>The Evidence in EAD_3 field is the Platform Security Architecture (PSA) attestation token, which is the attestation of the platform state to assure the firmware integrity.
This can be generated from Measured boot, which creates the measurements of loaded code and data during the boot process and make them part of an overall chain of trust.
Each stage of the chain of trust stores the measurements in a local root of trust, then the Root of Trust for Report (RTR) of the device can use them as materials to generate the Evidence.
The components of the Evidence should at least be:</t>
      <artwork><![CDATA[
{
    /psa-boot-seed/                     2397: h'a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf',
    /eat_nonce/                         10: h'1385b9708109c7fb',
    /psa-client-id/                     2394: 3002,
    /psa-certificate-reference/         2398: "0604565272829-10010",
    /psa-implementation-id/             2396: h'aaaaaaaaabbbbbbbbbbbbbccccccccccccccdddddddddddddd',
    /ueid/                              256: h'01fa58755f658627ce5460f29b75296713248cae7ad9e2984b90280efcbcb50248',
    /eat_profile/                       265: 66,
    /psa-security-lifecycle/            2395: 12288,
    /psa-software-components/           2399: [
                                               {
                                                 /measurement-desc/  6: "SHA256",
                                                 /measurement-value/ 2: h'e33ea1e002d2fe794d1a1679db58bb6a23a8f659bb77f89c458cecf9d5995ffd',
                                                 /signer-id/         5: h'bfe6d86f8826f4ff97fb96c4e6fbc4993e4619fc565da26adf34c329489adc38',
                                                 /measurement-type/  1: "SPE",
                                                 /version/           4: "1.6.0",
                                               },
                                               {
                                                                     6: "SHA256",
                                                                     2: h'087d13c68f32aaafb8c4fc0a2253445432009765e216fb85c398c9580522c1bf',
                                                                     5: h'b360caf5c98c6b942a4882fa9d4823efb166a9ef6a6e4aa37c1919ed1fccc049',
                                                                     1: "NSPE",
                                                                     4: "0.0.0",
                                               },
                                              ],
    /psa-verification-service-indicator/ 2400: "www.trustedfirmware.org",
}
]]></artwork>
      <t>The key for signature is:</t>
      <artwork><![CDATA[
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIEP//suV+AhafEDh0+p5C+9Ot4zdd9WFA6ZMFgD5GzPnoAoGCCqGSM49
AwEHoUQDQgAETl4iCZ47zrRbRG0TVf0dw7VFlHtv18HInYhnmMNybo+A1wuECyVq
rDSmLt4QQzZPBECV8ANHS5HgGCCSr7E/Lg==
-----END EC PRIVATE KEY-----
]]></artwork>
      <t>The resulting COSE object is:</t>
      <artwork><![CDATA[
18([
  h'A10126',
  {},
  h'aa19095d5820a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf0a481385b9708109c7fb19095a190bba19095e73303630343536353237323832392d313030313019095c5819aaaaaaaaabbbbbbbbbbbbbccccccccccccccdddddddddddddd190100582101fa58755f658627ce5460f29b75296713248cae7ad9e2984b90280efcbcb50248190109184219095b19300019095f82a50666534841323536025820e33ea1e002d2fe794d1a1679db58bb6a23a8f659bb77f89c458cecf9d5995ffd055820bfe6d86f8826f4ff97fb96c4e6fbc4993e4619fc565da26adf34c329489adc3801635350450465312e362e30a50666534841323536025820087d13c68f32aaafb8c4fc0a2253445432009765e216fb85c398c9580522c1bf055820b360caf5c98c6b942a4882fa9d4823efb166a9ef6a6e4aa37c1919ed1fccc04901644e5350450465302e302e30190960777777772e747275737465646669726d776172652e6f7267',
  h'304502210086e90f5aa170964d2ae6de6d0018e2e5609bf5c2d601289d4e314b930f700ff00220704e74aebea7de2b47b571acff334bb6252a9cb201120ec7478b7d0ef1c4fa1c'
])
]]></artwork>
      <t>which has the following base16 encoding:</t>
      <artwork><![CDATA[
d28443a10126a0590172aa19095d5820a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf0a481385b9708109c7fb19095a190bba19095e73303630343536353237323832392d313030313019095c5819aaaaaaaaabbbbbbbbbbbbbccccccccccccccdddddddddddddd190100582101fa58755f658627ce5460f29b75296713248cae7ad9e2984b90280efcbcb50248190109184219095b19300019095f82a50666534841323536025820e33ea1e002d2fe794d1a1679db58bb6a23a8f659bb77f89c458cecf9d5995ffd055820bfe6d86f8826f4ff97fb96c4e6fbc4993e4619fc565da26adf34c329489adc3801635350450465312e362e30a50666534841323536025820087d13c68f32aaafb8c4fc0a2253445432009765e216fb85c398c9580522c1bf055820b360caf5c98c6b942a4882fa9d4823efb166a9ef6a6e4aa37c1919ed1fccc04901644e5350450465302e302e30190960777777772e747275737465646669726d776172652e6f72675847304502210086e90f5aa170964d2ae6de6d0018e2e5609bf5c2d601289d4e314b930f700ff00220704e74aebea7de2b47b571acff334bb6252a9cb201120ec7478b7d0ef1c4fa1c
]]></artwork>
      <t>The Relying Party (co-located with the gateway) then treats the Evidence as opaque and sends it to the Verifier.
Once the Verifier sends back the Attestation Result, the Relying Party can be assured on the version of the firmware that the device is running.</t>
    </section>
    <section anchor="open-discussion-remote-attestation-over-edhoc-over-oscore">
      <name>Open discussion: remote attestation over EDHOC/ over OSCORE</name>
      <t>TBD</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank Thomas Fossati, Goran Selander, Malisa Vucinic, Ionut Mihalcea, Muhammad Usama Sardar and Michael Richardson for the provided ideas and feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
I/AfJhyFC849Ue3n/wLfuvYM+LIAAA==

-->

</rfc>
