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

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

<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"/>.
As such, this document focuses on establishing the overall framework and formalizing an Evidence format for SPDM-compliant devices.
This format is based on the information provided by the SPDM protocol without imposing additional security constraints.
It is incumbent upon other entities to describe, select and enforce those additional security constraints based on operational requirements.</t>
      <t>Since other bus architectures and protocols are expected to be supported as the technology gains wider adoption, provisions have been made 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.
<xref target="extend"/> outlines the requirements for incorporating new bus technologies into the DAT framework.
Lastly, live migration of a TVM from one host to another is currently not addressed by the SPDM specification and therefore not covered herein.</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="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

$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 a measurements section, a certificates section, or both.
These can be supplemented with two additional sections: (1) a challenge for Component Mesaurement and Authentication (CMA) scenarios and (2) a device interface report that contains information from the TEE Device Information Security Protocol (TDISP) Device Interface Report.
A challenge needs certificate information from the certificate section and as such, can only be present if certificates are included in the SPDM artifacts.
TDISP messages are embedded in the VENDOR_DEFINED_REQUEST and VENDOR_DEFINED_RESPONSE messages of the SPDM protocol.
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
  ? &(challenge: 3807) => spdm-signature
  ? &(device-interface-report: 3808) => tdisp-device-interface-report
)

spdm-artefacts //= (
  &(measurements: 3802) => spdm-measurements
  ? &(device-interface-report: 3808) => tdisp-device-interface-report
)

spdm-artefacts //= (
  &(certificates: 3803) => spdm-certificates
  ? &(challenge: 3807) => spdm-signature
  ? &(device-interface-report: 3808) => tdisp-device-interface-report
)
]]></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-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>
        <section anchor="spdm-challenge">
          <name>SPDM Challenge Claim</name>
          <t>SPDM compliant devices can optionally support the capability to authenticate responders through the challenge-response protocol and sign measurements.
Included in the signature are all the elements needed by a third party entity to reconstruct the original transcript or measurement log signed by the device.
Those elements include M1 for challenge signatures or L1 for measurement signatures (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[
=============== NOTE: '\' line wrapping per RFC 8792 ================

;
; 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
; CHALLENGE_AUTH message on page 108.
;
; M1 is _one_ of the following:
;
; M1 /= GET_VERSION , GET_CAPABILITIES , NEGOTIATE_ALGORITHMS , \
               GET_DIGESTS , GET_CERTIFICATE , CHALLENGE (A1, B1, C1)
; M1 /= GET_VERSION , GET_CAPABILITIES , NEGOTIATE_ALGORITHMS , \
                                 GET_DIGESTS , CHALLENGE (A1, B3, C1)
; M1 /= GET_VERSION , GET_CAPABILITIES , NEGOTIATE_ALGORITHMS , \
                             GET_CERTIFICATE , CHALLENGE (A1, B4, C1)
; M1 /= GET_VERSION , GET_CAPABILITIES , NEGOTIATE_ALGORITHMS , \
                                               CHALLENGE (A1, B2, C1)
; M1 /= GET_DIGESTS , GET_CERTIFICATE , CHALLENGE (A2, B1, C1)
; M1 /= GET_DIGESTS , CHALLENGE (A2, B3, C1)
; M1 /= GET_CERTIFICATE , CHALLENGE (A2, B4, C1)
; M1 /= CHALLENGE (A2, B2, C1)
;
; 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-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, ; M1 or L1 (see comment above)
   &(base-hash-algo: 6) => hash-algorithm-type,
   &(signature: 7) => bytes
}
]]></sourcecode>
        </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-slot-1 => cert-chain
  ? aux-cert-slot-2 => cert-chain
  ? aux-cert-slot-3 => cert-chain
  ? aux-cert-slot-4 => cert-chain
  ? aux-cert-slot-5 => cert-chain
  ? aux-cert-slot-6 => cert-chain
  ? aux-cert-slot-7 => cert-chain
}

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

default-cert-slot = 0

aux-cert-slot-1 = 1
aux-cert-slot-2 = 2
aux-cert-slot-3 = 3
aux-cert-slot-4 = 4
aux-cert-slot-5 = 5
aux-cert-slot-6 = 6
aux-cert-slot-7 = 7
]]></sourcecode>
        </section>
        <section anchor="interface-report">
          <name>TDISP Device Interface Report</name>
          <t>A TDISP Device Interface Report can only be obtained if the device interface has transitioned to the CONFIG_LOCK or RUN state of the TDISP state machine.</t>
          <t>It begins with various bitfields indicating the state and characteristics of the PCIe device interface.
