<?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.18 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-crocker-dnsop-dnssec-algorithm-lifecycle-01" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.1 -->
  <front>
    <title abbrev="DNSSEC Algorithm Lifecycles">Documenting and Managing DNSSEC Algorithm Lifecycles</title>
    <seriesInfo name="Internet-Draft" value="draft-crocker-dnsop-dnssec-algorithm-lifecycle-01"/>
    <author initials="S." surname="Crocker" fullname="Steve Crocker">
      <organization>Edgemoor Research Institute</organization>
      <address>
        <email>steve@shinkuro.com</email>
      </address>
    </author>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="04"/>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 30?>

<t>Cryptographic algorithms for DNSSEC go through multiple phases during their
lifetime.  They are created, tested, adopted, used, and deprecated over a
period of time.  This RFC defines phases for the DNSSEC algorithm lifecycle,
and it defines the criteria for moving from one phase to the next.</t>
    </abstract>
  </front>
  <middle>
    <?line 37?>

<section anchor="background">
      <name>Background</name>
      <t>Each DNSSEC cryptographic algorithm is used in two distinct but interconnected
ways.  The first is to sign.  The second is to validate a signature.  If someone
uses an algorithm to sign, the party that receives that signed message should be
able to validate the signature.  This means the receiving parties need to
implement the validation algorithm before the sending parties can expect to
use it effectively, and equally, the receiving parties have to keep the
validation algorithm in service even after the signing parties stop using it.</t>
      <t>These relationships seem obvious, but there has not been an organized
way to communicate within the Internet community regarding these algorithm
transitions.  This document builds upon the enhancements defined in 
<xref target="I-D.ietf-dnsop-rfc8624-bis"/> to the IANA registry of DNSSEC algorithms; the
values in the "Use for DNSSSEC Signing", "Use for DNSSSEC Validation", 
"Implement for DNSSSEC Signing", and "Implement for DNSSSEC Validation" tell
which phase the algorithm is in with respect to this lifecycle.</t>
    </section>
    <section anchor="phases">
      <name>Seven phases in the lifecycle of a DNSSEC algorithm</name>
      <t>We define seven phases in the lifecycle of a DNSSEC algorithm.</t>
      <ol spacing="normal" type="1"><li>
          <t>Experimental:
The algorithm is under development by the cryptographic community and is not yet ready for general use.</t>
        </li>
        <li>
          <t>Adopted:
The algorithm is ready to be used by the Internet community.  It is listed in the IANA registry.  Implementers are expected to support the algorithm for signature validation.</t>
        </li>
        <li>
          <t>Available:
The algorithm is ready for use by all parties.  Implementers are expected to support the algorithm for signing and signature validation.</t>
        </li>
        <li>
          <t>Mainstream:
The algorithm has reached “recommended” status.  Implementers are expected to support the algorithm for signing and signature validation.</t>
        </li>
        <li>
          <t>Phaseout:
The algorithm is nearing the end of its lifecycle, but it is still in use.  Implementers are advised to transition to other recommend algorithms.  Signing should be phased out.</t>
        </li>
        <li>
          <t>Deprecated:
All use for signing should have stopped, but signature validation is still supported.</t>
        </li>
        <li>
          <t>Obsolete:
No support for signing or signature validation is expected.</t>
        </li>
      </ol>
    </section>
    <section anchor="criteria">
      <name>Process and Criteria for transitions</name>
      <t>The previous section does not specify the process and criteria for advancing a
DNSSEC algorithm through these lifecycle phases.  There are six transition points,
labelled A through F, between these seven lifecycle phases.  We propose the
following process and criteria for these transitions.</t>
      <t>A. Algorithm Inclusion</t>
      <ul spacing="normal">
        <li>
          <t>Prerequisites:
          </t>
          <ul spacing="normal">
            <li>
              <t>Algorithm has been given a Mnemonic and number in the "DNS Security Algorithm Numbers" registry.</t>
            </li>
            <li>
              <t>Cryptographic community has determined that the algorithm as suitable to use for DNSSEC.</t>
            </li>
            <li>
              <t>Documentation and implementations are widely available and stable.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>IETF determines the algorithm is suitable for use with DNSSEC.</t>
        </li>
        <li>
          <t>Action: IETF publishes notice that the algorithm is suitable for use and should be deployed for signature validation.</t>
        </li>
      </ul>
      <t>B. Ready for Use</t>
      <ul spacing="normal">
        <li>
          <t>Prerequisites:
          </t>
          <ul spacing="normal">
            <li>
              <t>Deployment has been measured.</t>
            </li>
            <li>
              <t>Deployment is deemed to have reached an acceptable level.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>IETF reaches consensus that algorithm has been widely deployed for DNSSEC.</t>
        </li>
        <li>
          <t>Action: IETF publishes notice that algorithm is available for DNSSEC signing.</t>
        </li>
      </ul>
      <t>C. Mainstream</t>
      <ul spacing="normal">
        <li>
          <t>IETF reaches consensus that algorithm has reached mainstream status.</t>
        </li>
        <li>
          <t>Actions:
          </t>
          <ul spacing="normal">
            <li>
              <t>IETF publishes notice that algorithm has reached mainstream status.</t>
            </li>
            <li>
              <t>Signers using older algorithms, particularly algorithms in the Phaseout or later phases should transition to a mainstream algorithm.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>D. Phaseout</t>
      <ul spacing="normal">
        <li>
          <t>Prerequisites:
          </t>
          <ul spacing="normal">
            <li>
              <t>Cryptographic community has determined the algorithm is reaching its end of life.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>IETF determines it is time to announce the phaseout.</t>
        </li>
        <li>
          <t>Action: IETF publishes notice to signing operators to transition away from the algorithm and begin signing with a mainstream algorithm.</t>
        </li>
      </ul>
      <t>E. Deprecation</t>
      <ul spacing="normal">
        <li>
          <t>Prerequisites:
          </t>
          <ul spacing="normal">
            <li>
              <t>Measure signing activity.</t>
            </li>
            <li>
              <t>Signing activity is deemed to have largely subsided.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>IETF determines it is time to deprecate the algorithm for use with DNSSEC.</t>
        </li>
        <li>
          <t>Action: IETF publishes notice that use of the algorithm is now inappropriate for DNSSEC signing.</t>
        </li>
      </ul>
      <t>F. Obsolescence</t>
      <ul spacing="normal">
        <li>
          <t>Prerequisite: Measurement of signing is at the lowest achievable level.</t>
        </li>
        <li>
          <t>IETF determines the algorithm is obsolete.</t>
        </li>
        <li>
          <t>Action: IETF publishes notice that algorithm is obsolete and ought be removed from implementations.</t>
        </li>
      </ul>
    </section>
    <section anchor="lifecycle-phase-and-the-iana-registry">
      <name>Lifecycle Phase and the IANA Registry</name>
      <t>The enhancements to the IANA registry of DNSSEC algorithms defined in 
