<?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.39 (Ruby 3.2.3) -->
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tcpm-tcp-ao-algs-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="tcp-ao-algs">Additional Cryptographic Algorithms For Use With TCP-AO</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tcpm-tcp-ao-algs-02"/>
    <author initials="R." surname="Bonica" fullname="Ron Bonica">
      <organization>HPE</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>ronald.bonica@hpe.com</email>
      </address>
    </author>
    <author initials="T." surname="Li" fullname="Tony Li">
      <organization>HPE</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>tony.li@tony.li</email>
      </address>
    </author>
    <date year="2026" month="May" day="28"/>
    <area>Transport</area>
    <workgroup>TCPM Working Group</workgroup>
    <keyword>TCP-AO</keyword>
    <abstract>
      <?line 46?>

<t>RFC5926 creates a list of cryptographic algorithms that can be used with TCP-AO. This document expands that list, adding two Key Derivation Functions (KDFs) and two Message Authentication Code (MAC) Algorithms. They are called HKDF-SHA256, KMAC256-KDF, HMAC-SHA256-128, and KMAC256-128.</t>
      <t>The algorithms described by this document produce 128-bit (i.e., 16-byte) MACs. When 16-byte MACs are encoded in TCP-AO, the TCP-AO consumes 20 bytes. This does not challenge TCP's 40-byte option size limitation.</t>
    </abstract>
  </front>
  <middle>
    <?line 52?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC5926"/> creates a list of cryptographic algorithms that can be used with TCP-AO <xref target="RFC5925"/>. This document expands that list, adding two Key Derivation Functions (KDFs) and two Message Authentication Code (MAC) Algorithms. They are called HKDF-SHA256, KMAC256-KDF, HMAC-SHA256-128, and KMAC256-128.</t>
      <t>The algorithms described by this document produce 128-bit (i.e., 16-byte) MACs. When 16-byte MACs are encoded in TCP-AO, the TCP-AO consumes 20 bytes. This does not challenge TCP's <xref target="RFC9293"/> 40-byte option size limitation.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</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 BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="algorithm-classes">
      <name>Algorithm Classes</name>
      <t><xref target="RFC5925"/> requires the following cryptographic algorithm classes:</t>
      <ul spacing="normal">
        <li>
          <t>Key Derivation Functions (KDFs)</t>
        </li>
        <li>
          <t>MAC Algorithms</t>
        </li>
      </ul>
      <t><xref target="kdf"/> of this document addresses KDFs while <xref target="mac"/> addresses MAC algorithms.</t>
      <section anchor="kdf">
        <name>Key Derivation Functions (KDFs)</name>
        <t>A KDF converts Initial Keying Material (IKM) into cryptographically secure Output Keying Material (OKM). In the case of TCP-AO, a KDF converts an administratively assigned Master_Key into a Traffic_Key.</t>
        <t>KDFs have the following interface:</t>
        <ul spacing="normal">
          <li>
            <t>Traffic_Key = KDF_alg(Master_Key, Context, Output_Length)</t>
          </li>
        </ul>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t>KDF_alg is the KDF algorithm being used.</t>
          </li>
          <li>
            <t>Master_Key is a variable length, human-readable pre-shared key (PSK).</t>
          </li>
          <li>
            <t>Context is binary string containing information related to the TCP connection, as defined in <xref target="RFC5925"/>, Section 5.2.</t>
          </li>
          <li>
            <t>Output_Length is the desired length of the Traffic_Key. In this document, the Output_Length is always equal to 256 bits.</t>
          </li>
        </ul>
        <t>This document defines two KDFs:</t>
        <ul spacing="normal">
          <li>
            <t>HKDF-SHA256</t>
          </li>
          <li>
            <t>KMAC256-KDF</t>
          </li>
        </ul>
        <t><xref target="HKDFSHA256"/> of this document describes HKDF-SHA256 while <xref target="KMAC256KDF"/> describes KMAC256-KDF.</t>
        <section anchor="HKDFSHA256">
          <name>HKDF-SHA256</name>
          <t>HKDF-SHA256 is as described in <xref target="RFC5869"/>. HKDF-SHA256 executes in the following stages:</t>
          <ul spacing="normal">
            <li>
              <t>Extract</t>
            </li>
            <li>
              <t>Expand</t>
            </li>
          </ul>
          <t>The interface to the Extract stage is:</t>
          <ul spacing="normal">
            <li>
              <t>PRK = HKDF-Extract(salt, IKM)</t>
            </li>
          </ul>
          <t>where:</t>
          <ul spacing="normal">
            <li>
              <t>PRK is a Pseudo-random key, to be used in the Expand stage.</t>
            </li>
            <li>
              <t>salt is a string of 256 zeros.</t>
            </li>
            <li>
              <t>IKM is the Master_Key argument provided to the KDF interface.</t>
            </li>
          </ul>
          <t>According to <xref target="RFC5869"/>, the goal of the extract stage is to concentrate the possibly dispersed entropy of the input keying material into a short, but cryptographically strong pseudorandom key.  In some applications, the input may already be a good pseudorandom key. In these cases, the extract stage is not necessary, and the expand part can be used alone.