Next are 3 register fields pertaining to MSI-X (Message Signalled Interrupts), LNR (Lightweight Notification Requester) and TPH (TLP Processing Hints) capabilities.
MMIO ranges are assigned from PCIe BAR(s) and provide information about the memory areas a device is working with.
More information on the MMIO range bitfields and the ones defined as part of the device interface field (above) can be found in the TDISP section of the PCI Express specification.
The last field is device-specific and optionally included to convey additional configuration information about the device.</t>
          <sourcecode type="cddl"><![CDATA[
tdisp-device-interface-report = {
  ? &(interface-info: 1) => interface-info-bits
  ? &(msi-x-message-control: 2) => bytes .size 2
  ? &(lnr-control: 2) => bytes .size 2
  ? &(tph-control: 3) => bytes .size 4
  ? &(mmio-ranges: 4) => mmio-ranges
  ? &(device-specific-info: 5) => bytes
}

interface-info-bits = bytes .bits interface-info-flags
interface-info-flags = &(bit0: 0,
                         bit1: 1,
                         bit2: 2,
                         bit3: 3,
                         bit4: 4,
                         bit5: 5,
                        )

mmio-ranges = {
  + &(mmio-range: 1) => mmio-range
}

mmio-range = {
  &(first-4k-page: 1) => bytes .size 8
  &(number-of-4k-pages: 2) => bytes .size 4
  &(attributes: 3) => range-attributes
}

range-attributes = {
  &(range-attribute-bits: 1) => range-attribute-bits
  &(range-attribute-range-id: 2) => bytes .size 2
}

range-attribute-bits = bytes .bits range-attributes-flags
range-attributes-flags = &(bit0: 0,
                           bit1: 1,
                           bit2: 2,
                           bit3: 3,
                          )
]]></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="profile">
      <name>DAT EAT Profile</name>
      <section anchor="encoding">
        <name>Encoding</name>
        <t>A DAT is encoded in CBOR <xref target="STD94"/>.
The CBOR representation of a DAT <bcp14>MUST</bcp14> be "valid" according to the definition in <xref section="1.2" sectionFormat="of" target="STD94"/>.
Only definite-length strings, arrays, and maps are allowed.
Since a DAT emitter may be found in a constrained environment, it may not be able to emit CBOR preferred serializations (<xref section="4.1" sectionFormat="of" target="STD94"/>).
Therefore, the Verifier <bcp14>MUST</bcp14> be a variation-tolerant CBOR decoder.</t>
      </section>
      <section anchor="cryptographic-protection">
        <name>Cryptographic Protection</name>
        <t>Cryptographic protection can be obtained by wrapping the <tt>dat</tt> claims-set in a COSE Web Token (CWT) <xref target="RFC8392"/>.
In this case, the signature structure <bcp14>MUST</bcp14> be a tagged (18) COSE_Sign1.
Alternatively, a DAT can be part of a Conceptual Message Wrapper (CMW) <xref target="I-D.ietf-rats-msg-wrap"/> collection.
In this case, the DAT claims-set can be a UCCS <xref target="RFC9781"/> and the protection is provided by the signed CMW.</t>
        <t>The flexibility provided by the COSE <xref target="RFC9052"/> format should be sufficient to adapt to the level of cryptographic agility required for specific use cases.
It is <bcp14>RECOMMENDED</bcp14> that commonly adopted algorithms, such as those discussed in <xref target="RFC9053"/>, are used.
While receivers are expected to accept a wide range of algorithms, Attesters will produce DAT using only one such algorithm.</t>
      </section>
      <section anchor="use-with-conceptual-message-wrappers">
        <name>Use with Conceptual Message Wrappers</name>
        <t>When used in a CMW, the collector will wrap the serialised COSE_Sign1 or UCCS with the appropriate media type or CoAP Content-Format defined in <xref target="RFC9782"/>.</t>
      </section>
      <section anchor="freshness-model">
        <name>Freshness Model</name>
        <t>DAT supports the freshness models for attestation Evidence based on nonces and epoch IDs (see Section <xref target="RFC9334" section="10.2" sectionFormat="bare"/> and Section <xref target="RFC9334" section="10.3" sectionFormat="bare"/> of <xref target="RFC9334"/>) using the <tt>eat_nonce</tt> claim to convey the nonce or epoch ID supplied by the Verifier.
