<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-jpfiset-lamps-attestationkey-eku-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="EKU for Attestation Keys">Extended Key Usage (EKU) for X.509 Certificates associated with Attestation Keys</title>
    <seriesInfo name="Internet-Draft" value="draft-jpfiset-lamps-attestationkey-eku-00"/>
    <author initials="J.-P." surname="Fiset" fullname="Jean-Pierre Fiset">
      <organization abbrev="Crypto4A">Crypto4A Inc.</organization>
      <address>
        <postal>
          <street>1550A Laperriere Ave</street>
          <city>Ottawa, Ontario</city>
          <code>K1Z 7T2</code>
          <country>Canada</country>
        </postal>
        <email>jp@crypto4a.com</email>
      </address>
    </author>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road - Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="M." surname="Wiseman" fullname="Monty Wiseman">
      <organization/>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>montywiseman32@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="August" day="05"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 49?>

<t>As described in RFC5280, key usages are specified in X.509 certificates using the
certificate extensions "Key Usage" and "Extended Key Usage". This document defines
an Extended Key Usage (EKU) relating to keys that are dedicated to the purpose of
signing attestation evidence as introduced in RFC9334.</t>
    </abstract>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Attesters, as defined in Remote Attestation Procedures
(RATS) in <xref target="RFC9334"/>, can use cryptographic private keys to identify the origin of
the evidence and protect its integrity. Those private keys are referred to as
Attestation Keys.</t>
      <t>Attestation Keys can be endorsed by a Certification Authority (CA) by issuing
X.509 certificates (see <xref target="RFC5280"/>). Those certificates <bcp14>SHOULD</bcp14> include an extended
key usage to indicate that the associated key is dedicated to the purpose of attesting
evidence. This allows recipients of signed evidence to trust that the associated key is
controlled according to the constraints specified in this document.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>Much of the terms used in this specification are borrowed from RATS (<xref target="RFC9334"/>).
Readers of this specification should review the RATS architecture and its terminology
to put in context the text presented in this specification.</t>
      <t>Attestation Key : A key under the control of the Attester and reserved for the purpose
of signing collected claims.</t>
    </section>
    <section anchor="extended-key-usage-for-attestation-key">
      <name>Extended Key Usage for Attestation Key</name>
      <t>This specification defines the KeyPurposeId id-kp-attestationKey. This KeyPurposeId
is reserved for Attestation Keys.</t>
      <t>The term "signing attestation evidence" refers to performing a digital signature
using an Attestation Key over content that includes claims about the target
environment (see <xref target="RFC9334"/>).</t>
      <t>An Attestation Key must be associated with the "digital signing" key usage, as any
other keys used to performed digital signature. Furthermore, an Attestation Key <bcp14>MUST</bcp14>
adhere to the following constraints:</t>
      <ul spacing="normal">
        <li>
          <t>An Attestation Key <bcp14>SHOULD</bcp14> be used only by an Attester to digitally sign claims that
the Attester can observe in the target environment. The Attester <bcp14>SHOULD NOT</bcp14> use the
Attestation Key for any other purpose (dedication).</t>
        </li>
        <li>
          <t>An Attestation Key <bcp14>MUST NOT</bcp14> be controlled by any entity other than the associated
Attester. This constraint is to ensure that other entity can not impersonate the
Attester (non-repudiation).</t>
        </li>
      </ul>
      <section anchor="including-the-eku-for-attestation-key-in-certificates">
        <name>Including the EKU for Attestation Key in Certificates</name>
        <t>When the EKU id-kp-attestationKey is included in a X.509, other considerations should
be taken:</t>
        <ul spacing="normal">
          <li>
            <t>The X.509 extension "key usage" <bcp14>MUST</bcp14> be set to "digital signature". In other words,
the value of the associated field includes the bit "digitalSignature" set.</t>
          </li>
          <li>
            <t>The X.509 extension "extended key usage" <bcp14>SHOULD NOT</bcp14> include usage other than the
