<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.24 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lake-ra-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="RA-EDHOC">Remote attestation over EDHOC</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lake-ra-01"/>
    <author initials="Y." surname="Song" fullname="Yuxuan Song">
      <organization>Inria</organization>
      <address>
        <email>yuxuan.song@inria.fr</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson AB</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>Security</area>
    <workgroup>Lightweight Authenticated Key Exchange</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 52?>

<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://lake-wg.github.io/ra/draft-ietf-lake-ra.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-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/lake-wg/ra"/>.</t>
    </note>
  </front>
  <middle>
    <?line 56?>

<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 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 both models.-->
<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>
      <t>This document specifies the protocol between the Attester and the Relying Party.
The details of the protocol between the Relying Party and the Verifier in the background-check model, and the protocol between the Attester and the Verifier in the passport model are out of the scope.
This communication may be secured through protocols such as EDHOC, TLS or other security protocols that support the secure transmission to and from the Verifier.</t>
      <!--Discuss EAT-->
<t>One way of conveying attestation evidence or the 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.
This specification also defines new EAD items needed to perform remote attesation over EDHOC in <xref target="ead-bg"/> and <xref target="ead-pp"/>.</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="overview">
      <name>Overview</name>
      <t>This specification describes how to perform remote attestation over the EDHOC protocol, following the RATS architecture.
EDHOC provides the benefit of minimal message overhead and reduced round trips for a lightweight authentication.
More importantly, by integrating remote attestation with EDHOC, attestation can be run in parallel with authentication, improving the efficiency and maintaining lightweight properties.</t>
      <t>Remote attestation protocol elements are carried within EDHOC's External Authorization Data (EAD) fields.
EDHOC <xref target="RFC9528"/> supports one or more EAD items in each EAD field.</t>
      <t>In <xref target="attestation-dimensions"/>, this document defines three independent dimensions for performing remote attestation over EDHOC:</t>
      <ol spacing="normal" type="1"><li>
          <t>Target (see <xref target="targets"/>) defining the entity that undergoes the attestation process (IoT device or network service).</t>
        </li>
        <li>
          <t>Model (see <xref target="models"/>) defining the attestation model in use based on the RATS architecture (background-check model or passport model).</t>
        </li>
        <li>
          <t>Message Flow (see <xref target="flow"/>) defining the EDHOC message flow in use (forward message flow or reverse message flow).</t>
        </li>
      </ol>
      <t>This document specifies the cases that are suited for constrained IoT environments.</t>
    </section>
    <section anchor="assumptions">
      <name>Assumptions</name>
      <t>In the background-check model, one assumption is that the Verifier outputs a fresh nonce and that same nonce is passed on to the EDHOC session.
The Verifier is assumed to know how to verify at least one format of the evidence types provided by the Attester.
This specification assumes that the Relying Party also has knowledge about the Attester, so it can narrow down the evidence type selection and send to the Attester only one format of the evidence type.
The Attester should have an explicit relation with the Verifier, such as from device manufacturing, so that the Verifier can evaluate the Evidence that is produced by the Attester.</t>
      <t>In the passport model, the credential identity 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.
The use of timestamps for ensuring freshness in the passport model assumes synchronized time between the Attester and the Relying Party.
For detailed time considerations, refer to <xref section="A" sectionFormat="of" target="RFC9334"/>.</t>
      <t>EDITOR NOTE: add attestation public key stored in Verifier</t>
    </section>
    <section anchor="attestation-dimensions">
      <name>Remote Attestation in EDHOC</name>
      <t>This section specifies three independent dimensions that characterize the remote attestation process over EDHOC.</t>
      <section anchor="targets">
        <name>Target</name>
        <t>Defines the entity that undergoes the attestation process.</t>
        <section anchor="iot-device-attestation-iot">
          <name>IoT Device Attestation (IoT)</name>
          <t>The IoT device acts as the Attester.</t>
        </section>
        <section anchor="network-service-attestation-net">
          <name>Network Service Attestation (Net)</name>
          <t>The network service acts as the Attester.</t>
          <t>This attestation pattern applies when constrained devices need to establish trust with a network gateway.
For example, before transmitting sensitive data to a network gateway, a constrained device requires attestation of the network gateway.</t>
        </section>
      </section>
      <section anchor="models">
        <name>Model</name>
        <t>Defines the attestation models based on RATS architecture.
This specification supports both the RATS background-check model (see <xref target="bg"/>) and the passport model (see <xref target="pp"/>).
The corresponding EAD items for background-check model and the passport model are independent of each other.
The EAD items are specified in <xref target="ead-bg"/> for the background-check model and in <xref target="ead-pp"/> for the passport model.</t>
        <section anchor="bg">
          <name>Background-check Model (BG)</name>
          <t>In the background-check model, the Attester sends the evidence to the Relying Party.
The Relying Party transfers the evidence to the Verifier and gets back the attestation result from the Verifier.</t>
          <t>An EDHOC session is established between the Attester and the Relying Party.
A negotiation of the evidence type is required before the Attester sends the evidence.
All three parties must agree on a selected evidence type.</t>
          <t>The Attester first sends a list of the proposed evidence types to the Relying Party.
The list is formatted as an Attestation proposal in an EDHOC EAD item.
The Relying Party relays the list to the Verifier and receives at least one supported evidence type from the Verifier in return.
If the Relying Party receives more than one evidence type, a single evidence type should be selected by the Relying Party based on its knowledge of the Attester.
The Relying Party then sends it back within the Attestation request to the Attester.</t>
          <t>A nonce, at least 8-bytes long <xref target="I-D.ietf-rats-eat"/>), guarantees the freshness of the attestation session.
The nonce is generated by the Verifier and sent to the Relying Party.
The Relying Party puts the nonce and the selected evidence type together in a tuple to generate an Attestation request.</t>
          <t>Once the Attester receives the Attestation request, it can call its attestation service to generate the evidence, with the nonce value as one of the inputs.</t>
          <section anchor="ead-bg">
            <name>External Authorization Data (EAD) Items for background-check model</name>
            <t>EAD items that are used for the background-check model are defined in this section.</t>
            <section anchor="attestation-proposal">
              <name>Attestation_proposal</name>
              <t>To propose a list of provided evidence types 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 types of the attestation claims the Attester supports.
The Proposed_EvidenceType is 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 ]

content-format = uint
]]></artwork>
              <t>where</t>
              <ul spacing="normal">
                <li>
                  <t>Proposed_EvidenceType 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 EAD 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 as defined in <xref section="6" sectionFormat="of" target="RFC9528"/>.</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 = TBD1</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 .size 8..64
)
]]></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 EAD 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 as defined in <xref section="6" sectionFormat="of" target="RFC9528"/>.</t>
            </section>
            <section anchor="evidence">
              <name>Evidence</name>
              <t>The Attester calls its local attestation service to generate and return a serialized Entity Attestation Token (EAT) <xref target="I-D.ietf-rats-eat"/> as Evidence.
The Evidence is sent in EAD_3 within EDHOC message_3.</t>
              <t>The EAD item is:</t>
              <ul spacing="normal">
                <li>
                  <t>ead_label = TBD1</t>
                </li>
                <li>
                  <t>ead_value is a serialized EAT.</t>
                </li>
              </ul>
              <t>For remote attestation over EDHOC, The EAT <bcp14>MUST</bcp14> be formatted as a CBOR Web Token (CWT) containing attestation-oriented claims.
