<?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.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-acme-rats-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-01"/>
    <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>
    <date year="2026" month="March" day="02"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <keyword>ACME</keyword>
    <keyword>Remote Attestation</keyword>
    <keyword>Zero Trust</keyword>
    <abstract>
      <?line 60?>

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

<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="15" month="August" year="2025"/>
            <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-09"/>
        </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">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="1" month="March" 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 an ASN.1 structure for remote attestation
   that can accommodate proprietary and standardized attestation
   mechanisms, as well as an attribute and an extension to carry the
   structure in PKCS#10 and Certificate Request Message Format (CRMF)
   messages, respectively.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-23"/>
        </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="7" month="July" year="2025"/>
            <abstract>
              <t>   This document establishes an architectural pattern whereby a remote
   attestation could be issued for a complete set of benchmarks or
   controls that are defined and grouped by an external entity,
   eliminating the need to send over individual attestations 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-03"/>
        </reference>
        <reference anchor="RATSKA">
          <front>
            <title>Evidence Encoding for Hardware Security Modules</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Jean-Pierre Fiset" initials="J." surname="Fiset">
              <organization>Crypto4A Inc.</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</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">
              <organization>Intel Corporation</organization>
            </author>
            <date day="1" month="March" 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-03"/>
        </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 500?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
pZLhNsgUtiZnB+Dl9Z9QaK7buigN8icGaCuh9yqc8WL1t3halKTH/Y8Daufk
+PTqUMwF0h9Wi799WDm9QGzVMlpKWz2bqOExApFGagHB3rHp+kFekBWVP7w5
sQksYTiynbVyP/kEmR9fEHK15TUYabSnz5na89Rs2Bj/o+f6YVXRker1D/Pp
93F6nv4web1/Ul3tv3jx+ujUnC5+qd+tT78+vT1Zv7r69eXP+/vp7OfR5bvJ
yS/n0fE/TJ4uf1utTqbVu2dfv3968Sh6Px49+fmn57Mn8/Hbo9uLb46Syejt
8zRK+dnLN78fHD+ajW6PTk/P3pwV59O1vq1/fvSo3i/e/dzEggf/pHf++dsD
F+ML6iXw4Hw3YFCVOAaIB8LJhlwotdtr5Nxj1WPS7mQXsuZWij6yb6tAROzv
4AOOW22TtmRle+2z6zXnH/a5SJg5PLSRUnSUUK+ZKI/ntgbFtxxsRFjReZRy
Rli7KaEkxY0ftNrzccdC0XjINxb0gkdAkkYarsC0VkBDpNQWDoMyS+q3IlFj
K4u+RJz0xuIsph62rubCpr9QyhdmVw5Ljf2Y7jrcOQ1vB8mxRwNfCVFMybmj
dmBkqg1i5Q3bsnMqnYhTaWrOqTxCysmuxzo2Hf0WvIttJRWoK+p5jF3hElfn
HnqunhxiWhb3OKVQtreJGzqcKMo4oENAl6bVIewo6p4P79PGQicf+jF9gnfD
q+8h+FCaqroS6LxgJ5hEZVkTqVytgptooJrdMJDj2k7u8PGi4VELqQQrMuqS
U5NCqH19qF6I85YXi21OBBUCnN5AJKFzmlh6PaEr0jTrgH16vqR1BA4+sTqw
M5LDAutHRquA/KjccN0WA7qISIQ1wiNUgSPqI02xy0GQ7Oi6oDYIc6rJUMTc
cUadLwsifvrKRw7JlmZ/5WZVGPYGr3Pp8t8q/LKJLkz6NvG84TSuNpMXkjp2
6at2Pt+j1CW5bE4manLbV5w693s7+V4KXZo1NOxjtf00TsevxkEuN9vJ/S8B
ITNKKkqVI7WGANeTCtv+krLCwSaStTKUCFgbYTxOJrb1A7aMROzZsECIcZuv
i8islRl2/vwjdCEng02wZX88NQlJYxyG5dJAes7Yvj/OlXxf+RTYYn+ibGq3
/XHQlE/tUP9eqfL6opKwjoowGdd+RTEKaqAR9Abcte4FdPiIL8LYuifSJ8zc
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

-->

</rfc>