one defined in this document (id-kp-attestationKey).</t>
          </li>
        </ul>
      </section>
      <section anchor="implication-for-a-certificate-authority">
        <name>Implication for a Certificate Authority</name>
        <t>When a Certificate Authority issues a X.509 certificate that includes the extended key
usage defined in this document, certain additional considerations <bcp14>MUST</bcp14> be taken to ensure
that the constraints defined in this document are respected.</t>
        <t>Issuing a X.509 certificate with the extended key usage id-kp-attestationKey
equates to providing an endorsement of the attester as defined in the RATS architecture.
Therefore, the procedures and practices employed by a Certificate Authority <bcp14>MUST</bcp14> be
augmented to take into account the security considerations relating to the Attestation
Key as outlined in the RATS architecture.</t>
        <t>In particular, it is not sufficient for a CA to verify that the subject of the certificate,
the Attester, has possession of the subject key. It <bcp14>MUST</bcp14> also ensure that the Attester is the only
entity that controls the key. This can be accomplished (but not restricted to) by using
a key confined to specialized hardware under the control of the Attester.</t>
      </section>
      <section anchor="implication-for-the-rats-verifier">
        <name>Implication for the RATS Verifier</name>
        <t>In <xref target="RFC9334"/>, the Verifier is the role that consumes the evidence produced by an
Attester. As part of the verification process, the Verifier assesses endorsements, among
other things. A X.509 certificate containing the EKU id-kp-attestationKey is an
endorsement of the Attester by the issuing authorities.</t>
        <t>While assessing an endorsement provided this way, a Verifier must follow all practices
to validate the veracity of the certificate.</t>
      </section>
      <section anchor="implication-for-cryptographic-modules">
        <name>Implication for Cryptographic Modules</name>
        <t>Attestation Keys are instantiated and operated on by cryptographic modules. These modules
<bcp14>MUST</bcp14> provide the services required to restrict the use of an Attestation Key to its
associated Attester.</t>
        <t>The mechanisms used to perform those restrictions are out of scope for this document.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>For attestation evidence to be valuable, coordination between the various roles is required:</t>
      <ul spacing="normal">
        <li>
          <t>The cryptographic module <bcp14>MUST</bcp14> restrict the use of the Attestation Key to the associated Attester.</t>
        </li>
        <li>
          <t>The CA <bcp14>MUST</bcp14> ensure that the Attester is the only entity that controls the Attestation Key which
is subject to the issuance of a certificate.</t>
        </li>
        <li>
          <t>A Verifier must perform the assessment of the presented evidence using all the procedures
required to ascertain as to the origin and validity of the attester.</t>
        </li>
      </ul>
      <t>The risks associated with a failure of this coordination reduces the quality of the trustworthiness
of the evidence.</t>
      <t>The implications are outlines in the Security Considerations section in RATS (<xref target="RFC9334"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA needs to assign an object identifier (OID) for this purpose.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC9334" target="https://www.rfc-editor.org/info/rfc9334" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9334.xml">
        <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="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
        <front>
          <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
          <author fullname="D. Cooper" initials="D." surname="Cooper"/>
          <author fullname="S. Santesson" initials="S." surname="Santesson"/>
          <author fullname="S. Farrell" initials="S." surname="Farrell"/>
          <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <author fullname="W. Polk" initials="W." surname="Polk"/>
          <date month="May" year="2008"/>
          <abstract>
            <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5280"/>
        <seriesInfo name="DOI" value="10.17487/RFC5280"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 197?>

<section numbered="false" anchor="appendix-a-asn1-module">
      <name>Appendix A. ASN.1 Module</name>
      <t>The following ASN.1 module provides the complete definition of the
Attestation Key KeyPurposeId.</t>
      <artwork><![CDATA[
  DEFINITIONS EXPLICIT TAGS ::=

  BEGIN

  -- EXPORTS ALL --

  -- IMPORTS NOTHING --

  -- OID Arc --

  id-kp  OBJECT IDENTIFIER  ::= {
    iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) kp(3) }

  -- Attestation Key Extended Key Usage --

  id-kp-attestationKey OBJECT IDENTIFIER ::= { id-kp XX }

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

-->

</rfc>