No further assumptions are made about the specific remote attestation protocol.</t>
        <t>Note that the use of epoch IDs is subject by the type restrictions imposed by the <tt>eat_nonce</tt> syntax.
For use in DAT, the epoch ID must be encodable as an opaque binary string of between 8 and 64 octets; an Epoclet can be used for this purpose (see <xref target="I-D.ietf-rats-epoch-markers"/>).</t>
      </section>
      <section anchor="synopsis">
        <name>Synopsis</name>
        <t><xref target="tbl-profile"/> presents a concise view of the requirements described in the preceding sections.</t>
        <table anchor="tbl-profile">
          <name>DAT Profile Synopsis</name>
          <thead>
            <tr>
              <th align="left">Issue</th>
              <th align="left">Profile Definition</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">CBOR/JSON</td>
              <td align="left">CBOR <bcp14>MUST</bcp14> be used</td>
            </tr>
            <tr>
              <td align="left">CBOR Encoding</td>
              <td align="left">Definite length maps and arrays <bcp14>MUST</bcp14> be used</td>
            </tr>
            <tr>
              <td align="left">CBOR Encoding</td>
              <td align="left">Definite length strings <bcp14>MUST</bcp14> be used</td>
            </tr>
            <tr>
              <td align="left">CBOR Serialization</td>
              <td align="left">Variant serialization <bcp14>MAY</bcp14> be used</td>
            </tr>
            <tr>
              <td align="left">COSE Protection</td>
              <td align="left">COSE_Sign1 <bcp14>MUST</bcp14> be used (directly or via CMW)</td>
            </tr>
            <tr>
              <td align="left">Algorithms</td>
              <td align="left">
                <xref target="RFC9053"/> <bcp14>SHOULD</bcp14> be used</td>
            </tr>
            <tr>
              <td align="left">Detached EAT Bundle Usage</td>
              <td align="left">Detached EAT bundles <bcp14>MUST NOT</bcp14> be sent</td>
            </tr>
            <tr>
              <td align="left">Verification Key Identification</td>
              <td align="left">Any identification method listed in <xref section="F.1" sectionFormat="of" target="RFC9711"/></td>
            </tr>
            <tr>
              <td align="left">Freshness</td>
              <td align="left">nonce or epoch ID based (Section <xref target="RFC9334" section="10.2" sectionFormat="bare"/> and Section <xref target="RFC9334" section="10.3" sectionFormat="bare"/> of <xref target="RFC9334"/>)</td>
            </tr>
            <tr>
              <td align="left">Claims</td>
              <td align="left">Those defined in <xref target="dat-claims"/>. As per general EAT rules, the receiver <bcp14>MUST NOT</bcp14> error out on claims it does not understand.</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="extend">
      <name>Extending the DAT Framework</name>
      <t>An extension to the DAT framework that introduces support for a new bus technology <bcp14>MUST</bcp14> provide the following information in a public document (e.g., an Internet-Draft):</t>
      <ul spacing="normal">
        <li>
          <t>A precise definition of the new claims-set,</t>
        </li>
        <li>
          <t>A naming convention for the <tt>submod</tt> map entry,</t>
        </li>
        <li>
          <t>The registration of any new claims with IANA.</t>
        </li>
      </ul>
      <section anchor="claims-set-definition">
        <name>Claims-set Definition</name>
        <t>The new claims-set <bcp14>MUST</bcp14> be specified clearly and unambiguously, ideally using CDDL, with a separate prose description of each claim.
The claims-set <bcp14>MUST</bcp14> include a suitable <tt>eat_profile</tt> value.</t>
        <t>See <xref target="spdm-claims"/> for the blueprint.</t>
      </section>
      <section anchor="naming-conventions-for-the-submod-key">
        <name>Naming Conventions for the <tt>submod</tt> Key</name>
        <t>A new claims-set <bcp14>MUST</bcp14> define a suitable naming convention for the <tt>submod</tt> keys associated with it.
When creating this convention, ensure that it does not clash with any existing ones.</t>
        <t>See <xref target="spdm-submod-name"/> for the blueprint.</t>
      </section>
      <section anchor="claims-registrations">
        <name>Claims Registrations</name>
        <t>A new claims-set can reuse any number of already registered claims.