<xref target="I-D.ietf-dnsop-rfc8624-bis"/>.  Table 1 suggests the values for the IANA
registry values in the "Use for DNSSSEC Signing", "Use for DNSSSEC Validation",
"Implement for DNSSSEC Signing", and "Implement for DNSSSEC Validation"
columns for each phase in the algorithms lifecycle defined in <xref target="phases"/>.
The IETF is encouraged to follow Table 1 in assigning the values in
the IANA registry of DNSSEC algorithms as each algorithm progresses
through the lifecycle.</t>
      <artwork><![CDATA[
 +=======+===========================+===========================+
 |       |    DNSSEC Validation      |      DNSSEC Signing       |
 |       +-------------+-------------+-------------+-------------+
 | Phase |  Implement  |     Use     |  Implement  |     Use     |
 +=======+=============+=============+=============+=============+
 | 1     |     MAY     |     MAY     |     MAY     |     MAY     |
 +-------+-------------+-------------+-------------+-------------+
 | 2     | RECOMMENDED |     MAY     | RECOMMENDED |     MAY     |
 +-------+-------------+-------------+-------------+-------------+
 | 3     |     MUST    | RECOMMENDED |     MUST    |     MAY     |
 +-------+-------------+-------------+-------------+-------------+
 | 4     |     MUST    |     MUST    |     MUST    | RECOMMENDED |
 +-------+-------------+-------------+-------------+-------------+
 | 5     |     MUST    | RECOMMENDED | RECOMMENDED |     NOT     |
 |       |             |             |             | RECOMMENDED |
 +-------+-------------+-------------+-------------+-------------+
 | 6     | RECOMMENDED |     NOT     |     NOT     |   MUST NOT  |
 |       |             | RECOMMENDED | RECOMMENDED |             |
 +-------+-------------+-------------+-------------+-------------+
 | 7     |     NOT     |   MUST NOT  |   MUST NOT  |   MUST NOT  |
 |       | RECOMMENDED |             |             |             |
 |       |  -- or --   |             |             |             |
 |       |  MUST NOT   |             |             |             |
 +-------+-------------+-------------+-------------+-------------+

   Table 1.  Determine lifecycle phase from the IANA registry.

]]></artwork>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA has no actions related to this document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document proposes a lifecycle for DNSSEC algorithms.  By following
the criteria presented in <xref target="criteria"/>, Internet-wide deployment of new
DNSSEC algorithm will occur in a smooth manner that ensures all implementations
will be able to validate signatures.  Likewise, following the criteria will
ensure that out-of-date DNSSEC algorithm are retired in a graceful manner.  The 
criteria associated with the transition between phases of the lifecycle will
depend on the process that makes changes to the IANA registry as defined in
<xref target="I-D.ietf-dnsop-rfc8624-bis"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-dnsop-rfc8624-bis">
          <front>
            <title>DNSSEC Cryptographic Algorithm Recommendation Update Process</title>
            <author fullname="Wes Hardaker" initials="W." surname="Hardaker">
              <organization>USC/ISI</organization>
            </author>
            <author fullname="Warren &quot;Ace&quot; Kumari" initials="W. A." surname="Kumari">
              <organization>Google</organization>
            </author>
            <date day="7" month="July" year="2024"/>
            <abstract>
              <t>   &lt;EDITOR NOTE: This document does not change the status (MUST, MAY,
   RECOMMENDED, etc) of any of the algorithms listed in [RFC8624]; that
   is the work of future documents.  Instead, this document moves the
   canonical list of algorithms from [RFC8624] to an IANA registry.
   This is done for two reasons: 1) to allow the list to be updated more
   easily, and, much more importantly, 2) to allow the list to be more
   easily referenced.&gt;

   The DNSSEC protocol makes use of various cryptographic algorithms to
   provide authentication of DNS data and proof of non-existence.  To
   ensure interoperability between DNS resolvers and DNS authoritative
   servers, it is necessary to specify both a set of algorithm
   implementation requirements and usage guidelines to ensure that there
   is at least one algorithm that all implementations support.  This
   document updates [RFC8624] by moving the canonical source of
   algorithm implementation requirements and usage guidance for DNSSEC
   from [RFC8624] to an IANA registry.  Future extensions to this
   registry can be made under new, incremental update RFCs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-rfc8624-bis-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
AA==

-->

</rfc>