The complete set of attestation claims for the EAT is specified in <xref target="I-D.ietf-rats-eat"/>.</t>
              <t>A minimal claims set <bcp14>MAY</bcp14> be implemented when the Attester operates under constrained message size requirements and/or limited computational resources.</t>
              <artwork><![CDATA[
{
/eat-nonce/          10: bstr .size 8
/ueid/               256: bstr .size (7..33)
/measurements/       273: measurements-type
}
]]></artwork>
              <t>The measurements claim <bcp14>MAY</bcp14> be formatted according to <xref target="RFC9393"/>.
When CoSWID <xref target="RFC9393"/> is used, the claim <bcp14>MUST</bcp14> be an evidence CoSWID rather than a payload CoSWID.
Formats other than CoSWID are permitted and <bcp14>MUST</bcp14> be identified by CoAP Content Format.</t>
              <artwork><![CDATA[
measurements-type = [+ measurements-format]

measurements-format = [
      content-type: coap-content-format,
      content-format: bytes .cbor measurements-body-cbor
]
]]></artwork>
            </section>
            <section anchor="trigger-bg">
              <name>trigger_bg</name>
              <t>The EAD item trigger_bg is used when the sender triggers the receiver to start a remote attestation in the background-check model.
The receiver <bcp14>MUST</bcp14> reply with an EAD item corresponding to the background-check model.
The ead_value <bcp14>MUST</bcp14> be empty, as the ead_label serves as the trigger.</t>
              <t>The EAD item is:</t>
              <ul spacing="normal">
                <li>
                  <t>ead_label = TBD2</t>
                </li>
                <li>
                  <t>ead_value = null</t>
                </li>
              </ul>
            </section>
          </section>
        </section>
        <section anchor="pp">
          <name>Passport Model (PP)</name>
          <t>In the passport model, the Attester sends the evidence to the Verifier.
After the Attester receives the attestation result from the Verifier, the Attester sends the attestation result to the Relying Party.</t>
          <t>An EDHOC session is established between the Attester and the Relying Party.
The Attester and the Relying Party should decide from which Verifier the Attester obtains the attestation result and transfers it to the Relying Party.
The Attester first sends a list of the Verifier identities that it can get the attestation result.
The Relying Party selects one trusted Verifier identity and sends it back as a Result request.</t>
          <t>Regarding the freshness in passport model, the Attester could either establish a real-time connection with the selected Verifier, or use a pre-stored attestation result from the selected Verifier.
If the attestation result is not obtained via a real-time connection, it should include a time stamp and/or expiry time to indicate its validity.
Time synchronization is out of scope of this specification.</t>
          <t>Once the Attester obtains the attestation result from the selected Verifier, it sends the attestation result to the Relying Party.</t>
          <section anchor="ead-pp">
            <name>External Authorization Data (EAD) Items for passport model</name>
            <t>EAD items that are used for the passport model are defined in this section.</t>
            <section anchor="result-proposal">
              <name>Result_proposal</name>
              <t>An attestation result proposal 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 label and credential value.</t>
              <t>The EAD item for the attestation result proposal is:</t>
              <ul spacing="normal">
                <li>
                  <t>ead_label = TBD3</t>
                </li>
                <li>
                  <t>ead_value = Result_proposal, which is a CBOR byte string:</t>
                </li>
              </ul>
              <artwork><![CDATA[
Result_proposal = bstr .cbor Proposed_VerifierIdentity
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 = TBD3</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 = TBD3</t>
                </li>
                <li>
                  <t>ead_value is a serialized EAT.</t>
                </li>
              </ul>
            </section>
            <section anchor="trigger-pp">
              <name>trigger_pp</name>
              <t>The EAD item trigger_pp is used when the sender triggers the receiver to start a remote attestation in the passport model.
The receiver <bcp14>MUST</bcp14> reply with an EAD item correspondign to the passport model.
The ead_value <bcp14>MUST</bcp14> be empty, as the ead_label serves as the trigger.</t>
              <t>The EAD item is:</t>
              <ul spacing="normal">
                <li>
                  <t>ead_label = TBD4</t>
                </li>
                <li>
                  <t>ead_value = null</t>
                </li>
              </ul>
            </section>
          </section>
        </section>
      </section>
      <section anchor="flow">
        <name>EDHOC Message Flow</name>
        <t>The EDHOC protocol defines two possible message flows, namely the EDHOC forward message flow and the EDHOC reverse message flow (see <xref section="A.2.2" sectionFormat="of" target="RFC9528"/>).
In this specification, both flows can be used to perform remote attestation.</t>
        <section anchor="edhoc-forward-message-flow-fwd">
          <name>EDHOC Forward Message Flow (Fwd)</name>
          <t>In forward message flow, EDHOC may run with the Initiator as a CoAP/HTTP client.
Remote attestation over EDHOC starts with a POST requests to the Uri-Path: "/.well-known/lake-ra".</t>
        </section>
        <section anchor="edhoc-reverse-message-flow-rev">
          <name>EDHOC Reverse Message Flow (Rev)</name>
          <t>In the reverse message flow, the CoAP/HTTP client is the Responder and the server is the Initiator.
A new EDHOC session begins with an empty POST request to the server's resource for EDHOC.</t>
        </section>
      </section>
    </section>
    <section anchor="attestation-combinations">
      <name>Instantiation of Remote Attestation Protocol</name>
      <t>We use the format (Target, Model, Message Flow) to denote instantiations.
For example, (IoT, BG, Fwd) represents IoT device attestation using the background-check model with forward EDHOC message flow.</t>
      <t>Although there are 8 cases (IoT/Net, BG/PP, Fwd/Rev), this document specifies the most relevant instantiations for constrained IoT environments.</t>
      <section anchor="iot-attesation">
        <name>(IoT, BG, Fwd): IoT Device Attestation</name>
        <t>A common use case for (IoT, BG, Fwd) is to attest an IoT device to a network server.
For example, a simple illustratice case is 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>
        <t>An overview of doing IoT device attestation in background-check model and EDHOC forward message flow is established in <xref target="fig-iot-bg-fwd"/>.
EDHOC Initiator plays the role of the RATS Attester (A).
EDHOC Responder plays the role of the RATS Relying Party (RP).
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 (V).
The EAD items specific to the background-check model are defined in <xref target="ead-bg"/>.</t>
        <t>The Attester starts the attestation by sending an Attestation proposal in EDHOC message_1.
The Relying Party generates EAD_2 with the received evidence type and nonce from the Verifier, and sends it to the Attester.
The Attester sends the Evidence to the Relying Party in EAD_3.
The Verifier evaluates the Evidence and sends the Attestation result to the Relying Party.</t>
        <figure anchor="fig-iot-bg-fwd">
          <name>Overview of IoT device attestation in background-check model and EDHOC forward message flow. 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="528" width="616" viewBox="0 0 616 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,496" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,128" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,128" fill="none" stroke="black"/>
                <path d="M 344,128 L 344,496" fill="none" stroke="black"/>
                <path d="M 416,32 L 416,128" fill="none" stroke="black"/>
                <path d="M 520,96 L 520,128" fill="none" stroke="black"/>
                <path d="M 568,128 L 568,496" fill="none" stroke="black"/>
                <path d="M 608,96 L 608,128" fill="none" stroke="black"/>
                <path d="M 8,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 272,32 L 416,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 152,64" fill="none" stroke="black"/>
                <path d="M 272,64 L 416,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 272,96 L 416,96" fill="none" stroke="black"/>
                <path d="M 520,96 L 608,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 272,128 L 416,128" fill="none" stroke="black"/>
                <path d="M 520,128 L 608,128" fill="none" stroke="black"/>
                <path d="M 80,176 L 336,176" fill="none" stroke="black"/>
                <path d="M 344,224 L 560,224" fill="none" stroke="black"/>
                <path d="M 352,240 L 568,240" fill="none" stroke="black"/>
                <path d="M 88,304 L 344,304" fill="none" stroke="black"/>
                <path d="M 80,352 L 336,352" fill="none" stroke="black"/>
                <path d="M 344,384 L 560,384" fill="none" stroke="black"/>
                <path d="M 352,400 L 568,400" fill="none" stroke="black"/>
                <path d="M 96,480 L 328,480" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="568,384 556,378.4 556,389.6" fill="black" transform="rotate(0,560,384)"/>
                <polygon class="arrowhead" points="568,224 556,218.4 556,229.6" fill="black" transform="rotate(0,560,224)"/>
                <polygon class="arrowhead" points="360,400 348,394.4 348,405.6" fill="black" transform="rotate(180,352,400)"/>
                <polygon class="arrowhead" points="360,240 348,234.4 348,245.6" fill="black" transform="rotate(180,352,240)"/>
                <polygon class="arrowhead" points="344,352 332,346.4 332,357.6" fill="black" transform="rotate(0,336,352)"/>
                <polygon class="arrowhead" points="344,176 332,170.4 332,181.6" fill="black" transform="rotate(0,336,176)"/>
                <polygon class="arrowhead" points="336,480 324,474.4 324,485.6" fill="black" transform="rotate(0,328,480)"/>
                <polygon class="arrowhead" points="104,480 92,474.4 92,485.6" fill="black" transform="rotate(180,96,480)"/>
                <polygon class="arrowhead" points="96,304 84,298.4 84,309.6" fill="black" transform="rotate(180,88,304)"/>
                <g class="text">
                  <text x="48" y="52">IoT</text>
                  <text x="92" y="52">device</text>
                  <text x="312" y="52">Network</text>
                  <text x="376" y="52">service</text>
                  <text x="40" y="84">EDHOC</text>
                  <text x="104" y="84">Initiator</text>
                  <text x="304" y="84">EDHOC</text>
                  <text x="368" y="84">Responder</text>
                  <text x="84" y="116">Attester</text>
                  <text x="320" y="116">Relying</text>
                  <text x="376" y="116">Party</text>
                  <text x="564" y="116">Verifier</text>
                  <text x="120" y="164">EAD_1</text>
                  <text x="152" y="164">=</text>
                  <text x="208" y="164">Attestation</text>
                  <text x="292" y="164">proposal</text>
                  <text x="400" y="212">Attestation</text>
                  <text x="488" y="212">proposal,</text>
                  <text x="544" y="212">C_R</text>
                  <text x="428" y="260">EvidenceType(s),</text>
                  <text x="520" y="260">Nonce</text>
                  <text x="120" y="292">EAD_2</text>
                  <text x="152" y="292">=</text>
                  <text x="208" y="292">Attestation</text>
                  <text x="288" y="292">request</text>
                  <text x="120" y="340">EAD_3</text>
                  <text x="152" y="340">=</text>
                  <text x="196" y="340">Evidence</text>
                  <text x="432" y="372">Evidence,</text>
                  <text x="488" y="372">C_R</text>
                  <text x="424" y="420">Attestation</text>
                  <text x="500" y="420">result</text>
                  <text x="176" y="500">EDHOC</text>
                  <text x="232" y="500">session</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+-----------------+              +-----------------+
|   IoT device    |              | Network service |
+-----------------+              +-----------------+
| EDHOC Initiator |              | EDHOC Responder |
+-----------------+              +-----------------+            +----------+
|     Attester    |              |  Relying Party  |            | Verifier |
+--------+--------+              +--------+--------+            +-----+----+
         |                                |                           |
         |  EAD_1 = Attestation proposal  |                           |
         +------------------------------->|                           |
         |                                |                           |
         |                                | Attestation proposal, C_R |
         |                                +-------------------------->|
         |                                |<--------------------------+
         |                                |  EvidenceType(s), Nonce   |
         |                                |                           |
         |  EAD_2 = Attestation request   |                           |
         |<-------------------------------+                           |
         |                                |                           |
         |  EAD_3 = Evidence              |                           |
         +------------------------------->|                           |
         |                                |      Evidence, C_R        |
         |                                +-------------------------->|
         |                                |<--------------------------+
         |                                |    Attestation result     |
         |                                |                           |
         |                                |                           |
         |                                |                           |
         | <----------------------------> |                           |
         |         EDHOC session          |                           |

]]></artwork>
          </artset>
        </figure>
        <t>This specification also supports a simplified attestation model for scenarios where a pre-existing relationship exists between the Attester and the Verifier.