If the claims-set needs to define new claims to express the desired semantics, and if these claims have generally applicable semantics, they <bcp14>SHOULD</bcp14> be registered with IANA.</t>
        <t>See <xref target="iana-claims-regs"/> for the blueprint.</t>
      </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
$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,
        ? &(challenge: 3807) => spdm-signature,
        ? &(device-interface-report: 3808) => tdisp-device-interface\
                                                             -report,
      ) // (
        &(measurements: 3802) => spdm-measurements,
        ? &(device-interface-report: 3808) => tdisp-device-interface\
                                                             -report,
      ) // (
        &(certificates: 3803) => spdm-certificates,
        ? &(challenge: 3807) => spdm-signature,
        ? &(device-interface-report: 3808) => tdisp-device-interface\
                                                             -report,
      ))
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-slot-1 => cert-chain,
  ? aux-cert-slot-2 => cert-chain,
  ? aux-cert-slot-3 => cert-chain,
  ? aux-cert-slot-4 => cert-chain,
  ? aux-cert-slot-5 => cert-chain,
  ? aux-cert-slot-6 => cert-chain,
  ? aux-cert-slot-7 => cert-chain,
}
cert-chain = bytes
default-cert-slot = 0
aux-cert-slot-1 = 1
aux-cert-slot-2 = 2
aux-cert-slot-3 = 3
aux-cert-slot-4 = 4
aux-cert-slot-5 = 5
aux-cert-slot-6 = 6
aux-cert-slot-7 = 7
spdm-measurements = {
  + block-id => spdm-measurement,
  ? "signature" => spdm-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-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,
}
tdisp-device-interface-report = {
  ? &(interface-info: 1) => interface-info-bits,
  ? &(msi-x-message-control: 2) => bytes .size 2,
  ? &(lnr-control: 2) => bytes .size 2,
  ? &(tph-control: 3) => bytes .size 4,
  ? &(mmio-ranges: 4) => mmio-ranges,
  ? &(device-specific-info: 5) => bytes,
}
interface-info-bits = bytes .bits interface-info-flags
interface-info-flags = &(
  bit0: 0,
  bit1: 1,
  bit2: 2,
  bit3: 3,
  bit4: 4,
  bit5: 5,
)
mmio-ranges = {+ &(mmio-range: 1) => mmio-range}
mmio-range = {
  &(first-4k-page: 1) => bytes .size 8,
  &(number-of-4k-pages: 2) => bytes .size 4,
  &(attributes: 3) => range-attributes,
}
range-attributes = {
  &(range-attribute-bits: 1) => range-attribute-bits,
  &(range-attribute-range-id: 2) => bytes .size 2,
}
range-attribute-bits = bytes .bits range-attributes-flags
range-attributes-flags = &(
  bit0: 0,
  bit1: 1,
  bit2: 2,
  bit3: 3,
)
]]></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="iana-claims-regs">
        <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 anchor="spdm-challenge-claim">
          <name> SPDM Challenge Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: spdm-challenge</t>
            </li>
            <li>
              <t>Claim Description: SPDM Challenge signature block</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3807</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-challenge"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="tdisp-device-interface-report">
          <name> TDISP Device Interface Report</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: tdisp-device-interface-report</t>
            </li>
            <li>
              <t>Claim Description: TDISP Device Interface Report</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 3808</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="interface-report"/> 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="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="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="RFC9781">
          <front>
            <title>A Concise Binary Object Representation (CBOR) Tag for Unprotected CBOR Web Token Claims Sets (UCCS)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="N. Cam-Winget" initials="N." surname="Cam-Winget"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>This document defines the Unprotected CWT Claims Set (UCCS), a data format for representing a CBOR Web Token (CWT) Claims Set without protecting it by a signature, Message Authentication Code (MAC), or encryption. UCCS enables the use of CWT claims in environments where protection is provided by other means, such as secure communication channels or trusted execution environments. This specification defines a CBOR tag for UCCS and describes the UCCS format, its encoding, and its processing considerations. It also discusses security implications of using unprotected claims sets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9781"/>
          <seriesInfo name="DOI" value="10.17487/RFC9781"/>
        </reference>
        <reference anchor="RFC9782">
          <front>
            <title>Entity Attestation Token (EAT) Media Types</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>The payloads used in Remote ATtestation procedureS (RATS) may require an associated media type for their conveyance, for example, when the payloads are used in RESTful APIs.</t>
              <t>This memo defines media types to be used for Entity Attestation Tokens (EATs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9782"/>
          <seriesInfo name="DOI" value="10.17487/RFC9782"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="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="I-D.ietf-rats-msg-wrap">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="December" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC
   9334) are protocol-agnostic data units that are conveyed between RATS
   roles during remote attestation procedures.  Conceptual Messages
   describe the meaning and function of such data units within RATS data
   flows without specifying a wire format, encoding, transport
   mechanism, or processing details.  The initial set of Conceptual
   Messages is defined in Section 8 of RFC 9334 and includes Evidence,
   Attestation Results, Endorsements, Reference Values, and Appraisal
   Policies.

   This document introduces the Conceptual Message Wrapper (CMW) that
   provides a common structure to encapsulate these messages.  It
   defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and
   CBOR Web Token (CWT) claims, and an X.509 extension.

   This allows CMWs to be used in CBOR-based protocols, web APIs using
   JWTs and CWTs, and PKIX artifacts like X.509 certificates.
   Additionally, the draft defines a media type and a CoAP content
   format to transport CMWs over protocols like HTTP, MIME, and CoAP.

   The goal is to improve the interoperability and flexibility of remote
   attestation protocols.  Introducing a shared message format such as
   CMW enables consistent support for different attestation message
   types, evolving message serialization formats without breaking
   compatibility, and avoiding the need to redefine how messages are
   handled within each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="I-D.ietf-rats-epoch-markers">
          <front>
            <title>Epoch Markers</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="18" month="May" year="2026"/>
            <abstract>
              <t>   This document defines Epoch Markers as a means to establish a notion
   of freshness among actors in a distributed system.  Epoch Markers are
   similar to "time ticks" and are produced and distributed by a
   dedicated system known as the Epoch Bell.  Systems receiving Epoch
   Markers do not need to track freshness using their own understanding
   of time (e.g., via a local real-time clock).  Instead, the reception
   of a specific Epoch Marker establishes a new epoch that is shared
   among all recipients.  This document defines Epoch Marker types,
   including CBOR time tags, RFC 3161 TimeStampToken, and nonce-like
   structures.  It also defines a CWT Claim to embed Epoch Markers in
   RFC 8392 CBOR Web Tokens, which serve as vehicles for signed protocol
   messages.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-epoch-markers-04"/>
        </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 770?>

