<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-poirier-rats-eat-da-05" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="EAT DA">An EAT Profile for Trustworthy Device Assignment</title>
    <seriesInfo name="Internet-Draft" value="draft-poirier-rats-eat-da-05"/>
    <author fullname="Mathieu Poirier">
      <organization>Linaro</organization>
      <address>
        <email>mathieu.poirier@linaro.org</email>
      </address>
    </author>
    <author fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <date year="2026" month="January" day="21"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>attestation</keyword>
    <keyword>device assignment</keyword>
    <keyword>EAT</keyword>
    <abstract>
      <?line 54?>

<t>In confidential computing, device assignment (DA) is the method by which a device (e.g., network adapter, GPU), whether on-chip or behind a PCIe Root Port, is assigned to a Trusted Virtual Machine (TVM).
For the TVM to trust an assigned device, the device must provide the TVM with attestation Evidence confirming its identity and the state of its firmware and configuration.</t>
      <t>Since Evidence claims can be processed by 3rd party entities (e.g., Verifiers, Relying Parties) external to the TVM, there is a need to standardize the representation of DA-related information in Evidence to ensure interoperability.
This document defines an attestation Evidence format for DA as an EAT (Entity Attestation Token) profile.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://rats-device-attestation.github.io/draft-poirier-rats-eat-da/draft-poirier-rats-eat-da.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-poirier-rats-eat-da/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Remote ATtestation ProcedureS Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rats-device-attestation/draft-poirier-rats-eat-da"/>.</t>
    </note>
  </front>
  <middle>
    <?line 62?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In confidential computing, device assignment (DA) is the method by which a device (e.g., network adapter, GPU), whether on-chip or behind a PCIe Root Port, is assigned to a Trusted Virtual Machine (TVM).
Most confidential computing platforms (e.g., Arm CCA, AMD SEV-SNP, Intel TDX) provide DA capabilities.
Such capabilities prevent execution environments or software components that are untrusted by the TVM (including other TVMs and the host hypervisor) from accessing or controlling a device that has been assigned to the TVM.
This includes, for example, protection of device MMIO interfaces and device caches.
From a trust perspective, DA allows a device to be included in the TVM's Trusted Computing Base (TCB).
For the TVM to trust the device, the device must provide the TVM with attestation Evidence confirming its identity and the state of its firmware and configuration.</t>
      <t>This document defines an attestation Evidence format for DA as an EAT <xref target="RFC9711"/> profile.
The format is designed to be generic, extensible and architecture-agnostic.
Ongoing work on DA concentrates on PCIe devices that support the SPDM protocol <xref target="SPDM"/>, but other bus architectures and protocols are expected to be supported as the technology gains wider adoption.
As such, this document focuses on the formalization of an Evidence format for SPDM-compliant devices while leaving room for the definition of other Evidence formats such as Compute Express Link (CXL) and the Coherent Hub Interface (CHI).
This list is by no means exhaustive and is expected to expand.</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?>

</section>
    <section anchor="device-assignment-token-dat-claims">
      <name>Device Assignment Token (DAT) Claims</name>
      <t>The Device Assignment Token (DAT) is the encompassing envelope for the individual device claims to be presented.
