<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-acme-rats-02" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="acme-rats">Automated Certificate Management Environment (ACME) Remote Attestation Identifier and Challenge Type</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-acme-rats-02"/>
    <author fullname="Chunchi Peter Liu">
      <organization>Huawei</organization>
      <address>
        <email>liuchunchi@huawei.com</email>
      </address>
    </author>
    <author fullname="Mike Ounsworth">
      <organization>Cryptic Forest Software, Ltd</organization>
      <address>
        <email>mike@ounsworth.ca</email>
      </address>
    </author>
    <author fullname="Michael Richardson">
      <organization>Sandelman Software Works Inc</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author fullname="Ganesh Mallaya">
      <organization>AppViewX, Inc</organization>
      <address>
        <email>ganesh.mallaya@appviewx.om</email>
      </address>
    </author>
    <date year="2026" month="September" day="10"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <keyword>ACME</keyword>
    <keyword>Remote Attestation</keyword>
    <keyword>Zero Trust</keyword>
    <abstract>
      <?line 64?>

<t>This document describes an approach where an ACME Server can challenge an ACME Client to provide Evidence, Endorsements, or Attestation Result according to the Remote ATtestation procedureS (RATS) framework in any format supported by the Conceptual Message Wrapper (CMW).</t>
      <t>The ACME Server can optionally challenge the Client for specific claims that it wishes attestation for.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://liuchunchi.github.io/draft-liu-acme-rats/draft-liu-acme-rats.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-acme-rats/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Automated Certificate Management Environment Working Group mailing list (<eref target="mailto:acme@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/acme/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/acme/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/liuchunchi/draft-liu-acme-rats"/>.</t>
    </note>
  </front>
  <middle>
    <?line 70?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>ACME <xref target="RFC8555"/> is a standard protocol for issuing and renewing certificates automatically.
When an ACME client needs a certificate, it connects to the ACME server, providing a proof of control of a desired identity. Upon success, it then receives a certificate with that identity in it.</t>
      <t>These identities become part of the certificate, usually a Fully Qualified Domain Name (FQDN) that goes into the Subject Alt Name (SAN) for a certificate.
Prior to ACME, the authorization process of obtaining a certificate from an operator of a (public) certification authority was non-standard and ad-hoc.
It ranged from sending faxes on company letterhead to answering an email sent to a well-known email address like <tt>hostmaster@example.com</tt>, evolving into a process where some randomized nonce could be placed in a particular place on the target web server.
The point of this process is to prove that the given DNS FQDN was controlled by the same client system initiating the certificate request.</t>
      <t>ACME standardized the process of proving domain control, allowing for full automation of certificate issuance.
It has been a massive success: increasing HTTPS usage from 27% in 2013 to over 80% in 2019 <xref target="letsencrypt"/>.</t>
      <t>While the ACME process supports many kinds of identifiers such as email addresses and DTN node IDs, and other client-type identifiers, ACME for client certificates has not yet become as popular, in part because these types of certificates are usually located on much more general purpose systems such as laptops and computers used by people in which there is no standardized automated way to perform proof of control.</t>
      <t>In addition to proving control of an identifier, a major concern that enterprises have with the use of client certificates has been the trustworthiness of the client system itself.
Such systems have many more configurations, and are often harder to assess the security posture of as a result.
While well managed mutual TLS (client and server authentication via PKIX certificate) has significant advantages over the more common login via username/password, if the private key associated with a client certificates is disclosed or lost, then the impact can be more significant.</t>
      <t>One use case envisioned here is that of client devices within an enterprise.  A Network Operations Center (NOC)
(which may be internal or an external contracted entity) will issue (client) certificates to devices that can prove via remote attestation that they are running an up-to-date operating system as well as the enterprise-required endpoint security software.</t>
      <t>Another use case envisioned is issuance of server certificates, for example TLS certificates or code-signing certificates, where the Certification Authority (CA) requires, in addition to proof of control of the identifiers, some proof about the security posture of the operating environment, such as how the private key is stored, or the running environment of the server application.</t>
      <t>This is a place where Remote Attestation Procudures (RATS) <xref target="RFC9334"/> can offer additional assurance.
Remote Attestation provides a framework as well as an emerging ecosystem of standardized data formats and tools for a device to provide a remote peer with proof of various system properties in the form of measured evidence and third-party endorsements.
ACME servers can leverage the Remote Attestation ecosystem either by directly consuming evidence and endorsements, or by having a third-party verifier assess the evidence and endorsements and produce an attestation result which is then provided to the ACME server.</t>
      <t>In this document, we propose an extension to the ACME protocol where ACME Server MAY challenge the ACME Client to produce an Attestation Evidence or Attestation Result in any format that is supported by the RATS Conceptual Message Wrapper <xref target="I-D.ietf-rats-msg-wrap"/>, for instance, an EAT (entity attestation token).
The ACME Server then verifies the attestation result against an appraisal policy as required by the requested certificate profile.
Essentially, this provides a mechanism for the ACME server to challenge for and transport Remote Attestation data, but it leaves out-of-scope how the ACME server verifies the provided data according to its certificate profiles.
Remote Attestation can in some cases provide proof of control of an identifier, such as a hardware serial number or a cryptographic public key, but in general Remote Attestation will be at a lower level than the identifier going into the certificate such as a FQDN or an email address.
Therefore the design of this extension does not replace the identity challenges in the ACME protocol, but acts supplementally to it.</t>
      <t>ACME can presently offer certificates with multiple identities.
