<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" submissionType="IETF" docName="draft-ietf-ipsecme-ikev2-rename-esn-05" number="9827" consensus="true" ipr="trust200902" updates="7296" obsoletes="" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" xml:lang="en" prepTime="2025-11-05T09:58:25" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-rename-esn-05" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9827" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Renaming ESN in IKEv2">Renaming the Extended Sequence Numbers (ESN) Transform Type in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
    <seriesInfo name="RFC" value="9827" stream="IETF"/>
    <author fullname="Valery Smyslov" initials="V." surname="Smyslov">
      <organization showOnFrontPage="true">ELVIS-PLUS</organization>
      <address>
        <postal>
          <country>Russian Federation</country>
        </postal>
        <email>svan@elvis.ru</email>
      </address>
    </author>
    <date month="11" year="2025"/>
    <area>SEC</area>
    <workgroup>ipsecme</workgroup>
    <keyword>replay protection</keyword>
    <keyword>anti-replay</keyword>
    <keyword>IPsec</keyword>
    <keyword>ESP</keyword>
    <keyword>AH</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1"> This document clarifies and extends the meaning of Transform Type 5 in Internet Key Exchange Protocol Version 2 (IKEv2).
      It updates RFC 7296 by renaming Transform Type 5 from "Extended Sequence Numbers (ESN)" 
      to "Sequence Numbers (SN)". It also renames two currently defined values for this Transform Type: 
      value 0 from "No Extended Sequence Numbers" to "32-bit Sequential Numbers" and value 1 from 
      "Extended Sequence Numbers" to "Partially Transmitted 64-bit Sequential Numbers".
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9827" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-problem-description">Problem Description</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-extending-the-semantics-of-">Extending the Semantics of Transform Type 5</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The IP Security (IPsec) Architecture <xref target="RFC4301" format="default" sectionFormat="of" derivedContent="RFC4301"/> defines a set of security services provided by the 
      Authentication Header (AH) <xref target="RFC4302" format="default" sectionFormat="of" derivedContent="RFC4302"/> and Encapsulating Security Payload (ESP) <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/>.
      One of these services is replay protection, which is referred to as "anti-replay" in these documents. In IPsec, the anti-replay service is optional;
      each receiver of AH and/or ESP packets can choose whether to enable it on a per Security Association (SA) basis.
      The replay protection in AH and ESP is achieved by means of a monotonically increasing counter that never wraps around and 
      is sent in each AH or ESP packet in the Sequence Number field. The receiver maintains a sliding window that allows 
      duplicate packets to be detected.
      </t>
      <t indent="0" pn="section-1-2"> Both AH and ESP allow use of either a 32-bit counter or a 64-bit counter.
      The latter case is referred to as Extended Sequence Numbers (ESN) in AH and ESP specifications.
      Since the Sequence Number field in both AH and ESP headers is only 32 bits in size, 
      in case of ESN the high-order 32 bits of the counter are not transmitted and are determined by the receiver 
      based on previously received packets.
      </t>
      <t indent="0" pn="section-1-3">The receiver decides whether to enable the anti-replay service based only on the receiver's local policy, so
      the sender, in accordance with the specifications for AH (<xref target="RFC4302" sectionFormat="comma" section="3.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4302#section-3.3.2" derivedContent="RFC4302"/>) and ESP (<xref target="RFC4303" sectionFormat="comma" section="3.3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4303#section-3.3.3" derivedContent="RFC4303"/>),
      should always assume that the replay protection is enabled on the receiving side. Thus, the sender should always send the increasing counter values 
      and should take care that the counter never wraps around. AH and ESP specifications also discuss situations in which
      replay protection is not possible to achieve, even if senders do all as prescribed -- like in multicast 
      Security Associations with multiple unsynchronized senders. Both AH and ESP specifications allow the sender to 
      avoid maintaining the counter if the sender has been notified that the anti-replay service 
      is disabled by the receiver or is not possible to achieve.
      </t>
      <t indent="0" pn="section-1-4"> AH and ESP Security Associations are usually established using  IKEv2 <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>. 
      The process of SA establishment includes calculation of a shared key and negotiation of various SA parameters, 
      such as cryptographic algorithms. This negotiation in IKEv2 is performed via transforms (see <xref target="RFC7296" sectionFormat="of" section="3.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-3.3.2" derivedContent="RFC7296"/>).
      The type of transform  determines what parameter is being negotiated. Each Transform Type has an associated list of possible values 
      (called Transform IDs) that determine the possible options for negotiation. See <xref target="IKEV2-IANA" format="default" sectionFormat="of" derivedContent="IKEV2-IANA"/> for the list of Transform Types 
      and associated Transform IDs.
      </t>
      <t indent="0" pn="section-1-5"> Transform Type 5 ("Extended Sequence Numbers (ESN)") is used in IKEv2 to negotiate the way sequence numbers 
      for replay protection are generated, transmitted, and processed in the context of an SA. There are 
      two values are defined for this Transform Type -- "No Extended Sequence Numbers" and "Extended Sequence Numbers". 
      </t>
      <t indent="0" pn="section-1-6"> This document updates the IKEv2 specification <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/> by renaming Transform Type 5 and the
      two associated Transform IDs.
      </t>
    </section>
    <section anchor="problem" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-problem-description">Problem Description</name>
      <t indent="0" pn="section-2-1"> IKEv2 currently has no means to negotiate the case when both peers agree that replay protection is not needed.
        Even when both peers locally disable anti-replay service as receivers, they still need to maintain increasing sequence numbers 
        as senders, taking care that they never wrap around (see <xref target="I-D.pan-ipsecme-anti-replay-notification" format="default" sectionFormat="of" derivedContent="ANTIREPLAY"/>).
      </t>
      <t indent="0" pn="section-2-2"> There is also no way to inform receivers that replay protection is not possible for a particular SA
        (for example in case of a multicast SA with several unsynchronized senders).
      </t>
      <t indent="0" pn="section-2-3">Future IPsec protocols may provide more options for the handling of anti-replay counters,
        like sending full 64-bit sequence numbers or completely omitting them in packets (see <xref target="I-D.ietf-ipsecme-eesp" format="default" sectionFormat="of" derivedContent="EESP"/>).
        These options will require means to be negotiated in IKEv2.
      </t>
      <t indent="0" pn="section-2-4"> Transform Type 5 is the best candidate for addressing these issues:
        it is already used for negotiation of how sequence numbers are handled in AH and ESP, and 
        it is possible to define additional Transform IDs that could be used in the corresponding situations.
        However, the current definition of Transform Type 5 is too narrow -- its name implies that
        this transform can only be used for negotiation of using ESN.
      </t>
    </section>
    <section anchor="clarification" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-extending-the-semantics-of-">Extending the Semantics of Transform Type 5</name>
      <t indent="0" pn="section-3-1"> This document extends the semantics of Transform Type 5 in IKEv2 to be defined as follows:
      </t>
      <t indent="3" pn="section-3-2"> Transform Type 5 defines the set of properties of sequence numbers of IPsec packets of a given SA when these packets enter the network.
      </t>
      <t indent="0" pn="section-3-3"> This updated definition is clarified as follows: 
      </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3-4">
        <li pn="section-3-4.1">
          <t indent="0" pn="section-3-4.1.1">"Sequence numbers" in this definition are not necessarily the
   content of the Sequence Number field in the IPsec packets; they
   may also be some logical entities (e.g., counters) that could
   be constructed taking some information that is not transmitted on the wire into account.
          </t>
        </li>
        <li pn="section-3-4.2">
          <t indent="0" pn="section-3-4.2.1"> The properties are interpreted as characteristics of IPsec SA
          packets rather than the results of sender actions.  For example, in
          multicast SA with multiple unsynchronized senders, even if each
          sender ensures the uniqueness of sequence numbers it generates, the
          uniqueness of sequence numbers for all IPsec packets is not
          guaranteed.
          </t>
        </li>
        <li pn="section-3-4.3">
          <t indent="0" pn="section-3-4.3.1"> The properties are defined for the packets just entering the
          network and not for the packets that receivers get.  This is because
          network behavior may break some of these properties (e.g., packet duplication would break sequence number uniqueness).
          </t>
        </li>
        <li pn="section-3-4.4">
          <t indent="0" pn="section-3-4.4.1"> The properties of sequence numbers are interpreted in a broad
          sense, which includes the case when sequence numbers are absent.
          </t>
        </li>
      </ul>
      <t indent="0" pn="section-3-5"> Given this updated definition, Transform Type 5 in the "Transform Type
 Values" registry <xref target="IKEV2-IANA" format="default" sectionFormat="of" derivedContent="IKEV2-IANA"/> has been renamed from "Extended Sequence
 Numbers (ESN)" to "Sequence Numbers (SN)" in the sense
 that it defines the properties of the sequence numbers in general.</t>
      <t indent="0" pn="section-3-6"> It is expected that new Transform IDs will be defined for this Transform Type in the future 
        (like in G-IKEv2 <xref target="RFC9838" format="default" sectionFormat="of" derivedContent="RFC9838"/> for the case of multicast SAs).
        Documents defining new Transform IDs should include descriptions of the properties the sequence numbers 
        would have if the new Transform ID was selected. In particular, the descriptions should include discussion of whether these properties
        allow replay protection to be achieved. 
      </t>
      <t indent="0" pn="section-3-7"> Some existing protocols (like Implicit IV in ESP <xref target="RFC8750" format="default" sectionFormat="of" derivedContent="RFC8750"/> or
        Aggregation and Fragmentation for ESP <xref target="RFC9347" format="default" sectionFormat="of" derivedContent="RFC9347"/>) rely on properties that are guaranteed 
        for the currently defined Transform IDs; however, this might not be true for future Transform IDs. 
        When a new Transform ID is defined, its description should include  discussion about the possibility 
        of using the Transform ID in protocols that rely on some particular properties of sequence numbers.
      </t>
      <t indent="0" pn="section-3-8">The two currently defined Transform IDs for Transform Type 5 define the following properties of sequence numbers.
      </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3-9">
        <li pn="section-3-9.1">
          <t indent="0" pn="section-3-9.1.1"> Value 0 defines sequence numbers as
          monotonically increasing 32-bit counters that are transmitted in the
          Sequence Number field of AH and ESP packets. They never wrap around
          and are guaranteed to be unique, thus they are suitable for replay
          protection.  They can also be used with protocols that rely on
          sequence number uniqueness (e.g., <xref target="RFC8750" format="default" sectionFormat="of" derivedContent="RFC8750"/>) or monotonically 
          increasing sequence numbers (e.g., <xref target="RFC9347" format="default" sectionFormat="of" derivedContent="RFC9347"/>). The sender and
          the receiver actions are defined in Sections <xref target="RFC4302" sectionFormat="bare" section="3.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4302#section-3.3.2" derivedContent="RFC4302"/> and <xref target="RFC4302" sectionFormat="bare" section="3.4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4302#section-3.4.3" derivedContent="RFC4302"/> of <xref target="RFC4302" format="default" sectionFormat="of" derivedContent="RFC4302"/>
          for AH and in Sections <xref target="RFC4303" sectionFormat="bare" section="3.3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4303#section-3.3.3" derivedContent="RFC4303"/> and <xref target="RFC4303" sectionFormat="bare" section="3.4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4303#section-3.4.3" derivedContent="RFC4303"/> of <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/> for ESP.
          </t>
        </li>
        <li pn="section-3-9.2">
          <t indent="0" pn="section-3-9.2.1"> Value 1 defines sequence numbers as
          monotonically increasing 64-bit counters. The low-order 32 bits are
          transmitted in the Sequence Number field of AH and ESP packets, and
          the high-order 32 bits are implicitly determined on receivers based
          on previously received packets. The sequence numbers never wrap
          around and are guaranteed to be unique, thus they are suitable for
          replay protection. They can also be used with protocols that rely on
          sequence number uniqueness (e.g., <xref target="RFC8750" format="default" sectionFormat="of" derivedContent="RFC8750"/>) or their
          monotonic increase (e.g., <xref target="RFC9347" format="default" sectionFormat="of" derivedContent="RFC9347"/>). To
          correctly process the incoming packets on receivers, the packets must
          be authenticated (even when the replay protection is not used).  The
          sender and the receiver actions are defined in Sections <xref target="RFC4302" sectionFormat="bare" section="3.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4302#section-3.3.2" derivedContent="RFC4302"/> and <xref target="RFC4302" sectionFormat="bare" section="3.4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4302#section-3.4.3" derivedContent="RFC4302"/> of <xref target="RFC4302" format="default" sectionFormat="of" derivedContent="RFC4302"/> for AH and in Sections <xref target="RFC4303" sectionFormat="bare" section="3.3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4303#section-3.3.3" derivedContent="RFC4303"/> and <xref target="RFC4303" sectionFormat="bare" section="3.4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4303#section-3.4.3" derivedContent="RFC4303"/> of <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/>
          for ESP.
          </t>
        </li>
      </ul>
      <t indent="0" pn="section-3-10"> Given the descriptions above and the new definition of Transform Type 5, the two currently defined Transform IDs
        are renamed to better reflect the properties of sequence numbers they assume.
      </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3-11">
        <li pn="section-3-11.1">
          <t indent="0" pn="section-3-11.1.1"> Transform ID 0 is renamed from "No Extended Sequence Numbers" to
          "32-bit Sequential Numbers".</t>
        </li>
        <li pn="section-3-11.2">
          <t indent="0" pn="section-3-11.2.1"> Transform ID 1 is renamed from "Extended Sequence Numbers" to
          "Partially Transmitted 64-bit Sequential Numbers".</t>
        </li>
      </ul>
      <t indent="0" pn="section-3-12"> Note that the above descriptions do not change the existing
      semantics of these Transform IDs, they only provide clarification.  Also note that ESP and AH packet processing for these Transform IDs is not
      affected, and bits on the wire do not change.
      </t>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-1"> This document does not affect security of the AH, ESP, and IKEv2 protocols.
      </t>
    </section>
    <section anchor="IANA" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-5-1"> This document makes changes to registries within the "Internet Key Exchange Version 2 (IKEv2) Parameters" registry group
      <xref target="IKEV2-IANA" format="default" sectionFormat="of" derivedContent="IKEV2-IANA"/>. 
      </t>
      <t indent="0" pn="section-5-2">The "Transform Type Values" registry has been updated as follows: </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-5-3">
        <li pn="section-5-3.1">
          <t indent="0" pn="section-5-3.1.1">renamed Transform Type 5 from "Extended Sequence Numbers (ESN)" 
          to "Sequence Numbers (SN)".
          </t>
        </li>
        <li pn="section-5-3.2">
          <t indent="0" pn="section-5-3.2.1">added as a reference to this RFC for Transform Type 5.</t>
        </li>
        <li pn="section-5-3.3">
          <t indent="0" pn="section-5-3.3.1">added the following note:</t>
          <blockquote pn="section-5-3.3.2">
            <t indent="0" pn="section-5-3.3.2.1">The "Sequence Numbers (SN)" Transform Type was originally named
            "Extended Sequence Numbers (ESN)" and was referenced by that name
            in a number of RFCs published prior to [RFC9827], which gave it
            the current title.</t>
          </blockquote>
        </li>
      </ul>
      <t indent="0" pn="section-5-4">The "Transform Type 5 - Extended Sequence Numbers Transform IDs" registry has been updated as follows: </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-5-5">
        <li pn="section-5-5.1">
          <t indent="0" pn="section-5-5.1.1">renamed the registry from "Transform Type 5 - Extended Sequence Numbers Transform IDs" to
          "Transform Type 5 - Sequence Numbers Transform IDs" and added this document as a reference. 
          </t>
        </li>
        <li pn="section-5-5.2">
          <t indent="0" pn="section-5-5.2.1">split the "Reserved" (2-65535) range of numbers as shown below.</t>
          <table align="center" pn="table-1">
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Number</th>
                <th align="left" colspan="1" rowspan="1">Name</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">2-1023</td>
                <td colspan="2" align="left" rowspan="1">Unassigned</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1024-65535</td>
                <td align="left" colspan="1" rowspan="1">Reserved for Private Use</td>
                <td align="left" colspan="1" rowspan="1">[RFC9827]</td>
              </tr>
            </tbody>
          </table>
        </li>
        <li pn="section-5-5.3">
          <t indent="0" pn="section-5-5.3.1">renamed Transform ID 0 from "No Extended Sequence Numbers" 
          to "32-bit Sequential Numbers".
          </t>
        </li>
        <li pn="section-5-5.4">
          <t indent="0" pn="section-5-5.4.1">renamed Transform ID 1 from "Extended Sequence Numbers" 
          to "Partially Transmitted 64-bit Sequential Numbers".
          </t>
        </li>
        <li pn="section-5-5.5">
          <t indent="0" pn="section-5-5.5.1">added a reference to this RFC for Transform ID 0 and Transform ID 1.</t>
        </li>
        <li pn="section-5-5.6">
          <t indent="0" pn="section-5-5.6.1">added the following registry notes:</t>
          <blockquote pn="section-5-5.6.2">
            <t indent="0" pn="section-5-5.6.2.1">This registry was originally named "Transform Type 5 - Extended
          Sequence Numbers Transform IDs" and was referenced using that name
          in a number of RFCs published prior to [RFC9827], which gave it the
          current title.
            </t>
          </blockquote>
          <blockquote pn="section-5-5.6.3">
            <t indent="0" pn="section-5-5.6.3.1">The "32-bit Sequential Numbers" Transform ID was originally named "No
          Extended Sequence Numbers" and was referenced by that name in a
          number of RFCs published prior to [RFC9827], which gave it the
          current title.
            </t>
          </blockquote>
          <blockquote pn="section-5-5.6.4">
            <t indent="0" pn="section-5-5.6.4.1">The "Partially Transmitted 64-bit Sequential Numbers" Transform ID
          was originally named "Extended Sequence Numbers" and was referenced
          by that name in a number of RFCs published prior to [RFC9827], which
          gave it the current title.
            </t>
          </blockquote>
          <blockquote pn="section-5-5.6.5">
            <t indent="0" pn="section-5-5.6.5.1">Numbers in the range 2-65535 were originally marked
          as "Reserved" and were reclassified as "Unassigned" and "Reserved
          for Private Use" by [RFC9827].
            </t>
          </blockquote>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-ipsecme-eesp" to="EESP"/>
    <displayreference target="I-D.pan-ipsecme-anti-replay-notification" to="ANTIREPLAY"/>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="IKEV2-IANA" target="http://www.iana.org/assignments/ikev2-parameters" quoteTitle="true" derivedAnchor="IKEV2-IANA">
          <front>
            <title>Internet Key Exchange Version 2 (IKEv2) Parameters</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC4301" target="https://www.rfc-editor.org/info/rfc4301" quoteTitle="true" derivedAnchor="RFC4301">
          <front>
            <title>Security Architecture for the Internet Protocol</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="K. Seo" initials="K." surname="Seo"/>
            <date month="December" year="2005"/>
            <abstract>
              <t indent="0">This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4301"/>
          <seriesInfo name="DOI" value="10.17487/RFC4301"/>
        </reference>
        <reference anchor="RFC4302" target="https://www.rfc-editor.org/info/rfc4302" quoteTitle="true" derivedAnchor="RFC4302">
          <front>
            <title>IP Authentication Header</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t indent="0">This document describes an updated version of the IP Authentication Header (AH), which is designed to provide authentication services in IPv4 and IPv6. This document obsoletes RFC 2402 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4302"/>
          <seriesInfo name="DOI" value="10.17487/RFC4302"/>
        </reference>
        <reference anchor="RFC4303" target="https://www.rfc-editor.org/info/rfc4303" quoteTitle="true" derivedAnchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t indent="0">This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC7296" target="https://www.rfc-editor.org/info/rfc7296" quoteTitle="true" derivedAnchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t indent="0">This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.pan-ipsecme-anti-replay-notification" target="https://datatracker.ietf.org/doc/html/draft-pan-ipsecme-anti-replay-notification-01" quoteTitle="true" derivedAnchor="ANTIREPLAY">
          <front>
            <title>IKEv2 Support for Anti-Replay Status Notification</title>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Qi He" initials="Q." surname="He">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Paul Wouters" initials="P." surname="Wouters">
              <organization showOnFrontPage="true">Aiven</organization>
            </author>
            <date day="21" month="October" year="2024"/>
            <abstract>
              <t indent="0">Although RFC 4302 and RFC 4303 don't prohibit using Extended Sequence Number (ESN) when the anti-replay function is not enabled, many IPsec implementations require ESN to be used only with anti-replay. Therefore, failing to negotiate the use of ESN when the anti-replay is disabled will cause the sequence numbers to exhaust rapidly in high-traffic-volume scenarios, leading to the frequent rekey of Child SAs. This document defines the REPLAY_PROT_AND_ESN_STATUS Notify Message Status Type Payload in the Internet Key Exchange Protocol Version 2 (IKEv2) to inform the peer of its replay protection status and capability of using ESN without anti-replay when creating the Child SAs, to address the above problem.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pan-ipsecme-anti-replay-notification-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-ipsecme-eesp" target="https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-eesp-02" quoteTitle="true" derivedAnchor="EESP">
          <front>
            <title>Enhanced Encapsulating Security Payload (EESP)</title>
            <author fullname="Steffen Klassert" initials="S." surname="Klassert">
              <organization showOnFrontPage="true">secunet Security Networks AG</organization>
            </author>
            <author fullname="Antony Antony" initials="A." surname="Antony">
              <organization showOnFrontPage="true">secunet Security Networks AG</organization>
            </author>
            <author fullname="Christian Hopps" initials="C." surname="Hopps">
              <organization showOnFrontPage="true">LabN Consulting, L.L.C.</organization>
            </author>
            <date day="19" month="October" year="2025"/>
            <abstract>
              <t indent="0">This document describes the Enhanced Encapsulating Security Payload (EESP) protocol, which builds on the existing IP Encapsulating Security Payload (ESP) protocol. It is designed to modernize and overcome limitations in the ESP protocol. EESP adds Session IDs (e.g., to support CPU pinning and QoS support based on the inner traffic flow), changes some previously mandatory fields to optional, and moves the ESP trailer into the EESP header. Additionally, EESP adds header options adapted from IPv6 to allow for future extension. New header options are defined which add Flow IDs and a crypt-offset to allow for exposing inner flow information for middlebox use.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ipsecme-eesp-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC8750" target="https://www.rfc-editor.org/info/rfc8750" quoteTitle="true" derivedAnchor="RFC8750">
          <front>
            <title>Implicit Initialization Vector (IV) for Counter-Based Ciphers in Encapsulating Security Payload (ESP)</title>
            <author fullname="D. Migault" initials="D." surname="Migault"/>
            <author fullname="T. Guggemos" initials="T." surname="Guggemos"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <date month="March" year="2020"/>
            <abstract>
              <t indent="0">Encapsulating Security Payload (ESP) sends an initialization vector (IV) in each packet. The size of the IV depends on the applied transform and is usually 8 or 16 octets for the transforms defined at the time this document was written. When used with IPsec, some algorithms, such as AES-GCM, AES-CCM, and ChaCha20-Poly1305, take the IV to generate a nonce that is used as an input parameter for encrypting and decrypting. This IV must be unique but can be predictable. As a result, the value provided in the ESP Sequence Number (SN) can be used instead to generate the nonce. This avoids sending the IV itself and saves 8 octets per packet in the case of AES-GCM, AES-CCM, and ChaCha20-Poly1305. This document describes how to do this.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8750"/>
          <seriesInfo name="DOI" value="10.17487/RFC8750"/>
        </reference>
        <reference anchor="RFC9347" target="https://www.rfc-editor.org/info/rfc9347" quoteTitle="true" derivedAnchor="RFC9347">
          <front>
            <title>Aggregation and Fragmentation Mode for Encapsulating Security Payload (ESP) and Its Use for IP Traffic Flow Security (IP-TFS)</title>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <date month="January" year="2023"/>
            <abstract>
              <t indent="0">This document describes a mechanism for aggregation and fragmentation of IP packets when they are being encapsulated in Encapsulating Security Payload (ESP). This new payload type can be used for various purposes, such as decreasing encapsulation overhead for small IP packets; however, the focus in this document is to enhance IP Traffic Flow Security (IP-TFS) by adding Traffic Flow Confidentiality (TFC) to encrypted IP-encapsulated traffic. TFC is provided by obscuring the size and frequency of IP traffic using a fixed-size, constant-send-rate IPsec tunnel. The solution allows for congestion control, as well as nonconstant send-rate usage.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9347"/>
          <seriesInfo name="DOI" value="10.17487/RFC9347"/>
        </reference>
        <reference anchor="RFC9838" target="https://www.rfc-editor.org/info/rfc9838" quoteTitle="true" derivedAnchor="RFC9838">
          <front>
            <title>Group Key Management Using the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author initials="V" surname="Smyslov" fullname="Valery Smyslov">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B" surname="Weis" fullname="Brian Weis">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9838"/>
          <seriesInfo name="DOI" value="10.17487/RFC9838"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">This document was created as a result of discussions with <contact fullname="Russ Housley"/>, <contact fullname="Tero Kivinen"/>, <contact fullname="Paul Wouters"/>, and <contact fullname="Antony Antony"/> about
      the best way to extend the meaning of the Extended Sequence Numbers
      transform in IKEv2.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author fullname="Valery Smyslov" initials="V." surname="Smyslov">
        <organization showOnFrontPage="true">ELVIS-PLUS</organization>
        <address>
          <postal>
            <country>Russian Federation</country>
          </postal>
          <email>svan@elvis.ru</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