A DAT can be used as a standalone entity but can also be embedded in a larger, platform-specific attestation token.
A DAT consists of an EAT profile identifier, a nonce and an EAT submodule (<xref section="4.2.18" sectionFormat="of" target="RFC9711"/>) that contains any number of individual device claims.
Each individual device claim is the combination of a device name and a standard claims format based on the bus or protocol the device supports.
The syntax of the device name depends on the type of bus or protocol used.
Each name consists of two parts joined by a semicolon: a namespace and a bus-specific name.
See <xref target="spdm-submod-name"/> for SPDM devices, and <xref target="pcie-legacy-submod-name"/> for legacy PCIe devices.
As previously mentioned, this draft currently defines the claims set for SPDM compliant devices and PCIe legacy devices that do not support the SPDM protocol.
Careful condideration was also given to the overall design in order to leave room for future expansion.</t>
      <sourcecode type="cddl"><![CDATA[
dat = {
  &(eat_profile: 265) => "tag:linaro.org,2025:device#1.0.0"
  &(eat_nonce: 10) => bytes .size 64 ; same as realm nonce
  &(eat_submods: 266) => {
    + device-name => $device-claims-set
  }
}

device-name = text .regexp "(legacy-pcie|spdm):.+"

$device-claims-set /= spdm-claims
$device-claims-set /= cxl-claims
$device-claims-set /= chi-claims
$device-claims-set /= pcie-legacy-claims
]]></sourcecode>
      <section anchor="spdm-claims">
        <name>SPDM Claims</name>
        <t>A SPDM claim instance is expected to be present for each SPDM compatible device to be attested.
Each instance consists of either a measurements section or a certificates section, or both.
Optionally, the Negotiated State preamble (version, capabilities and algorithms) bytes can be included to present the full negotiated state between the SPDM requester and responder.</t>
        <sourcecode type="cddl"><![CDATA[
spdm-claims = {
  &(eat_profile: 265) => "tag:linaro.org,2025:device-spdm#1.0.0"
  spdm-artefacts
  ? &(vca: 3804) => bytes
}

spdm-artefacts //= (
  &(measurements: 3802) => spdm-measurements
  &(certificates: 3803) => spdm-certificates
)

spdm-artefacts //= (
  &(measurements: 3802) => spdm-measurements
)

spdm-artefacts //= (
  &(certificates: 3803) => spdm-certificates
)
]]></sourcecode>
        <section anchor="spdm-measurements">
          <name>Measurements Claim</name>
          <t>There can be up to 239 measurements per device with the entire measurement log optionally signed by the certificate populated in one of the 8 certificate slots.
It should be noted that measurements formalized herein follow the DMTF measurement specification.</t>
          <sourcecode type="cddl"><![CDATA[
spdm-measurements = {
  + block-id => spdm-measurement
  ? "signature" => spdm-measurement-blocks-signature
}

block-id = 1..239
]]></sourcecode>
          <section anchor="measurement">
            <name>Measurement</name>
            <t>SPDM measurements start with a component type that reflects one of the 10 categories defined by the SPDM specification.
Following is the measurement itself represented by either a raw bitstream or a digest.
The size of the digest value is derived from the measurement hash algorithm conveyed by the SPDM ALGORITHMS message response.</t>
            <sourcecode type="cddl"><![CDATA[
spdm-measurement = {
  &(component-type: 1) => component-type
  measurement
}

measurement //= ( &(digest-measurement: 2) => digest-measurement )
measurement //= ( &(raw-measurement: 3) => raw-measurement )

component-type /= &(immutable-rom: 0)
component-type /= &(mutable-firmware: 1)
component-type /= &(hardware-config: 2)
component-type /= &(firmware-config: 3)
component-type /= &(freeform-measurement-manifest: 4)
component-type /= &(device-mode: 5)
component-type /= &(mutable-firmware-version: 6)
component-type /= &(mutable-firmware-svn: 7)
component-type /= &(hash-extend-measurement: 8)
component-type /= &(informational: 9)
component-type /= &(structured-measurement-manifest: 10)

raw-measurement = bytes
digest-measurement = digest

digest = [
  alg: uint / text
  val: bytes
]
]]></sourcecode>
          </section>
          <section anchor="measurements-signature">
            <name>Measurements Signature</name>
            <t>SPDM compliant devices can optionally support the capability to sign measurements.