In such cases, when the Verifier possesses prior knowledge of the evidence format (CBOR) and its expected profile of the EAT claims set (e.g., CoSWID), the evidence types negotiation <bcp14>MAY</bcp14> be omitted.
Under these circumstances, the attestation process is simplified as:</t>
        <figure anchor="fig-iot-bg-fwd-s">
          <name>Simplified IoT device attestation in background-check model with EDHOC forward message flow. Pre-existing relationship between A and V.</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="528" width="616" viewBox="0 0 616 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,496" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,128" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,128" fill="none" stroke="black"/>
                <path d="M 344,128 L 344,496" fill="none" stroke="black"/>
                <path d="M 416,32 L 416,128" fill="none" stroke="black"/>
                <path d="M 520,96 L 520,128" fill="none" stroke="black"/>
                <path d="M 568,128 L 568,496" fill="none" stroke="black"/>
                <path d="M 608,96 L 608,128" fill="none" stroke="black"/>
                <path d="M 8,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 272,32 L 416,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 152,64" fill="none" stroke="black"/>
                <path d="M 272,64 L 416,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 272,96 L 416,96" fill="none" stroke="black"/>
                <path d="M 520,96 L 608,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 272,128 L 416,128" fill="none" stroke="black"/>
                <path d="M 520,128 L 608,128" fill="none" stroke="black"/>
                <path d="M 80,176 L 336,176" fill="none" stroke="black"/>
                <path d="M 344,224 L 560,224" fill="none" stroke="black"/>
                <path d="M 352,240 L 568,240" fill="none" stroke="black"/>
                <path d="M 88,304 L 344,304" fill="none" stroke="black"/>
                <path d="M 80,352 L 336,352" fill="none" stroke="black"/>
                <path d="M 344,384 L 560,384" fill="none" stroke="black"/>
                <path d="M 352,400 L 568,400" fill="none" stroke="black"/>
                <path d="M 96,480 L 328,480" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="568,384 556,378.4 556,389.6" fill="black" transform="rotate(0,560,384)"/>
                <polygon class="arrowhead" points="568,224 556,218.4 556,229.6" fill="black" transform="rotate(0,560,224)"/>
                <polygon class="arrowhead" points="360,400 348,394.4 348,405.6" fill="black" transform="rotate(180,352,400)"/>
                <polygon class="arrowhead" points="360,240 348,234.4 348,245.6" fill="black" transform="rotate(180,352,240)"/>
                <polygon class="arrowhead" points="344,352 332,346.4 332,357.6" fill="black" transform="rotate(0,336,352)"/>
                <polygon class="arrowhead" points="344,176 332,170.4 332,181.6" fill="black" transform="rotate(0,336,176)"/>
                <polygon class="arrowhead" points="336,480 324,474.4 324,485.6" fill="black" transform="rotate(0,328,480)"/>
                <polygon class="arrowhead" points="104,480 92,474.4 92,485.6" fill="black" transform="rotate(180,96,480)"/>
                <polygon class="arrowhead" points="96,304 84,298.4 84,309.6" fill="black" transform="rotate(180,88,304)"/>
                <g class="text">
                  <text x="48" y="52">IoT</text>
                  <text x="92" y="52">device</text>
                  <text x="312" y="52">Network</text>
                  <text x="376" y="52">service</text>
                  <text x="40" y="84">EDHOC</text>
                  <text x="104" y="84">Initiator</text>
                  <text x="304" y="84">EDHOC</text>
                  <text x="368" y="84">Responder</text>
                  <text x="84" y="116">Attester</text>
                  <text x="320" y="116">Relying</text>
                  <text x="376" y="116">Party</text>
                  <text x="564" y="116">Verifier</text>
                  <text x="120" y="164">EAD_1</text>
                  <text x="152" y="164">=</text>
                  <text x="204" y="164">trigger_bg</text>
                  <text x="448" y="212">C_R</text>
                  <text x="448" y="260">Nonce</text>
                  <text x="120" y="292">EAD_2</text>
                  <text x="152" y="292">=</text>
                  <text x="184" y="292">Nonce</text>
                  <text x="120" y="340">EAD_3</text>
                  <text x="152" y="340">=</text>
                  <text x="196" y="340">Evidence</text>
                  <text x="432" y="372">Evidence,</text>
                  <text x="488" y="372">C_R</text>
                  <text x="424" y="420">Attestation</text>
                  <text x="500" y="420">result</text>
                  <text x="176" y="500">EDHOC</text>
                  <text x="232" y="500">session</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+-----------------+              +-----------------+