Typically, in a server certificate situation, each identity represents a unique FQDN that would be placed into the certificate as distinct Subject Alt Names (SAN).
For instance each of the names: example.com, www.example.com, www.example.net and marketing.example.com might be placed in a single certificate for a server that provides web content under those four names.</t>
      <t>This document defines a new identity type, <tt>trustworthy</tt> that the ACME client can ask for.
A new <tt>attestation-result-01</tt> challenge is defined as a new method by which the ACME Server can challenge the Client to provide Remote Attestation according to the RATS Passport model.
The <tt>attestation-evidence-02</tt> challenge is also defined, challenging the client to provide direct evidence according to the RATS Background Check model.
In this way, the Certification Authority (CA) or Registration Authority (RA) issues certificates only to devices that can provide an appropriate attestation of the required properties / claims, indicating that the device from which the ACME request originates has passed the required security checks.</t>
      <t>The term "remote attestation" covers a broad range of standardized and proprietary technologies and data formats and this specification tries to be as technology-agnostic as possible. However, it assumes that evidence could contain sensitive data and therefore needs an optional payload encryption mechanism to keep this information protected as at passes through the various layers of the ACME server and RA to a RATS Verifier, whereas attestation results are assumed to be non-sensitive and therefore do not require this extra protection.</t>
      <t>Attested ACME requests can form an essential building block towards the continuous monitoring/validation requirement of Zero-Trust principle when coupled with other operational measures, such as issuing only short-lived certificates.</t>
      <t>For ease of denotion, we omit the "ACME" adjective from now on, where Server means ACME Server and Client means ACME Client.</t>
      <section anchor="design-overview">
        <name>Design overview</name>
        <t>Conceptually, the server is challenging the client to produce remote attestation as part of the certificate enrollment flow.
