<?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-rfc2629 version 1.6.2 (Ruby 3.0.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mtis-lamps-8410-ku-clarifications-01" category="std" consensus="true" updates="8410" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.3 -->
  <front>
    <title abbrev="curve25519, curve448 ECC Clarifications">Clarifications for Ed25519, Ed448, X25519, and X448 Algorithm Identifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-mtis-lamps-8410-ku-clarifications-01"/>
    <author initials="S." surname="Turner" fullname="Sean Turner">
      <organization>sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <author initials="S." surname="Josefsson" fullname="Simon Josefsson">
      <organization>SJD AB</organization>
      <address>
        <email>simon@josefsson.org</email>
      </address>
    </author>
    <author initials="D." surname="McCarney" fullname="Daniel McCarney">
      <organization>Square Inc.</organization>
      <address>
        <email>daniel@binaryparadox.net</email>
      </address>
    </author>
    <author initials="T." surname="Ito" fullname="Tadahiko Ito">
      <organization>SECOM CO., LTD.</organization>
      <address>
        <email>tadahiko.ito.public@gmail.com</email>
      </address>
    </author>
    <date year="2022" month="March" day="02"/>
    <area>Security</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document updates RFC 8410 to clarify existing and specify
missing semantics for key usage bits when used in certificates
that support the Ed25519, Ed448, X25519, and X448 Elliptic Curve
Cryptography algorithms.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mtis-lamps-8410-ku-clarifications/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/seanturner/draft-mtis-lamps-8410-ku-clarifications"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC8410"/> specifies the syntax and semantics for the Subject Public
Key Information field in certificates that support Ed25519, Ed448,
X25519, and X448 Elliptic Curve Cryptography (ECC) algorithms.  As part
of these semantics, it defines what combinations are permissible for the
values of the key usage extension <xref target="RFC5280"/>.  <xref target="RFC8410"/> did not
define what values are not permissible nor did it refer to
keyEncipherment or dataEncipherment. <xref target="ERRATA"/> has also been submitted
to clarify that keyCertSign is always set in certification authority
certificates. To address these changes, this document replaces Section 5
of <xref target="RFC8410"/> with <xref target="replace"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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>
    </section>
    <section anchor="replace">
      <name>New Section 5 for RFC 8410</name>
      <t>The intended application for the key is indicated in the keyUsage
certificate extension.</t>
      <t>If the keyUsage extension is present in a certificate that indicates
id-X25519 or id-X448 in SubjectPublicKeyInfo, then the following <bcp14>MUST</bcp14>
be present:</t>
      <artwork><![CDATA[
  keyAgreement;
]]></artwork>
      <t>one of the following <bcp14>MAY</bcp14> also be present:</t>
      <artwork><![CDATA[
  encipherOnly; or
  decipherOnly;
]]></artwork>
      <t>and the following <bcp14>MUST NOT</bcp14> be present:</t>
      <artwork><![CDATA[
  digitalSignature;
  nonRepudiation;
  keyEncipherment;
  dataEncipherment;
  keyCertSign; and
  cRLSign.
]]></artwork>
      <t>If the keyUsage extension is present in an end-entity certificate
that indicates id-Ed25519 or id-Ed448 in SubjectPublicKeyInfo, then
the keyUsage extension <bcp14>MUST</bcp14> contain one or both of the following:</t>
      <artwork><![CDATA[
  nonRepudiation; and
  digitalSignature;
]]></artwork>
      <t>the following <bcp14>MAY</bcp14> also be present:</t>
      <artwork><![CDATA[
  cRLSign;
]]></artwork>
      <artwork><![CDATA[
and the following MUST NOT be present:

  keyEncipherment;
  dataEncipherment;
  keyAgreement;
  keyCertSign;
  encipherOnly; and
  decipherOnly.
]]></artwork>
      <t>If the keyUsage extension is present in a certification authority
certificate that indicates id-Ed25519 or id-Ed448 in
SubjectPublicKeyInfo, then the keyUsage extension <bcp14>MUST</bcp14> contain
the keyUsage extension <bcp14>MUST</bcp14> contain:</t>
      <artwork><![CDATA[
  keyCertSign
]]></artwork>
      <t>and zero or more of the following:</t>
      <artwork><![CDATA[
  nonRepudiation;
  digitalSignature; and
  cRLSign;
]]></artwork>
      <t>and the following <bcp14>MUST NOT</bcp14> be present:</t>
      <artwork><![CDATA[
  keyEncipherment;
  dataEncipherment;
  keyAgreement;
  encipherOnly; and
  decipherOnly.
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document introduces no new security considerations beyond those
found in <xref target="RFC8410"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8410">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves.  The signature algorithms covered are Ed25519 and Ed448.  The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <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">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="ERRATA" target="https://www.rfc-editor.org/errata/eid5696">
          <front>
            <title>Errata 5696</title>
            <author initials="L." surname="Liao" fullname="Lijun Liao">
              <organization/>
            </author>
            <date year="2019" month="April" day="17"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
oH59Ei/tvwGou6+DxRAAAA==

-->

</rfc>