|   IoT device    |              | Network service |
+-----------------+              +-----------------+
| EDHOC Initiator |              | EDHOC Responder |
+-----------------+              +-----------------+            +----------+
|     Attester    |              |  Relying Party  |            | Verifier |
+--------+--------+              +--------+--------+            +-----+----+
         |                                |                           |
         |  EAD_1 = trigger_bg            |                           |
         +------------------------------->|                           |
         |                                |                           |
         |                                |           C_R             |
         |                                +-------------------------->|
         |                                |<--------------------------+
         |                                |          Nonce            |
         |                                |                           |
         |  EAD_2 = Nonce                 |                           |
         |<-------------------------------+                           |
         |                                |                           |
         |  EAD_3 = Evidence              |                           |
         +------------------------------->|                           |
         |                                |      Evidence, C_R        |
         |                                +-------------------------->|
         |                                |<--------------------------+
         |                                |    Attestation result     |
         |                                |                           |
         |                                |                           |
         |                                |                           |
         | <----------------------------> |                           |
         |         EDHOC session          |                           |

]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="network-attestation">
        <name>(Net, PP, Fwd): Network Service Attestation</name>
        <t>One use case for (Net, PP, Fwd) 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 (Net, PP, Fwd), the network server acts as an Attester and the client acts as a Relying Party.</t>
        <t>An overview of the message flow is illustrated in <xref target="fig-net-pp-fwd"/>.
EDHOC Initiator plays the role of the RATS Relying Party.
EDHOC Responder plays the role of the RATS Attester.
An external entity, out of scope of this specification, plays the role of the RATS Verifier.
The EAD items specific to the passport model are defined in <xref target="ead-pp"/>.</t>
        <t>The Relying Party asks the Attester to do a remote attestation by sending a trigger_pp (see <xref target="trigger-pp"/>) in EDHOC message_1.
The Attester replies to the Relying Party with a Result proposal in EAD_2.
Then the Relying Party selects a trusted Verifier identity and sends it as a Result request.
How the Attester negotiates with the selected Verifier to get the attestation result is out of scope of this specification.
A fourth EDHOC message is required to send the Result from the Attester to the Relying Party.</t>
        <figure anchor="fig-net-pp-fwd">
          <name>Overview of network service attestation in passport model and EDHOC forward message flow. EDHOC is used between RP and A. The dashed line illustrates a logical connection that does not need to occur in real time.</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="448" width="584" viewBox="0 0 584 448" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,432" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,128" fill="none" stroke="black"/>
                <path d="M 240,32 L 240,128" fill="none" stroke="black"/>
                <path d="M 312,128 L 312,432" fill="none" stroke="black"/>
                <path d="M 384,32 L 384,128" fill="none" stroke="black"/>
                <path d="M 488,96 L 488,128" fill="none" stroke="black"/>
                <path d="M 536,128 L 536,432" fill="none" stroke="black"/>
                <path d="M 576,96 L 576,128" fill="none" stroke="black"/>
                <path d="M 8,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 240,32 L 384,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 152,64" fill="none" stroke="black"/>
                <path d="M 240,64 L 384,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 240,96 L 384,96" fill="none" stroke="black"/>
                <path d="M 488,96 L 576,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 240,128 L 384,128" fill="none" stroke="black"/>
                <path d="M 488,128 L 576,128" fill="none" stroke="black"/>
                <path d="M 80,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 88,224 L 312,224" fill="none" stroke="black"/>
                <path d="M 80,272 L 304,272" fill="none" stroke="black"/>
                <path d="M 312,288 L 336,288" fill="none" stroke="black"/>
                <path d="M 360,288 L 376,288" fill="none" stroke="black"/>
                <path d="M 400,288 L 416,288" fill="none" stroke="black"/>
                <path d="M 440,288 L 456,288" fill="none" stroke="black"/>
                <path d="M 480,288 L 496,288" fill="none" stroke="black"/>
                <path d="M 512,288 L 528,288" fill="none" stroke="black"/>
                <path d="M 320,304 L 344,304" fill="none" stroke="black"/>
                <path d="M 368,304 L 384,304" fill="none" stroke="black"/>
                <path d="M 408,304 L 424,304" fill="none" stroke="black"/>
                <path d="M 448,304 L 464,304" fill="none" stroke="black"/>
                <path d="M 480,304 L 496,304" fill="none" stroke="black"/>
                <path d="M 520,304 L 536,304" fill="none" stroke="black"/>
                <path d="M 88,352 L 312,352" fill="none" stroke="black"/>
                <path d="M 96,416 L 296,416" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="536,288 524,282.4 524,293.6" fill="black" transform="rotate(0,528,288)"/>
                <polygon class="arrowhead" points="328,304 316,298.4 316,309.6" fill="black" transform="rotate(180,320,304)"/>
                <polygon class="arrowhead" points="312,272 300,266.4 300,277.6" fill="black" transform="rotate(0,304,272)"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="304,416 292,410.4 292,421.6" fill="black" transform="rotate(0,296,416)"/>
                <polygon class="arrowhead" points="104,416 92,410.4 92,421.6" fill="black" transform="rotate(180,96,416)"/>
                <polygon class="arrowhead" points="96,352 84,346.4 84,357.6" fill="black" transform="rotate(180,88,352)"/>
                <polygon class="arrowhead" points="96,224 84,218.4 84,229.6" fill="black" transform="rotate(180,88,224)"/>
                <g class="text">
                  <text x="48" y="52">IoT</text>
                  <text x="92" y="52">device</text>
                  <text x="280" y="52">Network</text>
                  <text x="344" y="52">service</text>
                  <text x="40" y="84">EDHOC</text>
                  <text x="104" y="84">Initiator</text>
                  <text x="272" y="84">EDHOC</text>
                  <text x="336" y="84">Responder</text>
                  <text x="56" y="116">Relying</text>
                  <text x="112" y="116">Party</text>
                  <text x="316" y="116">Attester</text>
                  <text x="532" y="116">Verifier</text>
                  <text x="120" y="164">EAD_1</text>
                  <text x="152" y="164">=</text>
                  <text x="204" y="164">trigger_PP</text>
                  <text x="120" y="212">EAD_2</text>
                  <text x="152" y="212">=</text>
                  <text x="188" y="212">Result</text>
                  <text x="252" y="212">proposal</text>
                  <text x="120" y="260">EAD_3</text>
                  <text x="152" y="260">=</text>
                  <text x="188" y="260">Result</text>
                  <text x="248" y="260">request</text>
                  <text x="416" y="276">(request)</text>
                  <text x="412" y="324">Result</text>
                  <text x="120" y="340">EAD_4</text>
                  <text x="152" y="340">=</text>
                  <text x="188" y="340">Result</text>
                  <text x="160" y="436">EDHOC</text>
                  <text x="216" y="436">session</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+-----------------+          +-----------------+