However, this mechanism cannot be defined simply as an ACME challenge for a number of reasons.</t>
        <t>First, the ACME protocol <xref target="RFC8555"/> is designed such that a client requests a given identifier to appear in the certificate, and the server provides a list of proof-of-control challenges such as {DNS-01, HTTP-01} to which the client only needs to respond to one. The design goal here is that the remote attestation challenge supplements the identifier challenges rather than replaces them. Instead we want the behavior that the client must respond to one of {DNS-01, HTTP-01} and also provide remote attestation of the given list of attestable properties.</t>
        <t>Second, an ACME client can request multiple identifiers in a single certificate request and so ACME challenges are per identifier. By contrast, remote attestation typically applies to the entire client device or private key and is not coupled to the requested identifiers.</t>
        <t>Consider an example where a Client requests a certificate for the DNS name "client01.finance.example" and the Server wants to respond that the client can fulfill either a DNS-01 or an HTTP-01 Challenge to prove ownership of that DNS same, and also the Client must provide two separate types of remote attestation, one measuring the boot stack and device integrity where the application runs, and a separate attestation proving that the subject private key is in an HSM. The desired behavior is {DNS-01 OR HTTP-01} AND measured-boot AND hsm. The only way for the Server to issue four Challenges in ACME that behave this way is to issue the DNS-01 and HTTP-01 under the same Identifier, and the measured-boot and hsm Challenges each under their own Identifier. To achieve this, <xref target="sec-identifier"/> introduces a new ACME Identifier type "remote-attestation" which is not really an identifier, but instead conveys the general type of attestation required.</t>
        <t>EDNOTE: there will be cases where the attestation does act as proof-of-control of an identifier, such as validating a Serial Number DN component. So do we want to allow <tt>attestation-result-01</tt> and <tt>attestation-evidence-01</tt> to be used within any identifier so that you can say DNS-01 or HTTP-01 or remote-attestation for cases where that makes sense?</t>
      </section>
      <section anchor="related-work">
        <name>Related work</name>
        <t>TODO: need a compare &amp; contrast with draft-ietf-acme-device-attest. @Ganesh, you're an author on both, could you write this text?</t>
        <t><xref target="CSRATT"/> define a mechanism for carrying arbitrary remote attestation data within a certificate signing request (CSR) object (PKCS#10 or CRMF). Since ACME internally uses PKCS#10 CSRs, this provides an alternate mechanism for carrying remote attestation within ACME.
This specification provides additional functionality that cannot be achieved via attested CSRs, namely giving the ACME server a way to challenge the client not only for attestation, for for attestation of specific properties. It also decouples the attestation from the CSR, which future-proofs this mechanism in case CSR is removed as a mandatory part of the ACME protocol at some future time.
That said, there is no reason that <xref target="CSRATT"/> could not be combined with the mechanism described in this document; for example a client could provide an attested CSR proving protection properties of the private key within an HSM, and also respond to an ACME remote attestation challenge proving the security posture of the application stack.</t>
        <t><xref target="RATSPA"/> defines a summary of a local assessment of posture for managed systems and across various  layers.
The claims and mechanisms defined in <xref target="RATSPA"/> are a good basis for the assessment that will need to be done in order to satisfy the trustworthiness challenge detailed in this document.</t>
      </section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <section anchor="sec-identifier">
        <name>'remote-attestation' identifier</name>
        <t>A new identifier type to indicate client support or server request for remote attestation.
This is a "dummy" identifier in that the <tt>value</tt> does not contain an actual identifier, but instead a property that is the be remotely attested.
The <tt>value</tt> MAY be left empty, or contain a property hint as per <xref target="prophints"/>.</t>
        <dl>
          <dt>type (required, string):</dt>
          <dd>
            <t>The string "remote-attestation".</t>
          </dd>
          <dt>value (required, string):</dt>
          <dd>
            <t>A string from the  ACME Attest Claims Hint Registry defined in <xref target="prophints"/>, which could be the empty string.</t>
          </dd>
        </dl>
        <t>A Client MAY advertize support for multiple "remote-attestation" identifiers in the same ACME protocol flow.</t>
        <t>A Server MAY issue challenges for multiple "remote-attestation" identifiers in the same ACME protocol flow. As the Server is authoritative for the requirements to be fulfilled for the given certificate request, the Server MAY choose not to issue a Challenge for every "remote-attestation" identifier type that the Client advertized support for, and conversely, the Server MAY issue a challenge for "remote-attestation" identifiers that the Client did not advertize support for.</t>
        <t>EDNOTE: Is there any reason for the client to include "remote-attestation" identifiers in the newOrder at all?</t>
      </section>
      <section anchor="rats-chall">
        <name>remote-attest-01 Challenge</name>
        <t>A <tt>remote-attest-01</tt> challenge type asks the Client to provide Evidence appropriate for making a  trustworthiness decision.
The Client SHOULD use the provided
<tt>freshness_nonce</tt> as an attestation freshness nonce, if the Client's underlying attestation technology supports freshness nonces.</t>
        <t>The Server MAY include a <tt>attestClaimsHint</tt> containing a list of claims or specific properties that it would like to see attested.</t>
        <t>The Client MUST complete the challenge by returning a CMW <xref target="I-D.ietf-rats-msg-wrap"/> which MAY contain remote attestation data in any defined CMW format, including: EAT <xref target="RFC9711"/>, WebAuthn (cite), TPM attest_certify (?cite), PKIXKeyAttesation <xref target="RATSKA"/>.
It may contain other RATS conceptual message types such as evidence, endorsement, or attestation result as appropriate for the mode.
Since this specification allows wide flexibility on the contents of the remote attestation data, this document does not remove the need for vendors to perform interoperability testing with CAs to ensure compatibility.</t>
        <t>This section describes the challenge/response extensions and procedures to use them.</t>
        <section anchor="remote-attest-01-challenge-object">
          <name>remote-attest-01 Challenge Object</name>
          <t>The <tt>remote-attest-01</tt> Challenge Object is:</t>
          <t>The basic fields <tt>type</tt> (which MUST be "remote-attest-01"), <tt>url</tt>, <tt>status</tt>, <tt>validated</tt> and <tt>error</tt> are preserved from <xref section="8" sectionFormat="of" target="RFC8555"/> un-modified. The following new fields are added:</t>
          <dl>
            <dt>freshness_nonce (required, string):</dt>
            <dd>
              <t>A randomly created nonce provided by the server which MUST be included in the Attestation Results to provide freshness.</t>
            </dd>
          </dl>
          <t>EDNOTE TODO: we should decide whether this nonce MAY / SHOULD / SHOULD NOT / MUST NOT be the same as the ACME nonce or the ACME Challenge URL.</t>
          <dl>
            <dt>attestClaimsHint (optional, list of string)</dt>
            <dd>
              <t>If the Server requires attestation of specific claims or properties in order to issue the requested certificate profile, then it MAY list one or more types of claims from the newly-defined ACME Attest Claims Hints registry defined in <xref target="prophints"/>.</t>
            </dd>
            <dt>verifierEncryptionCredential (optional, JWK)</dt>
            <dd>
              <t>A URL where the Client can fetch the encryption public key that it can use for encrypting the remote-attestation challenge response.</t>
            </dd>
          </dl>
          <t>The <tt>attestClaimsHint</tt> SHOULD contain values from the "JSON Web Token Claims" registry created by <xref target="RFC7519"/>, in particular claims related to remote attestation as registered in <xref target="RFC9711"/> and related documents, but MAY contain non-registered values. The Client SHOULD attempt to collect evidence, endorsements, or attestation results from its local environment that satisfies these claims, either directly if the local environment supports EAT <xref target="RFC7519"/>, or mapped to the closest equivalent claims in the supported format. The Client MAY ignore any claims that it does not recognize or that it is unable to collect remote attestation for. In other words, the Client SHOULD return what it has rather than failing, and allow the Server to decide if it is acceptable for the requested certificate profile.</t>
          <t>The <tt>verifierEncryptionCredential</tt> is an encryption key in JSON Web Key (JWK) {!RFC7517} format that the Client can use to encrypt the attestation data that it will return.
It is intended for cases where the evidence contains sensitive data the Client wishes to protect it against accidental logging, for example by HTTP proxies, as it passes through the Server's application stack. This could for example include data such as identifiers that could be linkable to a person and therefore qualify as Personally Identifiable Information, or any other detailed type of system measurement that the Client deems sensitive.
The credential SHOULD be in the JSON Web Key (JWK) <xref target="RFC7517"/> format, but MAY be in other reasonable formats such as a DER or PEM encoded X.509 certificate.</t>
          <t>EDNOTE: in the name of simplicity, make this "MUST JWK"?</t>
          <t>EDNOTE: We need to think carefully about whether this step needs to behave differently depending on whether the client will provide Evidence vs Attestation Result; particularly the nonces work a bit differently in the two cases. ... is it enough for the Server to always provide a nonce and just ignore it if the thing it gets back is an AR? Or maybe go even more hands-off and say "Here's a nonce field, whether and how you use it is up to the RA and its attestation Verifier" ?</t>
        </section>
        <section anchor="attestation-response">
          <name>remote-attest-01 Response</name>
          <t>The HTTP POST body to the challenge URL MUST be a raw JSON or CBOR CMW <xref section="5.2" sectionFormat="comma" target="I-D.ietf-rats-msg-wrap"/>, base64 encoded as necessary.</t>
          <t>If the Server provided a <tt>verifierEncryptionCredential</tt> and the Client wishes to make use of it, then the entire CWM payload MUST be placed inside a JSON Web Encryption (JWE) envelope <xref target="RFC7516"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="example-protocol-flow">
      <name>Example Protocol Flow</name>
      <section anchor="new-order-req">
        <name>Step 1: newOrder Request Object</name>
        <t>During the certificate order creation step, the Client sends a /newOrder JWS request (Section 7.4 of <xref target="RFC8555"/>) whose payload contains an array of identifiers. To indicate support for remote attestation, the client adds one or more <tt>remote-attestation</tt> identifiers to the array of identifiers. This is entirely optional and the server MAY choose to challenge for attestation or not according to its configuration for the requested certificate profile irrespective of whether the client indicated that it is attestation-capable.</t>
        <t>The "remote-attestation" identifier MAY appear as the only identifier type in the array, but only if the supported remote attestation type is capable of proving control of the identifier(s) that will go into the certificate's CN or SANs. For example, a measured-boot style remote attestation MAY be capable of proving ownership of a hardware serial number, or a WebAuthn / FIDO / Passkey style remote attestation MAY be capable of proving control of a FIDO token belonging to a given username or email address.
However, more typically the "remote-attestation" identifier serves to provide supplemental trustworthiness next to a direct proof-of-control identity challenge such as DNS-01 or HTTP-01.</t>
        <t>In this example, a client is requesting a certificate for a <tt>dns</tt> identity <tt>client01.finance.example</tt> and offers that it can provide remote attestation of the measured-boot stack of the application server via the remote-attestation identifier <tt>"measured-boot"</tt>, as well as provide remote attestation from the underlying cryptographic hardware holding the private key via the remote-attestation identifier <tt>"hsm"</tt>. These values refer to the ACME Attest Properties Hint Registry defined in <xref target="prophints"/>.</t>
        <t>An example extended newOrder JWS request:</t>
        <artwork><![CDATA[
  POST /acme/new-order HTTP/1.1
  Content-Type: application/json
  {
    "protected": base64url({
      "alg": "ES256",
    }),
    "payload": base64url({
      "identifiers": [
        { "type": "dns", "value": "client01.finance.example" },
        { "type": "remote-attestation", "value": "measured-boot" },
        { "type": "remote-attestation", "value": "hsm" },
      ],
    }),
    "signature": "H6ZXtGjTZyUnPeKn...wEA4TklBdh3e454g"
  }
]]></artwork>
      </section>
      <section anchor="new-order-resp">
        <name>Step 2: Order Object</name>
        <t>As explained in <xref section="7.1.3" sectionFormat="comma" target="RFC8555"/>, the server returns an Order Object.</t>
        <t>An example extended Order Object that includes confirmation that this order will include remote attestation:</t>
        <artwork><![CDATA[
  POST /acme/new-order HTTP/1.1
  ...

  HTTP/1.1 200 OK
  Content-Type: application/json
  {
    "status": "pending",

    "identifiers": [
        { "type": "dns", "value": "client01.finance.example" },
        { "type": "remote-attestation", "value": "measured-boot" },
        { "type": "remote-attestation", "value": "hsm" },
    ],

    "authorizations": [
      "https://example.com/acme/authz/PAniVnsZcis",
      "https://example.com/acme/authz/C1uq5Dr+x8GSEJTSKW5B",
      "https://example.com/acme/authz/01jcCDfT0iJBmUlaueum",
    ],

    "finalize": "https://example.com/acme/order/T..fgo/finalize",
  }
]]></artwork>
        <t>The server is not required to match the list of remote-attestation identifiers provided by the client. The server MAY challenge for a subset of the remote-attestation identifiers offered by the client, or it MAY challenge for remote-attestation identifiers that were not offered by the client. The server has full discretion for deciding what properties are required to be attested for the requested certificate profile.</t>
      </section>
      <section anchor="step-3-authorization-object">
        <name>Step 3: Authorization Object</name>
        <t>The Client MUST complete the authorizations provided by the server, but it MAY do so in any order <xref target="RFC8555"/>.</t>
        <t>In this example, the Server has created an Authorization Object for the "remote-attestation" and "dns" identifiers.
The client accesses each authorization object from the URLs given in the Order Object.
In this example, the <tt>PAniVnsZcis</tt> authorization relates to the <tt>dns</tt> identifier, and
it is not changed from <xref section="8" sectionFormat="comma" target="RFC8555"/>.
The <tt>C1uq5Dr+x8GSEJTSKW5B</tt> authorization corresponds to the remote-attestation "measured-boot" identifier.</t>
        <t>Here is an example <tt>remote-attest-01</tt> challenge:</t>
        <artwork><![CDATA[
   GET https://example.com/acme/authz/C1uq5Dr+x8GSEJTSKW5B HTTP/1.1
   ..

   HTTP/1.1 200 OK
   Content-Type: application/json
   {
     "status": "pending",
     "expires": "2025-09-30T14:09:07.99Z",

     "identifier": {
       "type": "remote-attestation",
       "value": "measured-boot"
     },

     "challenges": [
       {
         "type": "remote-attest-01",
         "url": "https://example.com/acme/chall/prV_8235AD9d",
         "status": "pending",
         "freshness_nonce": "yoW1RL2zPBzYEHBQ06Jy",
         "attestClaimsHint": ["hwmodel", "swversion", "submods", "manifests",],
         "verifierEncryptionCredential": "https://example.com/acme/ra-encr-keys/_fyg_W85yTul8zDPygcIgKmj-xA",
       }
     ],
   }
]]></artwork>
        <t>EDNOTE: TODO: check 8555 if "token" is mandatory, and if so, use that to carry the attestation freshness nonce.</t>
        <t>In this example, the Server is indicating that it wants a remote attestation result including the following claims:</t>
        <artwork><![CDATA[
"attestClaimsHint": ["hwmodel", "swversion", "submods", "manifests",],
]]></artwork>
        <t>meaning that it is interesting in the type of device and what software is running on it. This field is called a "hint" because the ACME Client might not be capable of obtaining remote attestation evidence, endorsements, or attestation results that directly map to these claims. Servers SHOULD NOT we written to expect exactly these claims back. This mechanism does not remove the need for vendors to perform interop testing against CAs.</t>
        <t>EDNOTE: is the attestClaimsHint actually adding anything useful on top of the identifier values of "measured-boot", "hsm", "passkey", etc?</t>
      </section>
      <section anchor="step-4-respond-to-remote-attestation-challenge">
        <name>Step 4: Respond to Remote Attestation Challenge</name>
        <t>The client now queries its local environment to obtain evidence, endorsements and/or attestation results to satisfy the Remote Attestation challenge.</t>
        <t>If the underlying remote attestation technology supports a freshness nonce, then the Client passes the (example) token <tt>yoW1RL2zPBzYEHBQ06Jy</tt> into the underlying attestation service as the nonce.</t>
        <t>The payload of the Remote Attestation Challenge response MUST be a CMW <xref target="I-D.ietf-rats-msg-wrap"/>, but the underlying payload type within the CMW is left unconstrained and therefore the details of collecting the remote attestation data for this this step are not in scope for this document.
As an example, it might use EAT <xref target="RFC9711"/>, TPM-CHARRA <xref target="RFC9684"/>, or X, or Y (XXX: insert more options)</t>
        <t>Assume the following binary blob is Remote Attestation evidence collected by the Client:</t>
        <artwork><![CDATA[
yePAuQj5xXAnz87/7ItOkDTk5Y4syoW1RL2zPBzYEHBQ06JyUvZDYPYjeTqwlPszb9Grbxw0UAEFx5DxObV1
]]></artwork>
        <t>This result is sent as a POST to <tt>https://example.com/acme/chall/prV_8235AD9d</tt></t>
        <artwork><![CDATA[
   POST https://example.com/acme/chall/prV_8235AD9d HTTP/1.1
   ..
   Content-Type: application/cmw+cbor

   yePAuQj5xXAnz87/7ItOkDTk5Y4syoW1RL2zPBzYEHBQ06JyUvZDYPYjeTqwlPszb9Grbxw0UAEFx5DxObV1
]]></artwork>
        <t>(EDIT: change to cwm+jws example that wraps the example binary blob)</t>
        <t>Alternatively, the Client MAY use the JWE format <xref target="RFC7516"/> to encrypt the remote attestation data for the Server's <tt>verifierEncryptionCredential</tt> and instead send a POST like this:</t>
        <artwork><![CDATA[
   POST https://example.com/acme/chall/prV_8235AD9d HTTP/1.1
   ..
   Content-Type: application/jwt

   eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ.RYSEVOaD[snip]wwEbtY96_8P3a_A.5QLBf5hAXCkP7CdS.XBiai[snip]RWz1D3f.kCIIMWMoObyekuQ33u0oYQ
]]></artwork>
        <t>('[snip]' indicates that the JWE has been truncated for publication.)</t>
        <t>The Server decodes the provided CMW <xref target="I-D.ietf-rats-msg-wrap"/>.</t>
        <t>The Server MUST perform a full verification of the remote attestation data, including verification of the signature against a pre-configured trust anchor, and appraisal according to a suitable appraisal policy. The CA's certificate policy is the final authority for what trust anchors and appraisal policies will apply and the details are not in scope for this document.</t>
        <t>At this point, if the client were to re-retrieve the authorization object from step 3, it would observe (if everything was accepted and successfully verified) that the status for this challenge would now be marked as valid.</t>
      </section>
      <section anchor="step-5-perform-other-challenges">
        <name>Step 5: Perform other challenges</name>
        <t>The client SHOULD now perform any other Remote Attestation or non-Remote Attestation challenges that were listed in the Order Object from step 2.
ACME provides no ordering constraint on the challenges, so the Client MAY process them in any order, including concurrently.</t>
      </section>
      <section anchor="step-6-finalize-order-retrieve-certificate">
        <name>Step 6: Finalize Order, retrieve certificate</name>
        <t>At this point, the process continues as described in <xref section="7.4" sectionFormat="of" target="RFC8555"/>.
This means that the finalize action is used, which includes a CSR.
If all is well, it will result in a certificate being issued.</t>
      </section>
    </section>
    <section anchor="prophints">
      <name>ACME Attest Properties Hint Registry</name>
      <t>In order for the client to communicate in the newOrder request what types of attestation it is capable of producing, and for the server to indicate in the newOrder response what properties it requires attestation of, this specification creates a new IANA registry called "ACME Attest Properties Hint Registry. The hint is used as the value of the "remote-attestation" identifier type, as described in {#new-order-req} and {#new-order-resp}. In order to preserve vendor flexibility, the initial values in the ACME Attest Properties Hint Registry are intended to be generic in nature, and decoupled from the RATS conceptual message type (evidence, endorsement, or attestation result) or attestation data format (EAT (cite), WebAuthn (cite), TPM attest_certify (cite), PKIXKeyAttestation (cite), or device-proprietary). This model expects CAs to publish documentation about what specific data formats they support, and for vendors to perform interoperability testing with CAs to ensure compatibility. Ultimately, the CA's certificate policies will be the authority on what evidence or attestation results it will accept.</t>
      <t>The ACME Attest Claims Hint Registry is intended to help clients to collect evidence or attestation results that are most likely to be acceptable to the server, but are not a guaranteed replacement for performing interoperability testing between a given attesting device and a given CA. Similarly, an ACME attestation hint may not map one-to-one with attestation functionality exposed by the underlying attesting device, so ACME clients might need to act as intermediaries mapping ACME hints to vendor-specific functionality on a per-hardware-vendor basis.</t>
      <t>See <xref target="iana-propshints"/> for the initial contents of this new registry.</t>
    </section>
    <section anchor="example-use-cases">
      <name>Example use cases</name>
      <section anchor="conflicting-duties">
        <name>Conflicting duties</name>
        <t>(EDIT: This text might be stale)</t>
        <ol spacing="normal" type="1"><li>
            <t>Integration/compatibility difficulty: Integrating SOC and NOC requires plenty of customized, case-by-case developing work. Especially considering different system vendors, system versions, different data models and formats due to different client needs... Let alone possible updates.</t>
          </li>
          <li>
            <t>Conflict of duties: NOC people do not want SOC people to interfere with their daily work, and so do SOC people. Also, NOC people may have limited security knowledge, and SOC people vice versa. Where to draw the line and what is the best tool to help them collaborate is a question.</t>
          </li>
        </ol>
      </section>
      <section anchor="enterprise-wifi-access">
        <name>Enterprise WiFi Access</name>
        <t>In enterprise access cases, security administrators wish to check the security status of an accessing end device before it connects to the internal network.
Endpoint Detection and Response (EDR) softwares can check the security/trustworthiness statuses of the device and produce an Attestation Result (AR) if the check passes. ACME-RA procedures can then be used to redeem a certificate using the AR.</t>
        <t>With that being said, a more specific use case is as follows: an enterprise employee visits multiple campuses, and connects to each one's WiFi. For example, an inspector visits many (tens of) power substations a day, connects to the local WiFi, download log data, proceed to the next and repeat the process.</t>
        <t>Current access solution include: 1. The inspector remembers the password for each WiFi, and conduct the 802.1X EAP password-based (PAP/CHAP/MS-CHAPv2) authentication. or 2. an enterprise MDM receives the passwords and usernames over application layer connection from the MDM server, and enter them on user's behalf. While Solution 1 obviously suffer from management burdens induced by massive number of password pairs, and password rotation requirements, the drawback of Solution 2 is more obsecure, which include:</t>
        <t>a. Bring Your Own Device (BYOD) situation and MDM is not available.
b. Password could risk leakage due to APP compromise, or during Internet transmission. Anyone with leaked password can access, without binding of trusted/usual devices.
c. The RADIUS Client/Access Point/Switch is not aware of the identity of the accessing device, therefore cannot enforce more fine-grained access policies.</t>
        <t>An ideal user story is:
1. When the inspector is at base (or whenever the Remote Attestation-based check is available), he get his device inspected and redeem a certificate using ACME-RA.
2. When at substation, the inspector authenticate to the WiFi using EAP-TLS, where all the substations have the company root CA installed.
2*. Alternatively, the Step 2 can use EAP-repeater mode, where the RADIUS Client redirects the request back to the RADIUS Server for more advanced checks.</t>
      </section>
      <section anchor="byod-devices">
        <name>BYOD devices</name>
        <t>Another example is issuing S/MIME certificates to BYOD devices only if they can prove via attestation that they are registered to a corporate MDM and the user they are registered to matches the user for which a certificate has been requested.</t>
        <t>In this case, the Server might challenge the client to prove that it is properly-registered to the enterprise to the same user as the subject of the requested S/MIME certificate, and that the device is running the corporate-approved security agents.</t>
      </section>
      <section anchor="private-key-in-hardware">
        <name>Private key in hardware</name>
        <t>In some scenarios the CA might require that the private key corresponding to the certificate request is stored in cryptographic hardware and non-extractable. For example, the certificate profile for some types of administrative credentials may be required to be stored in a token or smartcard. Or the CA might be required to enforce that the private key is stored in a FIPS-certified HSM running in a configuration compliant with its FIPS certificate -- this is the case, for example, with CA/Browser Forum Code Signing certificates <xref target="CABF-CSBRs"/> which can be attested for example via <xref target="RATSKA"/>.</t>
        <t>It could also be possible that the requested certificate profile does not require the requested key to be hardware-backed, but that the CA will issue the certificate with extra assurance, for example an extra policy OID or a longer expiry period, if attestation of hardware can be provided.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The attestation-result-01 challenge (the Passport Model) is the mandatory to implement.
The encrypted-evidence-01 challenge (the background-check model) is optional.</t>
      <t>In all cases the Server has to be able to verify Attestation Results from the Verifier.
To do that it requires appropriate trust anchors.</t>
      <t>In the Passport model, Evidence -- which may contain personally identifiable information (PII)) -- is never seen by the ACME Server.
