<?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.5 (Ruby 3.0.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-8410-ku-clarifications-00" 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-ietf-lamps-8410-ku-clarifications-00"/>
    <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="25"/>
    <area>Security</area>
    <workgroup>LAMPS</workgroup>
    <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-ietf-lamps-8410-ku-clarifications/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/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>
      <t>and the following <bcp14>MUST NOT</bcp14> be present:</t>
      <artwork><![CDATA[
  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:</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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
hfw31f4hI5QQAAA=

-->

</rfc>