Included in the measurement claim signature are all the elements needed by a third party entity to reconstruct the original measurement log signed by the device.
Those elements include L1 (see CDDL below), the combined SPDM prefix, the hash algorithm used to generate a digest of the measurement log and nonces provided by the requester and responder.
The slot number of the leaf certificate used to sign the measurement log is also provided.</t>
            <sourcecode type="cddl"><![CDATA[
;
; What follows is based on SPDM v1.3.2 (DSP0274_1.3.2.pdf)
;

;
; Algorithms currently supported by SPDM.
; See "MeasurementHashAlgo", table 21, page 79.
;
hash-algorithm-type /= &(tpm_alg_sha_256: 0)
hash-algorithm-type /= &(tpm_alg_sha_384: 2)
hash-algorithm-type /= &(tpm_alg_sha_512: 4)
hash-algorithm-type /= &(tpm_alg_sha3_256: 8)
hash-algorithm-type /= &(tpm_alg_sha3_384: 16)
hash-algorithm-type /= &(tpm_alg_sha3_512: 32)
hash-algorithm-type /= &(tpm_alg_sm3_256: 64)

;
; See signature generation and verification algorithms for
; MEASUREMENTS messages on page 126.
;
; L1 = Concatenate(VCA, GET_MEASUREMENTS_REQUEST1,
;               MEASUREMENTS_RESPONSE1, ...,
;               GET_MEASUREMENTS_REQUESTn-1,
;               MEASUREMENTS_RESPONSEn-1,
;               GET_MEASUREMENTS_REQUESTn, MEASUREMENTS_RESPONSEn)
;
spdm-measurement-blocks-signature = {
   &(slot: 1) => 0..7, ; Slot of the certificate chain used to
                       ; authenticate the measurement.  Default
                       ; should be 0.
   &(requester-nonce: 2) => bytes .size 32,
   &(responder-nonce: 3) => bytes .size 32,
   &(combined-spdm-prefix: 4) => bytes .size 100,
   &(IL1: 5) => bytes, ; L1 (see comment above)
   &(base-hash-algo: 6) => hash-algorithm-type,
   &(signature: 7) => bytes
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="spdm-certificates">
          <name>Certificate Claims</name>
          <t>According to the specification, SPDM compliant devices should support at most 8 slots, with slot 0 populated by default.
Slot 0 <bcp14>SHALL</bcp14> contain a certificate chain that follows the Device certificate model or the Alias certificate model.
Regardless of the certificate model used, a certificate chain comprises one or more DER-encoded X.509 v3 certificates <xref target="RFC5280"/>.
The certificates <bcp14>MUST</bcp14> be concatenated with no intermediate padding.</t>
          <sourcecode type="cddl"><![CDATA[
spdm-certificates = {
  default-cert-slot => cert-chain
  ? aux-cert-slots => cert-chain
}

; ASN.1 DER-encoded certificates concatenated with no intermediate
; padding.
cert-chain = bytes

default-cert-slot = 0
aux-cert-slots = 1..7
]]></sourcecode>
        </section>
        <section anchor="spdm-vca">
          <name>Negotiated State Preamble (Version, Capabilities and Algorithms)</name>
          <t>The Negotiated State Preamble (i.e., <tt>vca</tt>) claim contains the concatenation of messages GET_VERSION, VERSION, GET_CAPABILITIES, CAPABILITIES, NEGOTIATE_ALGORITHMS, and ALGORITHMS last exchanged between the SPDM Requester and Responder.</t>
        </section>
        <section anchor="spdm-submod-name">
          <name>Submodule Naming</name>
          <t>The namespace used for SPDM submodules is "spdm".</t>
          <t>The name associated with an SPDM submodule is extracted from the leaf certificate of the relevant device.</t>
          <ul spacing="normal">
            <li>
              <t>If the leaf certificate contains a Subject Alternative Name of type DMTFOtherName, the submodule name is the value contained in <tt>ub-DMTF-device-info</tt>.
For example: "spdm:ACME:WIDGET:0123456789".</t>
            </li>
            <li>
              <t>Otherwise, the submod name is the string representation of the certificate Subject, as described in <xref target="RFC4514"/>.
For example: "spdm:C=CA,O=ACME,OU=Widget,CN=0123456789".</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="pcie-legacy-device">
        <name>PCIe Legacy Device Claims</name>
        <t>The definition of a device claims set for PCIe legacy devices that do not implement the extensions needed to attest for their provenance and configuration is provided, making it is possible to keep using current assets as secures ones are being provisioned.
This legacy device claims set simply mirrors the type 0/1 common registers of the PCIe configuration space, mandating only that the vendor and device identification code be provided.
Other fields of the configuration space header may optionally be included should they add value.
A binary format of the PCIe configuration space is made available for processing by existing PCIe configuration space tools.
Implementers may optionally choose to include both text and binary versions should there be a use case to support this representation.</t>
        <sourcecode type="cddl"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

pcie-legacy-claims = {
  &(eat_profile: 265) => "tag:linaro.org,2025:device-pcie-legacy#1.0\
                                                                  .0"
  pcie-legacy-artefacts
  ? $$pcie-legacy-claim-extension
}


pcie-legacy-artefacts //= (
  &(artefacts-text: 3805) => pcie-type-0-1-config-space-text
  &(artefacts-bytes: 3806) => pcie-type-0-1-config-space-bytes
)

pcie-legacy-artefacts //= (
  &(artefacts-text: 3805) => pcie-type-0-1-config-space-text
)

pcie-legacy-artefacts //= (
  &(artefacts-bytes: 3806) => pcie-type-0-1-config-space-bytes
)

