<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.4.1) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8126 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
<!ENTITY RFC8179 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8179.xml">
<!ENTITY RFC9371 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9371.xml">
]>


<rfc ipr="trust200902" docName="draft-paulwh-crypto-components-01" category="info" submissionType="IETF">
  <front>
    <title abbrev="Crypto components">Documenting and Referencing Cryptographic Components in IETF Documents</title>

    <author initials="P." surname="Wouters" fullname="Paul Wouters">
      <organization>Aiven</organization>
      <address>
        <email>paul.wouters@aiven.io</email>
      </address>
    </author>
    <author initials="P." surname="Hoffman" fullname="Paul Hoffman">
      <organization>ICANN</organization>
      <address>
        <email>paul.hoffman@icann.org</email>
      </address>
    </author>

    <date year="2025" month="February" day="03"/>

    
    
    

    <abstract>


<?line 28?>

<t>This document describes the history of how cryptographic components have been documented and referenced in the IETF, particularly in RFCs.
It also gives guidance for how such specification should happen in the future.</t>



    </abstract>



  </front>

  <middle>


<?line 33?>

<section anchor="introduction"><name>Introduction</name>

<t>The IETF has many diverse ways to document and reference cryptographic components that are used in protocols. 
These practices have changed over time, based on the IETF community, the IETF leadership, and the types of components needed by protocols.</t>

<t>The purpose of this document is to increase consistency and transparency in how the IETF handles cryptographic components.
This document does not define any new policies, but instead describes the many practices that have been used, particularly the practices that are considered best current practices today.</t>

<t>In this document, items such as cryptographic algorithms, base primitives, functions, methods, and constructions are all lumped under the term "cryptographic components".
Doing so avoids the conflicting definitions of what differentiates, for example, a method from a construction.</t>

<t>This document explicitly does not prohibit exceptions from the current practices.
Given the wide variety of historical practices, the difficulty of differentiating what is a base primitive and what is a cryptographic component, and the variety of needs in IETF working groups, the guidance in this document gives leeway for future specifications.</t>

</section>
<section anchor="referencing-cryptography-in-rfcs"><name>Referencing Cryptography in RFCs</name>

<t>RFCs that define secure protocols need to reference cryptographic components, or those RFCs define the components themselves.
It is uncommon for IETF protocols to define cryptographic components; instead, those components are defined elsewhere and referenced in the protocol RFC.</t>

<t>There are many sources for cryptographic references for RFCs.</t>

<section anchor="external"><name>External References for Specifying Cryptography</name>

<t>There are many sources of references for cryptography other than RFCs.
Such sources include:</t>

<t><list style="symbols">
  <t>National standards development organizations (SDOs) such as the U.S. National Institute of Standards and Technology (NIST) and the German Federal Office for Information Security (BSI)</t>
  <t>International SDOs such as the International Standards Organization (ISO) and the International Telecommunications Union (ITU)</t>
  <t>Academic papers and articles</t>
  <t>Internet Drafts not meant to proceed to RFC status</t>
  <t>Web sites of individual cryptographers</t>
</list></t>

</section>
<section anchor="rfcs-for-specifying-cryptography"><name>RFCs for Specifying Cryptography</name>

<t>In order to be published as an RFC, an Internet Draft must be sponsored by one of the following:</t>