However, when used with TCP-AO, implementations <bcp14>MUST</bcp14> execute the extract stage.</t>
          <t>The interface to the Expand stage is:</t>
          <ul spacing="normal">
            <li>
              <t>OKM = HKDF-Expand(PRK, info, L)</t>
            </li>
          </ul>
          <t>where:</t>
          <ul spacing="normal">
            <li>
              <t>OKM is the Traffic_Key.</t>
            </li>
            <li>
              <t>PRK is the value produced by the Extract stage.</t>
            </li>
            <li>
              <t>info is the Context argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>L is the Output_length argument provided to the KDF interface.</t>
            </li>
          </ul>
          <t>The expand stage expands the pseudorandom key to the desired length. The number and lengths of the output keys depend on the specific cryptographic algorithms for which the keys are needed.</t>
        </section>
        <section anchor="KMAC256KDF">
          <name>KMAC256-KDF</name>
          <t>KMAC256-KDF is as described in <xref target="RFC9688"/>. The interface to KMAC256-KDF is:</t>
          <ul spacing="normal">
            <li>
              <t>OKM = KMAC256(K, X, L, S).</t>
            </li>
          </ul>
          <t>where:</t>
          <ul spacing="normal">
            <li>
              <t>OKM is the Traffic_Key.</t>
            </li>
            <li>
              <t>K is the Master_Key argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>X is the Context argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>L is the Output_length argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>S is application specific information. It is always equal to "TCP-AO".</t>
            </li>
          </ul>
          <t>KMAC256-KDF operates in the following stages:</t>
          <ul spacing="normal">
            <li>
              <t>Absorb</t>
            </li>
            <li>
              <t>Squeeze</t>
            </li>
          </ul>
          <t>Both stages compensate for lack of entropy in the Master_Key and neither stage is optional.</t>
        </section>
      </section>
      <section anchor="mac">
        <name>MAC Algorithms</name>
        <t>Each MAC algorithm defined for TCP-AO has the following fixed elements as part of its definition:</t>
        <ul spacing="normal">
          <li>
            <t>KDF_Alg is the name of the KDF algorithm used to generate the Traffic_Key.</t>
          </li>
          <li>
            <t>Key_Length is the length of the Traffic_Key used in this MAC, measured in bits. In this document, the Key_Length is always 256 bits.</t>
          </li>
          <li>
            <t>MAC_Length is the desired length of the MAC to be produced by the algorithm. In this document, the MAC_Length is always 128 bits.</t>
          </li>
        </ul>
        <t>MACs computed for TCP-AO have the following interface:</t>
        <ul spacing="normal">
          <li>
            <t>MAC = MAC_alg(Traffic_Key, Message)</t>
          </li>
        </ul>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t>MAC is the value to be encoded in TCP-AO.</t>
          </li>
          <li>
            <t>MAC_alg is MAC Algorithm used.</t>
          </li>
          <li>
            <t>Traffic_Key is the result of KDF.</t>
          </li>
          <li>
            <t>Message is the message to be authenticated, as specified in <xref target="RFC5925"/>, Section 5.1.</t>
          </li>
        </ul>
        <section anchor="the-use-of-hmac-sha256-128">
          <name>The Use of HMAC-SHA256-128</name>
          <t>The three fixed elements for HMAC-SHA256-128 are:</t>
          <ul spacing="normal">
            <li>
              <t>KDF_Alg: HKDF-SHA256.</t>
            </li>
            <li>
              <t>Key_Length:  256 bits.</t>
            </li>
            <li>
              <t>MAC_Length:  128 bits.</t>
            </li>
          </ul>
          <t>For:</t>
          <ul spacing="normal">
            <li>
              <t>MAC = MAC_alg (Traffic_Key, Message)</t>
            </li>
          </ul>
          <t>HMAC-SHA256-128 for TCP-AO has the following values:</t>
          <ul spacing="normal">
            <li>
              <t>MAC is the value to be encoded in TCP-AO.</t>
            </li>
            <li>
              <t>MAC_alg is HMAC-SHA256.</t>
            </li>
            <li>
              <t>Traffic_Key is the result of the KDF.</t>
            </li>
            <li>
              <t>Message is the message to be authenticated, as specified in <xref target="RFC5925"/>, Section 5.1.</t>
            </li>
          </ul>
        </section>
        <section anchor="the-use-of-kmac256-128">
          <name>The Use of KMAC256-128</name>
          <t>The three fixed elements for KMAC256-128 are:</t>
          <ul spacing="normal">
            <li>
              <t>KDF_Alg: KMAC256-KDF</t>
            </li>
            <li>
              <t>Key_Length:  256 bits.</t>
            </li>
            <li>
              <t>MAC_Length:  128 bits.</t>
            </li>
          </ul>
          <t>For:</t>
          <ul spacing="normal">
            <li>
              <t>MAC = MAC_alg (Traffic_Key, Message)</t>
            </li>
          </ul>
          <t>KMAC256-128 for TCP-AO has the following values:</t>
          <ul spacing="normal">
            <li>
              <t>MAC is the value to be encoded in TCP-AO.</t>
            </li>
            <li>
              <t>MAC_alg is KMAC256.</t>
            </li>
            <li>
              <t>Traffic_Key is the result of the KDF.</t>
            </li>
            <li>
              <t>Message is the message to be authenticated, as specified in <xref target="RFC5925"/>, Section 5.1.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="seccon">
      <name>Security Considerations</name>
      <t>This document inherits all of the security considerations of <xref target="RFC5869"/>, <xref target="RFC5925"/>, <xref target="RFC8702"/>, and <xref target="RFC9688"/>.</t>
      <t>The security of cryptography-based systems depends on both the strength of the cryptographic algorithms chosen and the strength of the keys used with those algorithms.  The security also depends on the engineering of the protocol used by the system to ensure that there are no non-cryptographic ways to bypass the security of the overall system.</t>
      <t>Master_Keys <bcp14>SHOULD</bcp14> have 256 bits of entropy. This document RECOMMENDS that operators randomly generate 256-bit strings for use as Master_Keys. However, it is understood that that may not do so.</t>
      <t>TCP-AO Master Key Tuples <bcp14>MUST</bcp14> be rotated at a rate commensurate with the strength of the cryptographic algorithms.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to add the following entries to the "Cryptographic Algorithms for TCP-AO Registration" (https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-parameters-3).</t>
      <table anchor="iana">
        <name>IANA Actions</name>
        <thead>
          <tr>
            <th align="left">Algorithm</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">HMAC-SHA256-128</td>
            <td align="left">This Document</td>
          </tr>
          <tr>
            <td align="left">KMAC256-128</td>
            <td align="left">This Document</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Eric Biggers, Lars Eggert, Gorry Fairhurst, C.M.  Heard, Russ Housley, John Mattsson, Yoshifumi Nishida, Joe Touch, Michael Tuxen, and Magnus Westerlund for their review and comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <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="RFC5869">
        <front>
          <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
          <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
          <author fullname="P. Eronen" initials="P." surname="Eronen"/>
          <date month="May" year="2010"/>
          <abstract>
            <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5869"/>
        <seriesInfo name="DOI" value="10.17487/RFC5869"/>
      </reference>
      <reference anchor="RFC5925">
        <front>
          <title>The TCP Authentication Option</title>
          <author fullname="J. Touch" initials="J." surname="Touch"/>
          <author fullname="A. Mankin" initials="A." surname="Mankin"/>
          <author fullname="R. Bonica" initials="R." surname="Bonica"/>
          <date month="June" year="2010"/>
          <abstract>
            <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5925"/>
        <seriesInfo name="DOI" value="10.17487/RFC5925"/>
      </reference>
      <reference anchor="RFC5926">
        <front>
          <title>Cryptographic Algorithms for the TCP Authentication Option (TCP-AO)</title>
          <author fullname="G. Lebovitz" initials="G." surname="Lebovitz"/>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="June" year="2010"/>
          <abstract>
            <t>The TCP Authentication Option (TCP-AO) relies on security algorithms to provide authentication between two end-points. There are many such algorithms available, and two TCP-AO systems cannot interoperate unless they are using the same algorithms. This document specifies the algorithms and attributes that can be used in TCP-AO's current manual keying mechanism and provides the interface for future message authentication codes (MACs). [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5926"/>
        <seriesInfo name="DOI" value="10.17487/RFC5926"/>
      </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"/>
          <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>
      <reference anchor="RFC8702">
        <front>
          <title>Use of the SHAKE One-Way Hash Functions in the Cryptographic Message Syntax (CMS)</title>
          <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
          <author fullname="Q. Dang" initials="Q." surname="Dang"/>
          <date month="January" year="2020"/>
          <abstract>
            <t>This document updates the "Cryptographic Message Syntax (CMS) Algorithms" (RFC 3370) and describes the conventions for using the SHAKE family of hash functions in the Cryptographic Message Syntax as one-way hash functions with the RSA Probabilistic Signature Scheme (RSASSA-PSS) and Elliptic Curve Digital Signature Algorithm (ECDSA). The conventions for the associated signer public keys in CMS are also described.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8702"/>
        <seriesInfo name="DOI" value="10.17487/RFC8702"/>
      </reference>
      <reference anchor="RFC9293">
        <front>
          <title>Transmission Control Protocol (TCP)</title>
          <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="7"/>
        <seriesInfo name="RFC" value="9293"/>
        <seriesInfo name="DOI" value="10.17487/RFC9293"/>
      </reference>
      <reference anchor="RFC9688">
        <front>
          <title>Use of the SHA3 One-Way Hash Functions in the Cryptographic Message Syntax (CMS)</title>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <date month="November" year="2024"/>
          <abstract>
            <t>This document describes the conventions for using the one-way hash functions in the SHA3 family with the Cryptographic Message Syntax (CMS). The SHA3 family can be used as a message digest algorithm, as part of a signature algorithm, as part of a message authentication code, or as part of a Key Derivation Function (KDF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9688"/>
        <seriesInfo name="DOI" value="10.17487/RFC9688"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