|   IoT device    |          | Network service |
+-----------------+          +-----------------+
| EDHOC Initiator |          | EDHOC Responder |
+-----------------+          +-----------------+            +----------+
|  Relying Party  |          |     Attester    |            | Verifier |
+--------+--------+          +--------+--------+            +-----+----+
         |                            |                           |
         |  EAD_1 = trigger_PP        |                           |
         +--------------------------->|                           |
         |                            |                           |
         |  EAD_2 = Result proposal   |                           |
         |<---------------------------+                           |
         |                            |                           |
         |  EAD_3 = Result request    |                           |
         +--------------------------->|        (request)          |
         |                            +---  ---  ---  ---  --- -->|
         |                            |<---  ---  ---  --- ---  --+
         |                            |         Result            |
         |  EAD_4 = Result            |                           |
         |<---------------------------+                           |
         |                            |                           |
         |                            |                           |
         |                            |                           |
         | <------------------------> |                           |
         |       EDHOC session        |                           |
]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="mutual-attestation">
      <name>Mutual Attestation in EDHOC</name>
      <t>Mutual attestation over EDHOC combines the cases where one of the EDHOC parties uses the IoT device attestation and the other uses the Network service attestation.
Performing mutual attestation to a single EDHOC message flow acheives a lightweight use with reduced message overhead.
Note that the message flow for the two parties in mutual attestation needs to be the same.</t>
      <t>In this specification, we list the most relevant mutual attestation example for constrained IoT environments.</t>
      <section anchor="iot-bg-fwd-net-pp-fwd">
        <name>(IoT, BG, Fwd) - (Net, PP, Fwd)</name>
        <t>In this example, the mutual attestation is performed in EDHOC forward message flow, by one IoT device attestation in background-check model and another network service attestation in passport model.
The process is illustrated in <xref target="fig-mutual-attestation-BP"/>.
How the Network service connects with the Verifier_1 and potential Verifier_2 is out of scope in this specification.</t>
        <t>The first remote attestation is initiated by the IoT device (A_1) in background-check model.
In parallel, the IoT device (A_1) requests the network service (A_2) to perform a remote attestation in passport model.
EAD_2 carries the EAD items Attestation request and Result proposal.
EAD_3 carries the EAD items Evidence and Result request.
EAD_4 carries the EAD item Result for the passport model.</t>
        <figure anchor="fig-mutual-attestation-BP">
          <name>Overview of mutual attestation of (IoT, BG, Fwd) - (Net, PP, Fwd). EDHOC is used between A and RP. The dashed line illustrates a logical connection that does not need to occur in real time.</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="752" width="864" viewBox="0 0 864 752" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,720" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,128" fill="none" stroke="black"/>
                <path d="M 280,32 L 280,128" fill="none" stroke="black"/>
                <path d="M 352,128 L 352,720" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,128" fill="none" stroke="black"/>
                <path d="M 528,96 L 528,128" fill="none" stroke="black"/>
                <path d="M 584,128 L 584,720" fill="none" stroke="black"/>
                <path d="M 632,96 L 632,128" fill="none" stroke="black"/>
                <path d="M 752,96 L 752,128" fill="none" stroke="black"/>
                <path d="M 808,128 L 808,720" fill="none" stroke="black"/>
                <path d="M 856,96 L 856,128" fill="none" stroke="black"/>
                <path d="M 8,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 280,32 L 424,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 152,64" fill="none" stroke="black"/>
                <path d="M 280,64 L 424,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 280,96 L 424,96" fill="none" stroke="black"/>
                <path d="M 528,96 L 632,96" fill="none" stroke="black"/>
                <path d="M 752,96 L 856,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 280,128 L 424,128" fill="none" stroke="black"/>
                <path d="M 528,128 L 632,128" fill="none" stroke="black"/>
                <path d="M 752,128 L 856,128" fill="none" stroke="black"/>
                <path d="M 80,192 L 344,192" fill="none" stroke="black"/>
                <path d="M 352,256 L 576,256" fill="none" stroke="black"/>
                <path d="M 360,272 L 584,272" fill="none" stroke="black"/>
                <path d="M 88,336 L 352,336" fill="none" stroke="black"/>
                <path d="M 80,416 L 344,416" fill="none" stroke="black"/>
                <path d="M 352,464 L 576,464" fill="none" stroke="black"/>
                <path d="M 352,480 L 376,480" fill="none" stroke="black"/>
                <path d="M 392,480 L 408,480" fill="none" stroke="black"/>
                <path d="M 424,480 L 440,480" fill="none" stroke="black"/>
                <path d="M 456,480 L 472,480" fill="none" stroke="black"/>
                <path d="M 488,480 L 504,480" fill="none" stroke="black"/>
                <path d="M 520,480 L 536,480" fill="none" stroke="black"/>
                <path d="M 560,480 L 584,480" fill="none" stroke="black"/>
                <path d="M 600,480 L 616,480" fill="none" stroke="black"/>
                <path d="M 640,480 L 656,480" fill="none" stroke="black"/>
                <path d="M 680,480 L 696,480" fill="none" stroke="black"/>
                <path d="M 712,480 L 728,480" fill="none" stroke="black"/>
                <path d="M 744,480 L 760,480" fill="none" stroke="black"/>
                <path d="M 776,480 L 800,480" fill="none" stroke="black"/>
                <path d="M 360,544 L 584,544" fill="none" stroke="black"/>
                <path d="M 360,576 L 384,576" fill="none" stroke="black"/>
                <path d="M 408,576 L 424,576" fill="none" stroke="black"/>
                <path d="M 448,576 L 464,576" fill="none" stroke="black"/>
                <path d="M 488,576 L 504,576" fill="none" stroke="black"/>
                <path d="M 528,576 L 544,576" fill="none" stroke="black"/>
                <path d="M 568,576 L 584,576" fill="none" stroke="black"/>
                <path d="M 600,576 L 616,576" fill="none" stroke="black"/>
                <path d="M 640,576 L 656,576" fill="none" stroke="black"/>
                <path d="M 680,576 L 696,576" fill="none" stroke="black"/>
                <path d="M 712,576 L 728,576" fill="none" stroke="black"/>
                <path d="M 752,576 L 768,576" fill="none" stroke="black"/>
                <path d="M 784,576 L 808,576" fill="none" stroke="black"/>
                <path d="M 88,624 L 352,624" fill="none" stroke="black"/>
                <path d="M 96,704 L 336,704" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="808,480 796,474.4 796,485.6" fill="black" transform="rotate(0,800,480)"/>
                <polygon class="arrowhead" points="584,464 572,458.4 572,469.6" fill="black" transform="rotate(0,576,464)"/>
                <polygon class="arrowhead" points="584,256 572,250.4 572,261.6" fill="black" transform="rotate(0,576,256)"/>
                <polygon class="arrowhead" points="368,576 356,570.4 356,581.6" fill="black" transform="rotate(180,360,576)"/>
                <polygon class="arrowhead" points="368,544 356,538.4 356,549.6" fill="black" transform="rotate(180,360,544)"/>
                <polygon class="arrowhead" points="368,272 356,266.4 356,277.6" fill="black" transform="rotate(180,360,272)"/>
                <polygon class="arrowhead" points="352,416 340,410.4 340,421.6" fill="black" transform="rotate(0,344,416)"/>
                <polygon class="arrowhead" points="352,192 340,186.4 340,197.6" fill="black" transform="rotate(0,344,192)"/>
                <polygon class="arrowhead" points="344,704 332,698.4 332,709.6" fill="black" transform="rotate(0,336,704)"/>
                <polygon class="arrowhead" points="104,704 92,698.4 92,709.6" fill="black" transform="rotate(180,96,704)"/>
                <polygon class="arrowhead" points="96,624 84,618.4 84,629.6" fill="black" transform="rotate(180,88,624)"/>
                <polygon class="arrowhead" points="96,336 84,330.4 84,341.6" fill="black" transform="rotate(180,88,336)"/>
                <g class="text">
                  <text x="48" y="52">IoT</text>
                  <text x="92" y="52">device</text>
                  <text x="320" y="52">Network</text>
                  <text x="384" y="52">service</text>
                  <text x="40" y="84">EDHOC</text>
                  <text x="104" y="84">Initiator</text>
                  <text x="312" y="84">EDHOC</text>
                  <text x="376" y="84">Responder</text>
                  <text x="76" y="116">A_1/RP_2</text>
                  <text x="348" y="116">RP_1/A_2</text>
                  <text x="580" y="116">Verifier_1</text>
                  <text x="804" y="116">Verifier_2</text>
                  <text x="120" y="164">EAD_1</text>
                  <text x="152" y="164">=</text>
                  <text x="208" y="164">Attestation</text>
                  <text x="296" y="164">proposal,</text>
                  <text x="204" y="180">trigger_PP</text>
                  <text x="416" y="244">Attestation</text>
                  <text x="504" y="244">proposal,</text>
                  <text x="560" y="244">C_R</text>
                  <text x="444" y="292">EvidenceType(s),</text>
                  <text x="536" y="292">Nonce</text>
                  <text x="120" y="308">EAD_2</text>
                  <text x="152" y="308">=</text>
                  <text x="208" y="308">Attestation</text>
                  <text x="292" y="308">request,</text>
                  <text x="188" y="324">Result</text>
                  <text x="252" y="324">proposal</text>
                  <text x="120" y="388">EAD_3</text>
                  <text x="152" y="388">=</text>
                  <text x="200" y="388">Evidence,</text>
                  <text x="188" y="404">Result</text>
                  <text x="248" y="404">request</text>
                  <text x="448" y="452">Evidence,</text>
                  <text x="504" y="452">C_R</text>
                  <text x="696" y="468">(Request)</text>
                  <text x="432" y="532">Attestation</text>
                  <text x="508" y="532">result</text>
                  <text x="476" y="596">Result</text>
                  <text x="120" y="612">EAD_4</text>
                  <text x="152" y="612">=</text>
                  <text x="188" y="612">Result</text>
                  <text x="184" y="724">EDHOC</text>
                  <text x="240" y="724">session</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+-----------------+               +-----------------+