<t><list style="symbols">
  <t>An IETF working group (and then the working group's Area Director)</t>
  <t>A research group in the Internet Research Task Force (IRTF)</t>
  <t>An Area Director who is individually sponsoring the draft</t>
  <t>The Independent Submissions Editor (ISE)</t>
  <t>The Internet Architecture Board</t>
</list></t>

<t>RFCs describing cryptographic components have been published by the first four of those.
Note, however, that Area Directors may not be willing to individually sponsor drafts for cryptographic components because other venues for RFC publication can garner better reviews, and because RFCs are often not required for specifying cryptographic components (see <xref target="external"/>).</t>

<t>Many RFCs are specifications of cryptographic components, some are specific use cases of cryptography where additional operational constraints apply, and still others simply list cryptographic identifiers such as OIDs or IANA registration values.</t>

<t>Whenever possible, cryptographic components related to a specific protocol should be specified separately from the protocol itself.
This allows better review of the cryptography by cryptographers, and better review of the protocol by protocol experts.</t>

</section>
</section>
<section anchor="using-identifiers-for-cryptography-in-protocols"><name>Using Identifiers for Cryptography in Protocols</name>

<t>Although a proliferation of cryptographic components is a barrier to interoperability, the IETF encourages experimenting with new cryptographic components.
Identifiers used in IETF protocols are meant to be easy to obtain, as the IETF encourages experimentation and operational testing.
These identifiers are often called "code points" when they are listed in IANA registries, but might also be object identifiers (OIDs).
OIDs are covered in <xref target="oids"/>.</t>

<t>IANA registries are described in depth in <xref target="RFC8126"/>.
The following sections cover aspects of using IANA registries for cryptographic protocols; most of these aspects are the same for non-cryptographic protocols as well.</t>

<section anchor="per-registry-requirements-for-adding-code-points"><name>Per-Registry Requirements for Adding Code Points</name>

<t>In the past, some working groups had set the ability to add cryptographic component code points to IANA registries for their protocols be very strict, by requiring an RFC.
Recently, the rules for many registries have been updated to make it easier to get code points in order to allow for experimentation.
Where possible, the rules for cryptographic component registries should have an open registration policy (such as "Expert Review" or "Specification Required").
These do not need to be RFCs, but should be stable references.</t>

<t>Stable specifications are important references for developers who rely on a registry with code points.
Individual web sites are probably the least-used references for cryptographic components for good reasons: the URLs for them might change or disappear, the content of the web sites might change in ways that would affect the components' definition, and so on.</t>

<t>Although there is no IETF-wide consensus at the time of this writing as to whether specific versions of an Internet Drafts are appropriate for all registries as stable references, they have been used in the past for cryptographic purposes.
Until further guidance is developed, the decision about whether a draft is acceptable can continue to be addressed on a case-by-case basis by the designated expert for the specific registry.</t>

<t>There are some IANA registries where the limited allocation space does not allow for handing out many experimental code points, such as those where the number of code points is limited to 256 or fewer.
This necessitates a more conservative approach to code point allocation, and might instead force experiments to use private use code points instead of having allocations for code points that might only be used occasionally.</t>

</section>
<section anchor="private-use-code-points"><name>Private-Use Code Points</name>

<t>Every IANA registry for cryptographic components should reserve some code points for "private use".
These private-use code points can be used by protocol implementers to indicate components that do not have their own code points.
Generally, the RFC describing the protocol will define how the private-use code points can be used in practice.</t>

</section>
<section anchor="vendor-space-code-points"><name>Vendor Space Code Points</name>

<t>Some IANA registries use a an allocation scheme that allows for unlimited code points based on "vendor strings".
This allows for wide experimentation in a "vendor space" that acts as a private-use registration.
Such registrations might later be converted to an allocation not based on vendor names if the cryptographic component achieves IETF-wide consensus.</t>

</section>
<section anchor="recommendations-in-iana-registries"><name>Recommendations in IANA Registries</name>

<t>Some IANA registries for specific cryptographic protocols have a column with a name such as "status" or "recommended" that indicates whether the the IETF recommends that a cryptographic component be used in that protocol.
The definition of the column should differentiate between recommending for implementation and recommending for deployment.</t>

<t><list style="symbols">
  <t>Recommendations for implementation tell developers of the protocol whether they should or must include the cryptographic component in their software or hardware implementations.
Such recommendations make the component available to users, letting them choose whether or not to use the component in their deployments.</t>
  <t>Recommendations for deployment tell the users of the protocol whether they should or must use the component in their deployments.</t>
</list></t>

<t>In the former case, the IETF is only speaking to developers; in the latter, the IETF is speaking directly to users who configure their use of the protocol.
This difference between "implementation" and "deployment" has sometimes tripped up working groups, but it is quite important to people trying to understand the IANA registry contents.</t>

<t>Decisions on setting the values in these columns to anything other than "MAY" require a standards track RFC.
That is, Independent Stream and IRTF RFCs cannot set or change the values in such a table in an IANA registry.</t>

<t>A working group's decision about whether a particular cryptographic component is mandatory, suggested, suggested against, or must not be used, might not be an easy one to make, particularly in light of also having to decide for both implementation and deployment.
Deployed cryptographic components that are known to be weak, such as those with keys that are now considered to be too small, present a significant challenge for working groups.
For such a weak component, clearly the recommendation should be against deployment, but a similar recommend against allowing implementation can make deployed systems unusable.
Such decisions are left to working groups, an are not covered here in any significant depth.
Working groups might batch their decision-making into periodic chosen intervals.
Working groups that choose to go against IETF-wide trends for cryptographic component should clearly state why their choices differ.</t>

<t>Having too many algorithms with a "recommended" status is harmful because it complicates implementations, deployments, and migrations to newer algorithms.</t>

<t>Registries that do not have columns for "implementation" and/or "deployment" can be updated by working groups or the IETF to add those columns.</t>

</section>
<section anchor="oids"><name>OIDs</name>

<t>Some IETF cryptographic protocols (notably CMS, CMP, S/MIME, and PKIX) use OIDs instead of IANA registries for code points.
OIDs are a hierarchical numbering system, normally stored in ASN.1 DER or BER encoding, and displayed as a series of positive integers separated by period (".") characters.</t>

<t>In IETF standards, many OIDs for cryptographic components normally are based on a part of the OID tree that was established in the early 1990s.
However, many OIDs come from other parts of the OID tree, and no particular part of the OID tree is better or worse than any other for unique identification of cryptographic components.
In fact, individuals who want to control part of the OID tree (called "private enterprise numbers") can get their own OID prefix directly from IANA as described in <xref target="RFC9371"/>.
The ASN.1 prefix for the IANA PEN tree is 1.3.6.1.4.1.</t>

</section>
<section anchor="identifiers-and-intellectual-property"><name>Identifiers and Intellectual Property</name>

<t>Assigning code points for proprietary cryptographic components or cryptographic components that have known intellectual property rights (IPR) is acceptable as long as any IETF protocol using those code points also allow the protocol to be run without using those components.
The IETF policy on IPR can be found in <xref target="RFC8179"/>.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document contains no actions for IANA.
However, it discusses the use of IANA registries in many places.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document is about the use of cryptography in IETF protocols, and how that cryptography is referenced in those protocols.</t>

<t>Reusing cryptographic components that have already been reviewed and approved in the IETF is usually better than creating new cryptography that must be reviewed before it is used in protocols.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC8126;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC8179;
&RFC9371;


    </references>

</references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