<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 anchor="example-composite-device">
      <name>Example Composite Device</name>
      <t><xref target="fig-ratsd"/> shows an example of the composite device described in <xref section="3.3" sectionFormat="of" target="RFC9334"/> within a confidential computing environment.
In this setup, a Trusted Virtual Machine (TVM) executes on a Confidential Platform, which provides the confidential computing environment.
One or more devices (e.g., a GPU) are assigned to the TVM.</t>
      <t>Within the TVM, a Lead Attester agent, e.g., a userland daemon, can collect Evidence from the Confidential Platform, as well as from all the assigned devices, using the relevant ABI offered by the guest OS kernel.</t>
      <figure anchor="fig-ratsd">
        <name>Confidential VM with Trusted Device(s)</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="608" width="424" viewBox="0 0 424 608" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,112 L 8,560" fill="none" stroke="black"/>
              <path d="M 32,160 L 32,352" fill="none" stroke="black"/>
              <path d="M 32,384 L 32,544" fill="none" stroke="black"/>
              <path d="M 48,208 L 48,256" fill="none" stroke="black"/>
              <path d="M 48,288 L 48,320" fill="none" stroke="black"/>
              <path d="M 48,432 L 48,480" fill="none" stroke="black"/>
              <path d="M 80,256 L 80,288" fill="none" stroke="black"/>
              <path d="M 80,320 L 80,432" fill="none" stroke="black"/>
              <path d="M 144,256 L 144,288" fill="none" stroke="black"/>
              <path d="M 144,320 L 144,400" fill="none" stroke="black"/>
              <path d="M 152,64 L 152,208" fill="none" stroke="black"/>
              <path d="M 176,208 L 176,256" fill="none" stroke="black"/>
              <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
              <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
              <path d="M 192,160 L 192,352" fill="none" stroke="black"/>
              <path d="M 192,384 L 192,408" fill="none" stroke="black"/>
              <path d="M 192,424 L 192,544" fill="none" stroke="black"/>
              <path d="M 216,160 L 216,352" fill="none" stroke="black"/>
              <path d="M 216,384 L 216,408" fill="none" stroke="black"/>
              <path d="M 216,424 L 216,544" fill="none" stroke="black"/>
              <path d="M 232,144 L 232,160" fill="none" stroke="black"/>
              <path d="M 232,272 L 232,320" fill="none" stroke="black"/>
              <path d="M 248,128 L 248,144" fill="none" stroke="black"/>
              <path d="M 264,320 L 264,400" fill="none" stroke="black"/>
              <path d="M 344,272 L 344,320" fill="none" stroke="black"/>
              <path d="M 360,160 L 360,352" fill="none" stroke="black"/>
              <path d="M 360,384 L 360,544" fill="none" stroke="black"/>
              <path d="M 376,144 L 376,336" fill="none" stroke="black"/>
              <path d="M 392,128 L 392,320" fill="none" stroke="black"/>
              <path d="M 416,112 L 416,560" fill="none" stroke="black"/>
              <path d="M 56,32 L 168,32" fill="none" stroke="black"/>
              <path d="M 56,64 L 168,64" fill="none" stroke="black"/>
              <path d="M 24,96 L 144,96" fill="none" stroke="black"/>
              <path d="M 160,96 L 400,96" fill="none" stroke="black"/>
              <path d="M 248,128 L 392,128" fill="none" stroke="black"/>
              <path d="M 232,144 L 376,144" fill="none" stroke="black"/>
              <path d="M 32,160 L 144,160" fill="none" stroke="black"/>
              <path d="M 160,160 L 192,160" fill="none" stroke="black"/>
              <path d="M 216,160 L 360,160" fill="none" stroke="black"/>
              <path d="M 48,208 L 176,208" fill="none" stroke="black"/>
              <path d="M 48,256 L 176,256" fill="none" stroke="black"/>
              <path d="M 232,272 L 344,272" fill="none" stroke="black"/>
              <path d="M 48,288 L 176,288" fill="none" stroke="black"/>
              <path d="M 48,320 L 176,320" fill="none" stroke="black"/>
              <path d="M 232,320 L 344,320" fill="none" stroke="black"/>
              <path d="M 376,320 L 392,320" fill="none" stroke="black"/>
              <path d="M 360,336 L 376,336" fill="none" stroke="black"/>
              <path d="M 32,352 L 72,352" fill="none" stroke="black"/>
              <path d="M 88,352 L 136,352" fill="none" stroke="black"/>
              <path d="M 152,352 L 192,352" fill="none" stroke="black"/>
              <path d="M 216,352 L 256,352" fill="none" stroke="black"/>
              <path d="M 272,352 L 360,352" fill="none" stroke="black"/>
              <path d="M 32,384 L 72,384" fill="none" stroke="black"/>
              <path d="M 88,384 L 136,384" fill="none" stroke="black"/>
              <path d="M 152,384 L 192,384" fill="none" stroke="black"/>
              <path d="M 216,384 L 256,384" fill="none" stroke="black"/>
              <path d="M 272,384 L 360,384" fill="none" stroke="black"/>
              <path d="M 160,416 L 248,416" fill="none" stroke="black"/>
              <path d="M 48,432 L 176,432" fill="none" stroke="black"/>
              <path d="M 48,480 L 176,480" fill="none" stroke="black"/>
              <path d="M 32,544 L 192,544" fill="none" stroke="black"/>
              <path d="M 216,544 L 360,544" fill="none" stroke="black"/>
              <path d="M 24,576 L 400,576" fill="none" stroke="black"/>
              <path d="M 56,32 C 47.16936,32 40,39.16936 40,48" fill="none" stroke="black"/>
              <path d="M 168,32 C 176.83064,32 184,39.16936 184,48" fill="none" stroke="black"/>
              <path d="M 56,64 C 47.16936,64 40,56.83064 40,48" fill="none" stroke="black"/>
              <path d="M 168,64 C 176.83064,64 184,56.83064 184,48" fill="none" stroke="black"/>
              <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
              <path d="M 400,96 C 408.83064,96 416,103.16936 416,112" fill="none" stroke="black"/>
              <path d="M 160,416 C 151.16936,416 144,408.83064 144,400" fill="none" stroke="black"/>
              <path d="M 248,416 C 256.83064,416 264,408.83064 264,400" fill="none" stroke="black"/>
              <path d="M 24,576 C 15.16936,576 8,568.83064 8,560" fill="none" stroke="black"/>
              <path d="M 400,576 C 408.83064,576 416,568.83064 416,560" fill="none" stroke="black"/>
              <g class="text">
                <text x="84" y="52">Verifier</text>
                <text x="128" y="52">/</text>
                <text x="148" y="52">RP</text>
                <text x="68" y="132">Attester</text>
                <text x="80" y="180">Trusted</text>
                <text x="124" y="180">VM</text>
                <text x="260" y="180">Assigned</text>
                <text x="324" y="180">Device</text>
                <text x="76" y="228">Lead</text>
                <text x="92" y="244">Attester</text>
                <text x="268" y="292">Device</text>
                <text x="80" y="308">Guest</text>
                <text x="132" y="308">Kernel</text>
                <text x="276" y="308">Attester</text>
                <text x="92" y="452">Platform</text>
                <text x="92" y="468">Attester</text>
                <text x="100" y="516">Confidential</text>
                <text x="264" y="516">Untrusted</text>
                <text x="84" y="532">Platform</text>
                <text x="260" y="532">Platform</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
      .---------------.
     | Verifier / RP   |
      '------------+--'
                   |
  .----------------|-------------------------------.
 |                 |                                |
 |   Attester      |           .-----------------.  |
 |                 |         .-+---------------. |  |
 |  .--------------|----.  .-+---------------. | |  |
 |  |  Trusted VM  |    |  | Assigned Device | | |  |
 |  |              |    |  |                 | | |  |
 |  | .------------+--. |  |                 | | |  |
 |  | | Lead          | |  |                 | | |  |
 |  | | Attester      | |  |                 | | |  |
 |  | '---+-------+---' |  |                 | | |  |
 |  |     |       |     |  | .-------------. | | |  |
 |  | .---+-------+---. |  | | Device      | | | |  |
 |  | | Guest Kernel  | |  | | Attester    | | | |  |
 |  | '---+-------+---' |  | '---+---------' | +-'  |
 |  |     |       |     |  |     |           +-'    |
 |  '-----|-------|-----'  '-----|-----------'      |
 |        |       |              |                  |
 |  .-----|-------|-----.  .-----|-----------.      |
 |  |     |       |     |  |     |           |      |
 |  |     |        '------------'            |      |
 |  | .---+-----------. |  |                 |      |
 |  | | Platform      | |  |                 |      |
 |  | | Attester      | |  |                 |      |
 |  | '---------------' |  |                 |      |
 |  |                   |  |                 |      |
 |  |  Confidential     |  | Untrusted       |      |
 |  |  Platform         |  | Platform        |      |
 |  '-------------------'  '-----------------'      |
 |                                                  |
  '------------------------------------------------'
]]></artwork>
        </artset>
      </figure>
      <t>When a challenger (i.e., a Verifier or a Relying Party) requests Evidence from the TVM, the Lead Attester broadcasts the received nonce to all the sub-Attesters, obtains Evidence from each of them and assembles the composite Evidence using a CMW Collection (Section 3.3 of <xref target="I-D.ietf-rats-msg-wrap"/>).