pcie-type-0-1-config-space-bytes = bytes .size 256

pcie-type-0-1-config-space-text = {
  &(vendorID: 1) => bytes .size 2
  &(deviceID: 2) => bytes .size 2
  ? &(command: 3) => bytes .size 2
  ? &(status: 4) => bytes .size 2
  ? &(revisionID: 5) => bytes .size 1
  ? &(classCode: 6) => bytes .size 3
  ? &(cacheLineSize: 7) => bytes .size 1
  ? &(latencyTimer: 8) => bytes .size 1
  ? &(headerType: 9) => bytes .size 1
  ? &(BITS: 10) => bytes .size 1
}
]]></sourcecode>
        <section anchor="pcie-legacy-submod-name">
          <name>Submodule Naming</name>
          <t>The namespace used for legacy PCIe submodules is "legacy-pcie".</t>
          <t>The name is any arbitrary string chosen by the implementation.
For example, "legacy-pcie:0000:01:02.0" where "0000" is the domain, "01" the PCI bus id, "02" the device on the bus and "0" the device function.</t>
        </section>
      </section>
    </section>
    <section anchor="collated-cddl">
      <name>Collated CDDL</name>
      <sourcecode type="cddl"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

dat = {
  &(eat_profile: 265) => "tag:linaro.org,2025:device#1.0.0",
  &(eat_nonce: 10) => bytes .size 64,
  &(eat_submods: 266) => {+ device-name => $device-claims-set},
}
device-name = text .regexp "(legacy-pcie|spdm):.+"
$device-claims-set /= spdm-claims / cxl-claims / chi-claims / pcie-\
                                                        legacy-claims
spdm-claims = {
  &(eat_profile: 265) => "tag:linaro.org,2025:device-spdm#1.0.0",
  spdm-artefacts,
  ? &(vca: 3804) => bytes,
}
spdm-artefacts //= ((
        &(measurements: 3802) => spdm-measurements,
        &(certificates: 3803) => spdm-certificates,
      ) // &(measurements: 3802) => spdm-measurements // &(\
                            certificates: 3803) => spdm-certificates)
spdm-measurement = {
  &(component-type: 1) => component-type,
  measurement,
}
measurement //= (&(digest-measurement: 2) => digest-measurement // &\
                             (raw-measurement: 3) => raw-measurement)