Additionally, there is no need for the Verifier to accept connections from ACME Server(s).
The Attester/Verifier relationship used in the Passport Model leverages a pre-existing relationship.
For instance if the Verifier is operated by the manufacturer of the Attester (or their designate), then this is the same relationship that would be used to obtain updated software/firmware.
In this case, the trust anchors may also be publically available, but the Server does not need any further relationship with the Verifier.</t>
      <t>In the background-check model, Evidence is sent from the Attester to the ACME Server.
The ACME Server then relays this Evidence to a Verifier.
The Evidence is encrypted so that the Server it never able to see any PII which might be included.
The choice of Verifier is more complex in the background-check model.
Not only does ACME Server have to have the correct trust anchors to verify the resulting Attestation Results, but the ACME Server will need some kind of business relationship with the Verifier in order for the Verifier to be willing to appraise Evidence.</t>
      <t>The <tt>trustworthy</tt> identifier is not an actual identifier.
It does not result in any specific contents to the certificate Subject or SubjectAltName.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="iana-propshints">
        <name>ACME Attest Properties Hint Registry</name>
        <t>IANA is requested to open a new registry, XXXXXXXX</t>
        <t>Type: designated expert</t>
        <t>The registry has the following columns:</t>
        <ul spacing="normal">
          <li>
            <t>Property Hint: the string value to be placed within an ACME identifier of type "remote-attestation".</t>
          </li>
          <li>
            <t>Description: a description of the general property which the client is expected to attest.</t>
          </li>
        </ul>
        <t>The initial registry contents is shown in the table below.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Property Hint</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">""</td>
              <td align="left">Empty string. Indicates client support for, or a server request for, attestation without being specific about what type. Typically this means the client will produce whatever remote attestation data it is capable of.</td>
            </tr>
            <tr>
              <td align="left">"hsm"</td>
              <td align="left">Attestation that the private key associated with this certificate request is stored in cryptographic hardware such as a TPM or PKCS#11 HSM. In the case of PKCS#11 HSMs, the attestation SHOULD contain the PKCs#11 properties of the private key storage, as well as an indication of whether the cryptographic module is operating in FIPS mode.</td>
            </tr>
            <tr>
              <td align="left">"measured_boot"</td>
              <td align="left">Attestation from the device's onboard measured-boot stack of the device running the application.</td>
            </tr>
            <tr>
              <td align="left">"os_patch_level"</td>
              <td align="left">Attestation to the version or patch level of the device's operating system.</td>
            </tr>
            <tr>
              <td align="left">"sw_manifest"</td>
              <td align="left">A manifest list of all software currently running on the device.</td>
            </tr>
            <tr>
              <td align="left">"fido2"</td>
              <td align="left">A request for FIDO2-based user authentication; maybe this is to validate a user identifier directly against the FIDO2 data, or maybe this serves as a second-factor to the CA's certificate pickup flow.</td>
            </tr>
          </tbody>
        </table>
        <t>In general, the target environment that the Server wants to be remotely attested is the environment where the application is running. The "hsm" property is an exception to this because this wants attestation from the cryptographic module instead.</t>
        <t>In cases where the ACME client is running on a different host from the application, remote attestation always refers to the application host. In other words, a centralized ACME client MUST fulfill the ACME-RA challenge by getting the application server that will ultimately use the certificate to query its local environment for remote attestation, and the ACME client MUST NOT present remote attestation from the host where it is running.</t>
        <t>EDNOTE: I am somewhat surprised that a registry like this does not already exist associated with CMW.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </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-ar4si">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="18" month="May" year="2026"/>
            <abstract>
              <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-10"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <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="RFC7517">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="RFC7516">
          <front>
            <title>JSON Web Encryption (JWE)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7516"/>
          <seriesInfo name="DOI" value="10.17487/RFC7516"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="CSRATT">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
              <organization>Independent</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="2" month="September" year="2026"/>
            <abstract>
              <t>   Certification Authorities (CAs) issuing certificates to Public Key
   Infrastructure (PKI) end entities may require a certificate signing
   request (CSR) to include additional verifiable information to confirm
   policy compliance.  For example, a CA may require an end entity to
   demonstrate that the private key corresponding to a CSR's public key
   is secured by a hardware security module (HSM), is not exportable,
   etc.  The process of generating, transmitting, and verifying
   additional information required by the CA is called remote
   attestation.  While work is currently underway to standardize various
   aspects of remote attestation, a variety of proprietary mechanisms
   have been in use for years, particularly regarding protection of
   private keys.

   This specification defines ASN.1 structures which may carry
   attestation data for PKCS#10 and Certificate Request Message Format
   (CRMF) messages.  Both standardized and proprietary attestation
   formats are supported by this specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-29"/>
        </reference>
        <reference anchor="RATSPA">
          <front>
            <title>Remote Posture Assessment for Systems, Containers, and Applications at Scale</title>
            <author fullname="Kathleen Moriarty" initials="K." surname="Moriarty">
              <organization>Transforming Information Security LLC</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
              <organization>Beyond Identity</organization>
            </author>
            <author fullname="A.J. Stein" initials="A. J." surname="Stein">
         </author>
            <author fullname="Chandra Nelogal" initials="C." surname="Nelogal">
              <organization>Dell Technologies</organization>
            </author>
            <date day="8" month="April" year="2026"/>
            <abstract>
              <t>   This document establishes an architectural pattern whereby
   Attestation Results could be produced for a complete set of
   benchmarks or controls that are defined and grouped by an external
   entity, eliminating the need to convey individual Evidence items for
   each item within a benchmark or control framework.  This document
   establishes a pattern to list sets of benchmarks and controls within
   CWT and JWT formats for use as an Entity Attestation Token (EAT).
   While the discussion below pertains mostly to TPM, other Roots of
   Trust such as TCG DICE and non-TCG defined components will also be
   included.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-posture-assessment-04"/>
        </reference>
        <reference anchor="RATSKA">
          <front>
            <title>Evidence Encoding for Hardware Security Modules</title>
            <author fullname="Jean-Pierre Fiset" initials="J." surname="Fiset">
              <organization>Crypto4A Inc.</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="5" month="July" year="2026"/>
            <abstract>
              <t>   This document specifies a vendor-agnostic format for Evidence
   produced and verified within a PKIX context.  The Evidence produced
   this way includes claims collected about a cryptographic module, such
   as a Hardware Security Module (HSM), and elements found within it
   such as cryptographic keys.

   One scenario envisaged is that the state information about the
   cryptographic module can be securely presented to a remote operator
   or auditor in a vendor-agnostic verifiable format.  A more complex
   scenario would be to submit this Evidence to a Certification
   Authority to aid in determining whether the storage properties of
   this key meet the requirements of a given certificate profile.

   This specification also offers a format for requesting a
   cryptographic module to produce Evidence tailored for expected use.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-pkix-key-attestation-07"/>
        </reference>
        <reference anchor="I-D.draft-bweeks-acme-device-attest-01">
          <front>
            <title>Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
            <author fullname="Brandon Weeks" initials="B." surname="Weeks">
              <organization>Google</organization>
            </author>
            <date day="7" month="August" year="2022"/>
            <abstract>
              <t>   This document specifies new identifiers and a challenge for the
   Automated Certificate Management Environment (ACME) protocol which
   allows validating the identity of a device using attestation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bweeks-acme-device-attest-01"/>
        </reference>
        <reference anchor="letsencrypt" target="https://www.eff.org/deeplinks/2023/08/celebrating-ten-years-encrypting-web-lets-encrypt">
          <front>
            <title>Celebrating Ten Years of Encrypting the Web with Let's Encrypt</title>
            <author>
              <organization>Electronic Frontier Foundation</organization>
            </author>
            <date year="2025" month="August" day="20"/>
          </front>
        </reference>
        <reference anchor="CABF-CSBRs" target="https://cabforum.org/working-groups/code-signing/documents/">
          <front>
            <title>Baseline Requirements for Code-Signing Certificates</title>
            <author>
              <organization>CA/BROWSER FORUM</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC9684">
          <front>
            <title>A YANG Data Model for Challenge-Response-Based Remote Attestation (CHARRA) Procedures Using Trusted Platform Modules (TPMs)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="M. Eckel" initials="M." surname="Eckel"/>
            <author fullname="S. Bhandari" initials="S." surname="Bhandari"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="B. Sulzen" initials="B." surname="Sulzen"/>
            <author fullname="L. Xia" initials="L." surname="Xia"/>
            <author fullname="T. Laffey" initials="T." surname="Laffey"/>
            <author fullname="G. C. Fedorkow" initials="G. C." surname="Fedorkow"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This document defines the YANG Remote Procedure Calls (RPCs) and configuration nodes that are required to retrieve attestation evidence about integrity measurements from a device, following the operational context defined in RFC 9683 "TPM-based Network Device Remote Integrity Verification". Complementary measurement logs originating from one or more Roots of Trust for Measurement (RTMs) are also provided by the YANG RPCs. The defined module requires the inclusion of the following in the device components of the composite device on which the YANG server is running: at least one Trusted Platform Module (TPM) of either version 1.2 or 2.0 as well as a corresponding TPM Software Stack (TSS), or an equivalent hardware implementation that includes the protected capabilities as provided by TPMs as well as a corresponding software stack.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9684"/>
          <seriesInfo name="DOI" value="10.17487/RFC9684"/>
        </reference>
      </references>
    </references>
    <?line 504?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