It then signs the composite Evidence using its key material as shown in <xref target="fig-ratsd-token"/>.</t>
      <t>The claims obtained by the assigned devices are repackaged into DAT submods, which are then signed as part of the CMW collection using the Lead Attester key.</t>
      <figure anchor="fig-ratsd-token">
        <name>Composite Attestation Evidence</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="336" width="560" viewBox="0 0 560 336" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 72,80 L 72,240" fill="none" stroke="black"/>
              <path d="M 120,48 L 120,72" fill="none" stroke="black"/>
              <path d="M 120,88 L 120,152" fill="none" stroke="black"/>
              <path d="M 120,168 L 120,232" fill="none" stroke="black"/>
              <path d="M 120,248 L 120,272" fill="none" stroke="black"/>
              <path d="M 144,64 L 144,112" fill="none" stroke="black"/>
              <path d="M 144,144 L 144,192" fill="none" stroke="black"/>
              <path d="M 144,224 L 144,256" fill="none" stroke="black"/>
              <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
              <path d="M 272,144 L 272,192" fill="none" stroke="black"/>
              <path d="M 272,224 L 272,256" fill="none" stroke="black"/>
              <path d="M 296,48 L 296,232" fill="none" stroke="black"/>
              <path d="M 296,248 L 296,272" fill="none" stroke="black"/>
              <path d="M 320,176 L 320,304" fill="none" stroke="black"/>
              <path d="M 552,176 L 552,304" fill="none" stroke="black"/>
              <path d="M 120,48 L 296,48" fill="none" stroke="black"/>
              <path d="M 144,64 L 272,64" fill="none" stroke="black"/>
              <path d="M 72,80 L 136,80" fill="none" stroke="black"/>
              <path d="M 144,112 L 272,112" fill="none" stroke="black"/>
              <path d="M 144,144 L 272,144" fill="none" stroke="black"/>
              <path d="M 56,160 L 136,160" fill="none" stroke="black"/>
              <path d="M 320,176 L 552,176" fill="none" stroke="black"/>
              <path d="M 144,192 L 272,192" fill="none" stroke="black"/>
              <path d="M 144,224 L 272,224" fill="none" stroke="black"/>
              <path d="M 72,240 L 136,240" fill="none" stroke="black"/>
              <path d="M 144,256 L 272,256" fill="none" stroke="black"/>
              <path d="M 120,272 L 296,272" fill="none" stroke="black"/>
              <path d="M 320,304 L 552,304" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="144,240 132,234.4 132,245.6" fill="black" transform="rotate(0,136,240)"/>
              <polygon class="arrowhead" points="144,160 132,154.4 132,165.6" fill="black" transform="rotate(0,136,160)"/>
              <polygon class="arrowhead" points="144,80 132,74.4 132,85.6" fill="black" transform="rotate(0,136,80)"/>
              <g class="text">
                <text x="184" y="36">signed-cbor-cmw</text>
                <text x="172" y="84">Lead</text>
                <text x="228" y="84">Attester</text>
                <text x="188" y="100">Evidence</text>
                <text x="24" y="164">nonce</text>
                <text x="188" y="164">Platform</text>
                <text x="188" y="180">Evidence</text>
                <text x="376" y="196">eat_profile</text>
                <text x="368" y="212">eat_nonce</text>
                <text x="356" y="228">submod</text>
                <text x="392" y="228">{</text>
                <text x="168" y="244">DAT</text>
                <text x="280" y="244">-</text>
                <text x="296" y="244">-</text>
                <text x="312" y="244">-</text>
                <text x="384" y="244">"spdm:A":</text>
                <text x="432" y="244">{</text>
                <text x="456" y="244">...</text>
                <text x="480" y="244">}</text>
                <text x="412" y="260">"legacy-pcie:B":</text>
                <text x="488" y="260">{</text>
                <text x="512" y="260">...</text>
                <text x="536" y="260">}</text>
                <text x="384" y="276">"spdm:C":</text>
                <text x="432" y="276">{</text>
                <text x="456" y="276">...</text>
                <text x="480" y="276">}</text>
                <text x="336" y="292">}</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                signed-cbor-cmw
               .---------------------.
               |  .---------------.  |
         .------->| Lead Attester |  |
         |     |  | Evidence      |  |
         |     |  '---------------'  |
         |     |                     |
         |     |  .---------------.  |
 nonce --+------->| Platform      |  |
         |     |  | Evidence      |  |  .----------------------------.
         |     |  '---------------'  |  | eat_profile                |
         |     |                     |  | eat_nonce                  |
         |     |  .---------------.  |  | submod {                   |
         '------->| DAT           +- - -+   "spdm:A": { ... }        |
               |  '---------------'  |  |   "legacy-pcie:B": { ... } |
               '---------------------'  |   "spdm:C": { ... }        |
                                        | }                          |
                                        '----------------------------'
]]></artwork>
        </artset>
      </figure>
      <t>The Veraison project's <tt>ratsd</tt> daemon is an example of this behaviour.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you
Basma El Gaabouri,
James Bottomley,
Jon Lange,
Lukas Wunner,
Roksana Golizadeh Mojarad,
Simon Frost
and
Yousuf Sait
for your comments and suggestions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
lgHdTh2OAAA=

-->

</rfc>