component-type /= &(immutable-rom: 0) / &(mutable-firmware: 1) / &(\
hardware-config: 2) / &(firmware-config: 3) / &(freeform-measurement\
-manifest: 4) / &(device-mode: 5) / &(mutable-firmware-version: 6) \
/ &(mutable-firmware-svn: 7) / &(hash-extend-measurement: 8) / &(\
           informational: 9) / &(structured-measurement-manifest: 10)
raw-measurement = bytes
digest-measurement = digest
digest = [
  alg: uint / text,
  val: bytes,
]
spdm-certificates = {
  default-cert-slot => cert-chain,
  ? aux-cert-slots => cert-chain,
}
cert-chain = bytes
default-cert-slot = 0
aux-cert-slots = 1 .. 7
spdm-measurements = {
  + block-id => spdm-measurement,
  ? "signature" => spdm-measurement-blocks-signature,
}
block-id = 1 .. 239
hash-algorithm-type /= &(tpm_alg_sha_256: 0) / &(tpm_alg_sha_384: 2\
) / &(tpm_alg_sha_512: 4) / &(tpm_alg_sha3_256: 8) / &(\
tpm_alg_sha3_384: 16) / &(tpm_alg_sha3_512: 32) / &(tpm_alg_sm3_256\
                                                                : 64)
spdm-measurement-blocks-signature = {
  &(slot: 1) => 0 .. 7,
  &(requester-nonce: 2) => bytes .size 32,
  &(responder-nonce: 3) => bytes .size 32,
  &(combined-spdm-prefix: 4) => bytes .size 100,
  &(IL1: 5) => bytes,
  &(base-hash-algo: 6) => hash-algorithm-type,
  &(signature: 7) => bytes,
}
cxl-claims = {&(eat_profile: 265) => "tag:linaro.org,2025:device-cxl\
                                                             #1.0.0"}
chi-claims = {&(eat_profile: 265) => "tag:linaro.org,2025:device-chi\
                                                             #1.0.0"}
pcie-legacy-claims = {
  &(eat_profile: 265) => "tag:linaro.org,2025:device-pcie-legacy#1.0\
                                                                 .0",
  pcie-legacy-artefacts,
  ? $$pcie-legacy-claim-extension,
}
pcie-legacy-artefacts //= ((
        &(artefacts-text: 3805) => pcie-type-0-1-config-space-text,
        &(artefacts-bytes: 3806) => pcie-type-0-1-config-space-bytes,
      ) // &(artefacts-text: 3805) => pcie-type-0-1-config-space-\