|   IoT device    |               | Network service |
+-----------------+               +-----------------+
| EDHOC Initiator |               | EDHOC Responder |
+-----------------+               +-----------------+            +------------+              +------------+
|    A_1/RP_2     |               |    RP_1/A_2     |            | Verifier_1 |              | Verifier_2 |
+--------+--------+               +--------+--------+            +------+-----+              +------+-----+
         |                                 |                            |                           |
         |  EAD_1 = Attestation proposal,  |                            |                           |
         |          trigger_PP             |                            |                           |
         +-------------------------------->|                            |                           |
         |                                 |                            |                           |
         |                                 |                            |                           |
         |                                 |  Attestation proposal, C_R |                           |
         |                                 +--------------------------->|                           |
         |                                 |<---------------------------+                           |
         |                                 |   EvidenceType(s), Nonce   |                           |
         |  EAD_2 = Attestation request,   |                            |                           |
         |          Result proposal        |                            |                           |
         |<--------------------------------+                            |                           |
         |                                 |                            |                           |
         |                                 |                            |                           |
         |  EAD_3 = Evidence,              |                            |                           |
         |          Result request         |                            |                           |
         +-------------------------------->|                            |                           |
         |                                 |                            |                           |
         |                                 |       Evidence, C_R        |                           |
         |                                 +--------------------------->|         (Request)         |
         |                                 +--- --- --- --- --- ---  ---+ ---  ---  --- --- --- --->|
         |                                 |                            |                           |
         |                                 |                            |                           |
         |                                 |    Attestation result      |                           |
         |                                 |<---------------------------+                           |
         |                                 |                            |                           |
         |                                 |<---  ---  ---  ---  ---  --+ ---  ---  --- ---  --- ---+
         |                                 |            Result          |                           |
         |  EAD_4 = Result                 |                            |                           |
         |<--------------------------------+                            |                           |
         |                                 |                            |                           |
         |                                 |                            |                           |
         |                                 |                            |                           |
         |                                 |                            |                           |
         | <-----------------------------> |                            |                           |
         |          EDHOC session          |                            |                           |

]]></artwork>
          </artset>
        </figure>
      </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 "Attestation 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">TBD5</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                            |
+==========+================+========================================+
|     TBD5 | attestation    | Attestation failed                     |
+----------+----------------+----------------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>Error code TBD5 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)".</t>
        <ul spacing="normal">
          <li>
            <t>The ead_label = TBD1 corresponds to the ead_value Attestation_proposal in <xref target="attestation-proposal"/>, Attestation_request in <xref target="attestation-request"/> and Evidence in <xref target="evidence"/>.</t>
          </li>
          <li>
            <t>The ead_label = TBD2 corresponds to the EAT item trigger_bg as specified in <xref target="trigger-bg"/>.</t>
          </li>
          <li>
            <t>The ead_label = TBD3 corresponds to the ead_value Result_proposal in <xref target="result-proposal"/>, Result_request in <xref target="result-request"/> and the Result in <xref target="result"/>.</t>
          </li>
          <li>
            <t>The ead_label = TBD4 corresponds to the EAT item trigger_pp as specified in <xref target="trigger-pp"/>.</t>
          </li>
        </ul>
        <figure anchor="fig-ead-labels">
          <name>EAD labels.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="536" viewBox="0 0 536 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,256" fill="none" stroke="black"/>
                <path d="M 104,32 L 104,256" fill="none" stroke="black"/>
                <path d="M 168,32 L 168,256" fill="none" stroke="black"/>
                <path d="M 368,32 L 368,256" fill="none" stroke="black"/>
                <path d="M 528,32 L 528,256" fill="none" stroke="black"/>
                <path d="M 8,32 L 528,32" fill="none" stroke="black"/>
                <path d="M 8,62 L 528,62" fill="none" stroke="black"/>
                <path d="M 8,66 L 528,66" fill="none" stroke="black"/>
                <path d="M 8,112 L 528,112" fill="none" stroke="black"/>
                <path d="M 8,160 L 528,160" fill="none" stroke="black"/>
                <path d="M 8,208 L 528,208" fill="none" stroke="black"/>
                <path d="M 8,256 L 528,256" fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="52">Name</text>
                  <text x="136" y="52">Label</text>
                  <text x="224" y="52">Description</text>
                  <text x="416" y="52">Reference</text>
                  <text x="32" y="84">TBD</text>
                  <text x="132" y="84">TBD1</text>
                  <text x="188" y="84">BG</text>
                  <text x="224" y="84">model</text>
                  <text x="208" y="100">related</text>
                  <text x="288" y="100">information</text>
                  <text x="408" y="100">Section</text>
                  <text x="472" y="100">5.2.1.1</text>
                  <text x="32" y="132">TBD</text>
                  <text x="132" y="132">TBD2</text>
                  <text x="208" y="132">trigger</text>
                  <text x="252" y="132">to</text>
                  <text x="288" y="132">start</text>
                  <text x="224" y="148">attestation</text>
                  <text x="284" y="148">in</text>
                  <text x="308" y="148">BG</text>
                  <text x="408" y="148">Section</text>
                  <text x="472" y="148">5.2.1.1</text>
                  <text x="32" y="180">TBD</text>
                  <text x="132" y="180">TBD3</text>
                  <text x="188" y="180">PP</text>
                  <text x="224" y="180">model</text>
                  <text x="208" y="196">related</text>
                  <text x="288" y="196">information</text>
                  <text x="408" y="196">Section</text>
                  <text x="472" y="196">5.2.2.1</text>
                  <text x="32" y="228">TBD</text>
                  <text x="132" y="228">TBD4</text>
                  <text x="208" y="228">trigger</text>
                  <text x="252" y="228">to</text>
                  <text x="288" y="228">start</text>
                  <text x="224" y="244">attestation</text>
                  <text x="284" y="244">in</text>
                  <text x="308" y="244">PP</text>
                  <text x="408" y="244">Section</text>
                  <text x="472" y="244">5.2.2.1</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+-----------+-------+------------------------+-------------------+
