<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-liu-acme-rats-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="acme-rats">Automated Certificate Management Environment (ACME) rats Identifier and Challenge Type</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-acme-rats-00"/>
    <author fullname="Chunchi Peter Liu">
      <organization>Huawei</organization>
      <address>
        <email>liuchunchi@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="21"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <keyword>ACME</keyword>
    <keyword>RATS</keyword>
    <keyword>Zero Trust</keyword>
    <abstract>
      <?line 39?>

<t>This document describes an approach where ACME Client can prove possession of a Remote Attestation Result to an ACME Server.</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-liu-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 43?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>ACME <xref target="RFC8555"/> is a standard protocol for issuing and renewing certificates automatically, widely used in the Internet scenario, help an ACME Client prove its ownership to an identifier like domain name or email address.</t>
      <t>In order to prevent issuing certificates to malicious devices, a few works are ongoing in the LAMPS and RATS WG.</t>
      <ul spacing="normal">
        <li>
          <t><xref target="I-D.ietf-lamps-csr-attestation"/> define trustworthy claims about device's platform generating the certification signing requests (CSR) and the private key resides on this platform.</t>
        </li>
        <li>
          <t><xref target="I-D.draft-moriarty-rats-posture-assessment"/> define a summary of a local assessment of posture for managed systems and across various layers.</t>
        </li>
      </ul>
      <t>In this document, we propose an approach where ACME Server checks if the ACME Clients possess a valid remote attestation result, for instance, EAT (entity attestation token). We define a new ACME "rats" identifier and "rats" challenge type for ACME Clients to prove their possession of EAT. In this way, we (as network administators) issue certificates only to devices that have a fresh attestation result, indicating such device has passed the most up-to-date security checks. By repeating this process and issue only short-lived certificates to qualified devices, we also fulfill the continuous monitoring/validation requirement of Zero-Trust principle.</t>
      <t>The example use case include an enterprise scenario where Network Operations Center (NOC) issue certificates to devices that are freshly appraised by the Security Operations Center (SOC), in order to help them work together.</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>
    <section anchor="extensions-rats-identifier">
      <name>Extensions -- rats identifier</name>
      <t>An rats identifier type represents a unique identifier to an attestation result. It extends a "rats" identifier type and a string value.</t>
      <dl>
        <dt>type (required, string):</dt>
        <dd>
          <t>The string "rats".</t>
        </dd>
        <dt>value (required, string):</dt>
        <dd>
          <t>The identifier itself.</t>
        </dd>
      </dl>
      <t>The following steps are the ones that will be affected:</t>
      <t>1. newOrder Request Object - identifiers: 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. The Client adds an rats identifier to the array.</t>
      <t>An example extended newOrder JWS request:</t>
      <artwork><![CDATA[
  {
    "protected": base64url({
      "alg": "ES256",
    }),
    "payload": base64url({
      "identifiers": [
        { "type": "rats", "value": "0123456789abcdef" },
      ],
    }),
    "signature": "H6ZXtGjTZyUnPeKn...wEA4TklBdh3e454g"
  }
]]></artwork>
      <t>2. Order Object - identifiers: After a newOrder request is sent to the Server, the Account Object creates an Order Object (Section 7.1.3 of <xref target="RFC8555"/>) with "rats" identifiers and values from Step 1.</t>
      <t>An example extended Order Object:</t>
      <artwork><![CDATA[
  {
    "status": "pending",

    "identifiers": [
      { "type": "rats", "value": "0123456789abcdef" },
    ],

    "authorizations": [
      "https://example.com/acme/authz/PAniVnsZcis",
    ],

    "finalize": "https://example.com/acme/order/T..fgo/finalize",
  }
]]></artwork>
      <t>3. Authorization Object - identifier: The Server creates an Authorization Object that has rats identifier (Section 7.1.4 of <xref target="RFC8555"/>)</t>
      <t>4. Challenge Object - identifier: The Server creates a Challenge Object that has rats challenge type.</t>
      <t>An example extended Authorization Object (that contains a Challenge Object):</t>
      <artwork><![CDATA[
{
  "status": "pending",

  "identifier": {
    "type": "rats",
    "value": "0123456789abcdef"
  },

  "challenges": [
    {
      "type": "rats",
      "url": "https://example.com/acme/chall/prV_B7yEyA4",
      "status": "pending",
      "token": "DGyRejmCefe7v4NfDGDKfA",
    },
    {
      "type": "http-01",
      "url": "https://example.com/acme/chall/prV_B7yEyA4",
      "status": "pending",
      "token": "DGyRejmCefe7v4NfDGDKfA",
    }
  ],
}
]]></artwork>
    </section>
    <section anchor="extensions-rats-challenge-type">
      <name>Extensions -- rats challenge type</name>
      <t>A rats challenge type help the Client prove ownership to its attestation result identifier. This section describes the challenge/response extensions and procedures to use them.</t>
      <section anchor="rats01">
        <name>RATS-01 Challenge</name>
        <t>RATS-01 Challenge simply works with Passport Model of RATS. The corresponding Challenge Object is:</t>
        <dl>
          <dt>type (required, string):</dt>
          <dd>
            <t>The string "rats-01".</t>
          </dd>
          <dt>url (required, string):</dt>
          <dd>
            <t>The URL that the Client post its response to.</t>
          </dd>
          <dt>token (required, string):</dt>
          <dd>
            <t>Same as Section 8.3 of RFC8555.</t>
          </dd>
        </dl>
        <t>The response sent to the url is:</t>
        <artwork><![CDATA[
keyAuthorization = token || '.' || base64url(attestationResult)
]]></artwork>
        <t>where the attestationResult is the entire EAT (in JWT format). The ACME Server verifies the attestationResult. If pass, set Order Object and Authorization Object's "status" Object to "valid", otherwise "invalid".</t>
      </section>
      <section anchor="rats02">
        <name>RATS-02 Challenge</name>
        <t>RATS-02 Challenge works with the Background Check Model of RATS.</t>
        <t>TODO: After the Client gets the "token", it include "token" as part of its RATS Evidence, appraise again. The new attestationResult now has a "token" claim. The retrival process is same.</t>
      </section>
    </section>
    <section anchor="http">
      <name>Reusing HTTP challenge type</name>
      <t>We can also reuse http-01 challenge type in Section 8.3 of <xref target="RFC8555"/>. This changes steps used in {#rats01}.</t>
      <ol spacing="normal" type="1"><li>
          <t>The Client creates the keyAuthorization string defined in {#rats01}.</t>
        </li>
        <li>
          <t>The Client provisions the keyAuthorization string in the resource path defined in the original http-01 challenge -- "/.well-known/acme-challenge/", followed by the "token".</t>
        </li>
        <li>
          <t>The Client sends an empty object ({}) to the url, notifying the Server it is ready to fetch.</t>
        </li>
        <li>
          <t>The Server fetches the keyAuthorization string from the resource path. Verifies the "token", retrive the attestationResult.</t>
        </li>
      </ol>
    </section>
    <section anchor="example-use-case-enterprise-access">
      <name>Example use case -- enterprise access</name>
      <t>In an enterprise network scenario, it is hard to coordinate Security Operations Center (SOC) and Network Operations Center (NOC) to work together due to various of reasons:</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 differrnt 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>
      <t>This work proposes a way to help SOC and NOC work together, with separated duties (to avoid conflict) and ease of working together (proper abstraction).</t>
      <t>An Endpoint Detection and Response (EDR) software and Security Operations Center (SOC) is responsible for checking the security status of an accessing end device. If the device passed latest security checks, EDR/SOC should issue fresh attestation results (consider as a security clearance). Otherwise, EDR/SOC should refuse to issue (new) attestation results. A Network Operations Center (NOC) could use ACME to issue short-lived certificates to only devices with fresh attestation results. In this way, the NOC can follow a Zero-Trust philosophy and issue network access to only devices that are continuously monitored and have no known security risks up-to-date. SOC can also have flexible security policies and decide what to check.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-lamps-csr-attestation">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</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>Beyond Identity</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <date day="20" month="October" year="2024"/>
            <abstract>
              <t>   A PKI end entity requesting a certificate from a Certification
   Authority (CA) may wish to offer trustworthy claims about the
   platform generating the certification request and the environment
   associated with the corresponding private key, such as whether the
   private key resides on a hardware security module.

   This specification defines an attribute and an extension that allow
   for conveyance of Evidence in Certificate Signing Requests (CSRs)
   such as PKCS#10 or Certificate Request Message Format (CRMF) payloads
   which provides an elegant and automatable mechanism for transporting
   Evidence to a Certification Authority.

   Including Evidence along with a CSR can help to improve the
   assessment of the security posture for the private key, and can help
   the Certification Authority to assess whether it satisfies the
   requested certificate profile.  These Evidence Claims can include
   information about the hardware component's manufacturer, the version
   of installed or running firmware, the version of software installed
   or running in layers above the firmware, or the presence of hardware
   components providing specific protection capabilities or shielded
   locations (e.g., to protect keys).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-13"/>
        </reference>
        <reference anchor="I-D.draft-moriarty-rats-posture-assessment">
          <front>
            <title>Remote Posture Assessment for Systems, Containers, and Applications</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." surname="Stein">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date day="2" month="July" year="2024"/>
            <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,
   preventing 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).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-moriarty-rats-posture-assessment-01"/>
        </reference>
      </references>
    </references>
    <?line 203?>

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

-->

</rfc>