text // &(artefacts-bytes: 3806) => pcie-type-0-1-config-space-bytes)
pcie-type-0-1-config-space-bytes = bytes .size 256
pcie-type-0-1-config-space-text = {
  &(vendorID: 1) => bytes .size 2,
  &(deviceID: 2) => bytes .size 2,
  ? &(command: 3) => bytes .size 2,
  ? &(status: 4) => bytes .size 2,
  ? &(revisionID: 5) => bytes .size 1,
  ? &(classCode: 6) => bytes .size 3,
  ? &(cacheLineSize: 7) => bytes .size 1,
  ? &(latencyTimer: 8) => bytes .size 1,
  ? &(headerType: 9) => bytes .size 1,
  ? &(BITS: 10) => bytes .size 1,
}
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="new-cwt-claims-registrations">
        <name>New CWT Claims Registrations</name>
        <t>IANA is requested to register the following claims in the "CBOR Web Token (CWT) Claims" registry <xref target="IANA.cwt"/>.</t>
        <section anchor="spdm-measurements-claim">
          <name> SPDM Measurements Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: spdm-measurements</t>
            </li>
            <li>
              <t>Claim Description: SPDM Measurements</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3802</t>
            </li>
            <li>
              <t>Claim Value Type(s): map</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="spdm-measurements"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="spdm-certificates-claim">
          <name> SPDM Certificates Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: spdm-certificates</t>
            </li>
            <li>
              <t>Claim Description: SPDM Certificates</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3803</t>
            </li>
            <li>
              <t>Claim Value Type(s): map</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="spdm-certificates"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="spdm-vca-claim">
          <name> SPDM VCA Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: spdm-vca</t>
            </li>
            <li>
              <t>Claim Description: SPDM Version, Capabilities and Algorithms</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3804</t>
            </li>
            <li>
              <t>Claim Value Type(s): bytes</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="spdm-vca"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="pcie-legacy-device-text-claim">
          <name> PCIe Legacy Device Text Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: pcie-legacy-device-text</t>
            </li>
            <li>
              <t>Claim Description: PCIe Legacy Device Textual Representation</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3805</t>
            </li>
            <li>
              <t>Claim Value Type(s): map</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pcie-legacy-device"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="pcie-legacy-device-binary-claim">
          <name> PCIe Legacy Device Binary Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: pcie-legacy-device-binary</t>
            </li>
            <li>
              <t>Claim Description: PCIe Legacy Device Binary Representation</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3806</t>
            </li>
            <li>
              <t>Claim Value Type(s): bytes</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pcie-legacy-device"/> of RFCthis</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (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.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC4514">
          <front>
            <title>Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names</title>
            <author fullname="K. Zeilenga" initials="K." role="editor" surname="Zeilenga"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>The X.500 Directory uses distinguished names (DNs) as primary keys to entries in the directory. This document defines the string representation used in the Lightweight Directory Access Protocol (LDAP) to transfer distinguished names. The string representation is designed to give a clean representation of commonly used distinguished names, while being able to represent any distinguished name. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4514"/>
          <seriesInfo name="DOI" value="10.17487/RFC4514"/>
        </reference>
        <reference anchor="IANA.cwt" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </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="SPDM" target="https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.3.2.pdf">
          <front>
            <title>Security Protocol and Data Model (SPDM) Specification Version: 1.3.2</title>
            <author>
              <organization>DMTF</organization>
            </author>
            <date year="2024" month="August" day="21"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 502?>

<section anchor="examples">
      <name>Examples</name>
      <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  / profile / 265: "tag:linaro.org,2025:device#1.0.0",
  / nonce / 10: h'\
f9efc3341597f75f8d94432ad39566a8c5704b2004ba001c094f475bfc057f9f25d7\
       aa40cd86cd30ebaae746fb19f008c1e6a1f23ad6a178e18dceda918f7f6e',
  / submods / 266: {
    "spdm:ACME:WIDGET-A:0123456789": {
      / profile / 265: "tag:linaro.org,2025:device-spdm#1.0.0",
      / measurements / 0x0eda: {
        1: {
          / component-type /  1: 2, / hardware config /
          / raw-measurement / 3: h'4f6d616861'
        }
      },
      / certificates / 0x0edb: {
        / device certs / 0: h'\
                          676f616e6e61747261646974696f6e6d6f6e676572'
        / no aux certs /
      }
    },
    "spdm:C=CA,O=ACME,OU=Widget-B,CN=9876543210": {
      / profile / 265: "tag:linaro.org,2025:device-spdm#1.0.0",
      / measurements / 0x0eda: {
        1: {
          / component-type / 1: 1, / mutable firmware /
          / digest-measurement / 2: [
            / alg / 1,
            / val / h'6b656e6e656c6c79'
          ]
        },
        6: {
          / component-type / 1: 2, / hardware config /
          / digest measurement / 2: [
            / alg / 0,
            / val / h'756e646572637279'
          ]
        }
      },
      / certificates / 0x0edb: {
        / device certs / 0: h'61746865697A656178696C6C6172',
        / aux certs (slot=2) / 2: h'23451576923AE99106783948598A'
      }
    }
  }
}
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you
Basma El Gaabouri,
Henk Birkholz,
James Bottomley,
Lukas Wunner,
Simon Frost
and
Yousuf Sait
for your comments and suggestions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