| Name      | Label | Description            | Reference         |
+===========+=======+========================+===================+
| TBD       | TBD1  | BG model               |                   |
|           |       | related information    | Section 5.2.1.1   |
+-----------+-------+------------------------+-------------------+
| TBD       | TBD2  | trigger to start       |                   |
|           |       | attestation in BG      | Section 5.2.1.1   |
+-----------+-------+------------------------+-------------------+
| TBD       | TBD3  | PP model               |                   |
|           |       | related information    | Section 5.2.2.1   |
+-----------+-------+------------------------+-------------------+
| TBD       | TBD4  | trigger to start       |                   |
|           |       | attestation in PP      | Section 5.2.2.1   |
+-----------+-------+------------------------+-------------------+
]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
        </reference>
        <reference anchor="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="RFC9393">
          <front>
            <title>Concise Software Identification Tags</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay"/>
            <author fullname="C. Schmidt" initials="C." surname="Schmidt"/>
            <author fullname="D. Waltermire" initials="D." surname="Waltermire"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an extensible XML-based structure to identify and describe individual software components, patches, and installation bundles. SWID tag representations can be too large for devices with network and storage constraints. This document defines a concise representation of SWID tags: Concise SWID (CoSWID) tags. CoSWID supports a set of semantics and features that are similar to those for SWID tags, as well as new semantics that allow CoSWIDs to describe additional types of information, all in a more memory-efficient format.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9393"/>
          <seriesInfo name="DOI" value="10.17487/RFC9393"/>
        </reference>
        <reference anchor="IANA.CWT.Claims" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </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 (ELA)</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="21" month="October" year="2024"/>
            <abstract>
              <t>   Ephemeral Diffie-Hellman Over COSE (EDHOC) is a lightweight
   authenticated key exchange protocol intended for use in constrained
   scenarios.  This document specifies Lightweight Authorization using
   EDHOC (ELA).  The procedure allows authorizing enrollment of new
   devices using the extension point defined in EDHOC.  ELA 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-03"/>
        </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 711?>

<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="992" width="576" viewBox="0 0 576 992" 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,976" fill="none" stroke="black"/>
              <path d="M 136,72 L 136,104" fill="none" stroke="black"/>
              <path d="M 168,112 L 168,976" fill="none" stroke="black"/>
              <path d="M 224,32 L 224,112" fill="none" stroke="black"/>
              <path d="M 288,48 L 288,112" fill="none" stroke="black"/>
              <path d="M 368,112 L 368,976" 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,976" 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,624 L 160,624" fill="none" stroke="black"/>
              <path d="M 168,704 L 360,704" fill="none" stroke="black"/>
              <path d="M 368,800 L 520,800" fill="none" stroke="black"/>
              <path d="M 376,864 L 528,864" fill="none" stroke="black"/>
              <path d="M 368,880 L 392,880" fill="none" stroke="black"/>
              <path d="M 376,912 L 392,912" fill="none" stroke="black"/>
              <path d="M 176,960 L 360,960" fill="none" stroke="black"/>
              <path d="M 392,880 C 400.83064,880 408,887.16936 408,896" fill="none" stroke="black"/>
              <path d="M 392,912 C 400.83064,912 408,904.83064 408,896" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="528,800 516,794.4 516,805.6" fill="black" transform="rotate(0,520,800)"/>
              <polygon class="arrowhead" points="528,288 516,282.4 516,293.6" fill="black" transform="rotate(0,520,288)"/>
              <polygon class="arrowhead" points="384,912 372,906.4 372,917.6" fill="black" transform="rotate(180,376,912)"/>
              <polygon class="arrowhead" points="384,864 372,858.4 372,869.6" fill="black" transform="rotate(180,376,864)"/>
              <polygon class="arrowhead" points="384,400 372,394.4 372,405.6" fill="black" transform="rotate(180,376,400)"/>
              <polygon class="arrowhead" points="368,960 356,954.4 356,965.6" fill="black" transform="rotate(0,360,960)"/>
              <polygon class="arrowhead" points="368,704 356,698.4 356,709.6" fill="black" transform="rotate(0,360,704)"/>
              <polygon class="arrowhead" points="368,240 356,234.4 356,245.6" fill="black" transform="rotate(0,360,240)"/>
              <polygon class="arrowhead" points="184,960 172,954.4 172,965.6" fill="black" transform="rotate(180,176,960)"/>
              <polygon class="arrowhead" points="184,480 172,474.4 172,485.6" fill="black" transform="rotate(180,176,480)"/>
              <polygon class="arrowhead" points="168,624 156,618.4 156,629.6" fill="black" transform="rotate(0,160,624)"/>
              <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">types(a,b,c),</text>
                <text x="504" y="276">C_R</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="92" y="596">Evidence</text>
                <text x="48" y="612">}</text>
                <text x="200" y="644">EDHOC</text>
                <text x="264" y="644">message_3</text>
                <text x="208" y="660">{...}</text>
                <text x="240" y="676">Evidence(EAT)</text>
                <text x="260" y="692">Auth_CRED(sig/MAC)</text>
                <text x="400" y="772">Body:</text>
                <text x="432" y="772">{</text>
                <text x="404" y="788">EAT,</text>
                <text x="444" y="788">C_R}</text>
                <text x="400" y="820">Body:</text>
                <text x="432" y="820">{</text>
                <text x="432" y="836">att-result:</text>
                <text x="500" y="836">AR{}</text>
                <text x="384" y="852">}</text>
                <text x="444" y="900">verify</text>
                <text x="492" y="900">AR{}</text>
                <text x="248" y="948">application</text>
                <text x="316" y="948">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)        |                   |
   |                |  )                     |                   |
   |                +----------------------->|                   |
   |                |                        |                   |
   |                |                        | types(a,b,c), C_R |
   |                |                        +------------------>|
   |                |                        |                   |
   |                |                        |                   |
   |                |                        | Body: {           |
   |                |                        |   nonce,          |
   |                | EDHOC message_2        |   types(a,b)      |
   |                |  {...}                 | }                 |
   |                |  EAD_2(                |<------------------+
   |                |    nonce,              |                   |
   |                |    type(a)             |                   |
   |                |  )                     |                   |
   |                |  Auth_CRED(Sig/MAC)    |                   |
   |                |<-----------------------+                   |
   |   Body:{       |                        |                   |
   |    nonce,      |                        |                   |
   |    type(a)     |                        |                   |
   |   }            |                        |                   |
   |<---------------+                        |                   |
   | Body:{         |                        |                   |
   |   Evidence     |                        |                   |
   | }              |                        |                   |
   +--------------->|                        |                   |
   |                | EDHOC message_3        |                   |
   |                |  {...}                 |                   |
   |                |  Evidence(EAT)         |                   |
   |                |  Auth_CRED(sig/MAC)    |                   |
   |                +----------------------->|                   |
   |                |                        |                   |
   |                |                        |                   |
   |                |                        |                   |
   |                |                        | Body: {           |
   |                |                        |  EAT, C_R}        |
   |                |                        +------------------>|
   |                |                        | 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.</t>
      <t>An example of the EAD_1 in EDHOC message_1 could be:</t>
      <artwork><![CDATA[
[60,61,258]
]]></artwork>
      <t>If the Verifier and the Relying Party can support at least one 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[
(258, h'a29f62a4c6cdaae5')
]]></artwork>
      <t>The Evidence in EAD_3 field is an Entity Attestation Token (EAT) <xref target="I-D.ietf-rats-eat"/>, with the measurements claim formatted in CoSWID<xref target="RFC9393"/>.
