<?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.2 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-crocker-dnsop-dnssec-algorithm-lifecycle-00" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="DNSSEC Algorithm Lifecycles">Documenting and Managing DNSSEC Algorithm Lifecycles</title>
    <seriesInfo name="Internet-Draft" value="draft-crocker-dnsop-dnssec-algorithm-lifecycle-00"/>
    <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="March" day="02"/>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 29?>

<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 these phases, and defines the criteria
for moving from one phase to the next.</t>
    </abstract>
  </front>
  <middle>
    <?line 36?>

<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 use expect
to use it effectively, and equally, the receiving parties have to keep the
validation algorithm in service well after the signing parties stop using it.</t>
      <t>These relationships seem obvious, but there has not been an organized
way to communicate to the Internet community when these algorithm transitions
take place.  This document proposes that IANA augment its registry of DNSSEC
algorithms with the status of each algorithm with respect to this lifecycle.</t>
    </section>
    <section anchor="seven-phases-in-the-lifecycle-of-a-dnssec-algorithm">
      <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="expert-panel">
      <name>Expert Panel</name>
      <t>Determination of when an algorithm has reached a particular transition
point will require a panel of experts.  We propose that the IESG select
the individuals for this panel as the IANA Designated Experts <xref target="RFC8126"/>
for the "DNS Security Algorithm Numbers" registry.  The individuals that
make up the Expert Panel are expected to have contacts within the 
cryptographic community to determine whether a particular algorithm is
suitable for use with DNSSEC.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is asked to add a "Lifecycle Phase" column to the
"DNS Security Algorithm Numbers" registry.  Once the Expert Panel
discussed in the previous section is seated, the Expert Panel will
tell IANA the appropriate lifecycle phase for each algorithm that
is in the registry.</t>
      <t>For future additions to the registry, they will initially be listed
in Phase 1 (Experimental).  Changes to the lifecycle phase will be
determined by the Expert Panel.</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 judgement of the Expert Panel that will be chosen by the IESG.</t>
    </section>
  </middle>
  <back>
    <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>
    <?line 169?>

<section anchor="change-history">
      <name>Change History</name>
      <t>(RFC Editor: Please remove this section before publication.)</t>
      <ul spacing="normal">
        <li>
          <t>draft-crocker-dnsop-dnssec-algorithm-lifecycle-00</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Initial public draft.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
/oy/Fok/AzncPdlasjEX/wWUo+yP5hoAAA==

-->

</rfc>