The components of the Evidence should at least be:</t>
      <artwork><![CDATA[
{
/eat-nonce/                 10: h'a29f62a4c6cdaae5',
/ueid/                      256: 'aaabbcc',
/measurements/              273: [
  /CoAP Content-Format ID/        [ 258,
  /evidence in CoSWID/              {
                                      0: 'tagID'             /tag-id/
                                      12: 0                  /tag-version/
                                      1: "DotBot firmware"   /software-name/
                                      2: {                   /entity/
                                          31: "Attester"     /entity-name/
                                          33: 1              /role, must be "tag-creator" which is 1/
                                          },
                                      3: {                   /evidence/
                                          17: [              /file/
                                               {
                                                24: "partition0-nrf52840dk.bin",   /fs-name/
                                                7: [                               /hash of file/
                                                    1,                             /alg SHA-256/
                                                    h'06294f6806b9c685eea795048579cfd02a0c025bc8b5abca42a19ea0ec23e81a'
                                                    ]                              /hash value/
                                                }
                                               ]
                                          }
                                    }
                                  ]
                                 ]
}
]]></artwork>
      <t>The infomation above serves as the payload of the COSE object.
The complete resulting COSE object is:</t>
      <artwork><![CDATA[
18([
    /*protected header*/
    h'a10127',

    /*unprotected header*/
    {},

    /*payload*/
    h'A30A48A29F62A4C6CDAAE519010047616161626263631901118182190102A50045746
    16749440C00016F446F74426F74206669726D7761726502A2181F684174746573746572
    18210103A11181A218187819706172746974696F6E302D6E72663532383430646B2E626
    96E078201582006294F6806B9C685EEA795048579CFD02A0C025BC8B5ABCA42A19EA0EC
    23E81A',

    /*signature*/
    h'd4100901f4c3e51312c3110c6ddc8dcf7f68d8f5d3791c19133f2f0ac158c1f5ee6ed
    afe9d7c3d6eb3d2d197f82e733d375fdda9fb258b304961dfc38558950d'
])
]]></artwork>
      <t>which has the following base16 encoding:</t>
      <artwork><![CDATA[
D28443A10127A05890A30A48A29F62A4C6CDAAE51901004761616162626363190111818
2190102A5004574616749440C00016F446F74426F74206669726D7761726502A2181F68
417474657374657218210103A11181A218187819706172746974696F6E302D6E7266353
2383430646B2E62696E078201582006294F6806B9C685EEA795048579CFD02A0C025BC8
B5ABCA42A19EA0EC23E81A5840D4100901F4C3E51312C3110C6DDC8DCF7F68D8F5D3791
C19133F2F0AC158C1F5EE6EDAFE9D7C3D6EB3D2D197F82E733D375FDDA9FB258B304961
DFC38558950D
]]></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-continuous-attestation-over-edhoc">
      <name>Open discussion: Continuous Attestation over EDHOC</name>
      <t>Subsequent remote attestation is possible over PSK-based EDHOC for continuous assurance.</t>
      <t>The detailed procedure is TBD.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank Thomas Fossati, Malisa Vucinic, Ionut Mihalcea, Muhammad Usama Sardar, Michael Richardson and Geovane Fedrecheski for the provided ideas and feedback.</t>
      <t>Work on this document has in part been supported by the Horizon Europe Framework Programme project OpenSwarm (grant agreement No. 101093046).</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
R2u3WfHSyf+vlkLw77Y8l+mmJpHhJbv5/ba1tV6uMRqn99hzc5r65Qt06LLP
d0UJ7XYbP4/In7vnn90s3c1iHljsTF9nNGvkCz3XTY033ulVcznmHV5FePqM
j/LZlPh/lQceffAXVHb3B8AkQm/10yuqw9ucyAeLLuDyjToAXL0XS/nToPD+
vjDXI1YlOtQFLqo0hXLyyjtXCMaWuV2N6NqyrZWQcAGQ3tXStXpWxWG+lJVd
bVSvXjmIFbIyp8RdhHhnCb9bRVF6ViHVDck1dnPz4fx9/8LjX6/eXb73qGY2
POjTtbR8fePiFfDmW/1j/FrzoO5HZ7DfnfUPoHtzPdAirE5BLT4vRB/nuuYZ
luvYyaiqHHtRQgfdqlX0W7xiLoqvaeiqpptOGSpq1qggjNsrLoni64KcolQG
Wt0hhnVQ9LrG2A0Ftej0RZsFR82ZZSvoYrqauZY1rxxZQFxqhVZZIQX2tXEx
ujdLojDghJ1OqXd9WbGPp2A48W/JQoINbzB3XcBJd2qCfDOLR2ZzeUUw3i1x
j3e6qvvg84SjJ4LrfOKm0dS5aVxdKbMvNHKOS1UEazfsoz26sJiWHO6hyLtS
MBXMKPmlhIlLOElw+lZQ5+l2hVbHVfRsGALf5ZFVZMw6qb6gW/dBeuN6DVml
St94TVuDqEpQWb7lFu+Tx5S2c+uaSdhZMvmmaV9AWXfwywrXGSFe8/LlwaOs
rKLLN6hrljMdUAvv/eCxdOklcg00zQopjwN+ZGI4w1zsqZa1QoGXQyqVQjXc
uMIpchizvB98xBJWstal9RAvOgx8jOTG8jO7ylAsYzpFeAPvnx2gtmBcnC2G
djkYdtPxZTrp40zfTlHARSiIeBUSXv+JHcnrAgHO/TxCJsIiUf4Ya17K5MHS
+HTwDy8e13ddM5koI4GAyaNnMHuPRaKoFXWMHqlckR8ZCcOmPC6u3OUYlLrZ
TfgfqdoK7+WUYmz2j3VYCxTSMPsoI9qsgj0qGSknC6X+1Mebc5M58N08RUUF
x9g3AHf1wPa5nDhoBvLyNOMAoVEzqsiGlLOp2K1Vk8mg4n2o9D1gQiriPeKh
SCI/FEmmGmrlIs9LyUcOfVVdD2GH0Rp893CpqoUurrlbLrapsl7ViihIgckN
VVY5U3deOi4MUcB1gUKT2mb5DdlQNShNgiof1XvXK8keW8tcUODlRoxhXadU
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
gjrEo2//D2qGrjR+xwAA

-->

</rfc>
