<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xia-ipsecme-eesp-stateless-encryption-02" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="EESP Stateless Encryption">Stateless Encryption Scheme of Enhanced Encapsulating Security Payload (EESP)</title>
    <seriesInfo name="Internet-Draft" value="draft-xia-ipsecme-eesp-stateless-encryption-02"/>
    <author initials="L." surname="Xia" fullname="Liang Xia">
      <organization>Huawei Technologies</organization>
      <address>
        <email>frank.xialiang@huawei.com</email>
      </address>
    </author>
    <author initials="W." surname="Jiang" fullname="Weiyu Jiang">
      <organization>Huawei Technologies</organization>
      <address>
        <email>jiangweiyu1@huawei.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <workgroup>IPSECME Working Group</workgroup>
    <keyword/>
    <keyword/>
    <keyword/>
    <abstract>
      <?line 64?>

<t>This draft first introduces several use cases for stateless encryption, analyzes and compares some existing stateless encryption schemes in the industry, and then attempts to propose a general and flexible stateless encryption scheme based on the summarized requirements.</t>
    </abstract>
  </front>
  <middle>
    <?line 68?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Recently, with the emergence of more new scenarios such as high-performance cloud services, AI large model computing, and 5G mobile backhaul networks, higher requirements have been put forward for the hardware friendliness, performance, and flexibility of the IPsec ESP protocol. A new protocol design, EESP <xref target="I-D.ietf-ipsecme-eesp"/> <xref target="I-D.ietf-ipsecme-eesp-ikev2"/>, is being discussed and formulated. EESP focuses on solving issues such as introducing more fine-grained sub-child-SAs, adapting the ESP header and trailer format, and allowing parts of the transport layer header to be unencrypted, and implementing flexible expansion of EESP new features through options.</t>
      <t>In addition to the issues listed above that are being addressed, stateless encryption is also a very important point. Its basic idea is to dynamically calculate data keys based on a small number of master keys (for AES-GCM, the encryption key and authentication key are combined), which helps optimize hardware resource limitations, performance optimization, and key negotiation complexity in large-scale IPsec session scenarios. This draft first introduces several use cases for stateless encryption, analyzes and compares some existing stateless encryption schemes in the industry, and then attempts to propose a general and flexible stateless encryption scheme based on the summarized requirements.</t>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <section anchor="general-computing-of-cloud-service">
        <name>General Computing of Cloud Service</name>
        <t>Public cloud services provide IPsec VPN access for massive users, and the servers in their infrastructure need to support massive IPsec session access. If hardware supports IPsec, the hardware should support session-based encryption and decryption, and the data keys of different sessions are isolated. The server needs to maintain the security connection context between the server and a large number of clients, and the hardware with limited memory cannot store the huge context. Note that the client and server do not belong to the same trusted domain in this case.</t>
        <t>The stateless encryption scheme in the <xref target="PSP"/> solution proposed by Google is used to address the above hardware memory overhead problem. Its main principle is to derive a data key based on the master key on the server side, and the client side obtains the data key through an out-of-band method. It has:</t>
        <ul spacing="normal">
          <li>
            <t>Pros: Save half of total session contexts. Furthermore, since the master key is owned by server and not shared, key leakage affects only one server;</t>
          </li>
          <li>
            <t>Cons: When a large number of new sessions are created, the data key negotiation is along the out of band slow path in real time, the first packet transmit will be delayed, and which results in performance degrade.</t>
          </li>
        </ul>
      </section>
      <section anchor="cluster-communication-in-hpc-network">
        <name>Cluster Communication in HPC Network</name>
        <t>As shown in the below figure, encrypted communication is required between different instances of large-scale HPC jobs, the security session number is at the scale of O(M * N * N). So, an efficient security context management mechanism is required to solve the problem of large-scale security sessions. Note that all communication instances of a HPC job belong to the same trusted domain.</t>
        <figure anchor="fig-ipsecme-eesp-stateless-encryption-hpc">
          <name>Encrypted Communication for Large Scale HPC Networks</name>
          <artwork><![CDATA[
                           M Jobs
        +------------------------------------------+
        | +----------------------------------------+-+
        | | +--------------------------------------+-+-+
        | | |               Job 0                  | | |
        | | |  +---------+ +---------+ +---------+ | | |
        | | |  |Instance1| |Instance2| |Instance3| | | |
        | | |  +---------+ +---------+ +---------+ | | |
        +-+-+--------------------------------------+ | |
          +-+----------------------------------------+ |
            +------------------+-----------------------+
                               |
                               |Deploy Jobs
                               |to Server Cluster
                               |
+------------------------------V--------------------------------------+
|                        Server Cluster                               |
|                                                                     |
| +-----------+             +-----------+             +-----------+   |
| |+----------++            |+----------++            |+----------++  |
| ||+---------+++           ||+---------+++           ||+---------+++ |
| |||Instancei||| Ciphertext|||Instancej||| Ciphertext|||Instancek||| |
| |||  Keyi   ||<----------->||  Keyj   ||<----------->||  Keyk   ||| |
| +++---------+||           +++---------+||           +++---------+|| |
|  ++----------+|            ++----------+|            ++----------+| |
|   +----+------+             +-----------+             +-------+---+ |
|        |                    Ciphertext                        |     |
|        +------------------------------------------------------+     |
|                                                                     |
+---------------------------------------------------------------------+

                                                         

]]></artwork>
        </figure>
        <t>The stateless encryption scheme defined by <xref target="UEC_TSS"/> can be used to solve the above problem. The main principle is that all communication instances of a HPC job belong to the same trust domain and share the same master key for both receiving and sending directions. It has:</t>
        <ul spacing="normal">
          <li>
            <t>Pros:
            </t>
            <ul spacing="normal">
              <li>
                <t>Better than Google PSP，it saves all security session contexts;</t>
              </li>
              <li>
                <t>The communication parties do not need to store data keys, and the increase of the number of instances and connections of the HPC job does not affect the number of security contexts;</t>
              </li>
              <li>
                <t>Without out of band slow path data key negotiation, the first packet delay is small;</t>
              </li>
              <li>
                <t>Data keys can be updated through the TSC.epoch.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Cons:
            </t>
            <ul spacing="normal">
              <li>
                <t>Master key leakage affects the entire trusted domain;</t>
              </li>
              <li>
                <t>The context content can be generated based on the SSI / Source IP / Destination IP field. Although the context content is flexible, the calculation overhead increases.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="nicdpu-pool-for-general-computing">
        <name>NIC/DPU Pool for General Computing</name>
        <t>To cope with large-scale traffic access (e.g., computing server access to storage networks) and efficiently utilize network card resources, NIC resource pooling is an effective solution. For north-south traffic from client access to servers, the NIC resource pool must be transparent to the application, allowing a client to access resources behind any NIC in the pool. When using encrypted connections, all NICs must share the same key for a client's access. At this point, the NICs in a resource pool belong to the same trust domain, so stateless encryption sharing the master key is applicable. This saves data key synchronization between NICs and reduces the storage of security sessions and data keys on them in scenarios with a large number of secure client connections. The client obtains the data key for this encrypted connection through an out-of-band method, which can be derived from the master key and context. Encrypted connections and contexts can be isolated based on flows or VM instances. As shown in the figure below:</t>
        <figure anchor="fig-ipsecme-eesp-stateless-encryption-nic-pool">
          <name>Encrypted Communication for NIC Pool</name>
          <artwork><![CDATA[
                      VM Pool
+--------------------------------------------------+
|                                                  |
|       +----+  +----+  +----+  +----+             |
|       | VM |  | VM |  | VM |  | VM |             |
|       +----+  +----+  +----+  +----+             |
|                                                  |
|    +----------------------------------+          |
|    |                                  |          |
|    |  NIC pool with shared master key |          |
|    |       and security context       |          |
|    |   +-----+  +-----+     +-----+   |          |
|    |   | NIC |  | NIC | ... | NIC |   |          |
|    |   +---X\*  +-/-*-+     +---/++   |          |
|    |      / \ \\ /  |\       --/ |    |          |
|    +------/--\-/X\--+-\\-----//--+----+          |
+----------/---\/---\\+---\---/----+---------------+
           /   /\     \\-  \ /     |
          /   /  Ciphertext X\     |
          /  /    \-  |   \X  \    |
         / //  --- \  |  // \\ \   |
         // ---    \  | /     \\\\ |
        //--        \ |/        \\\|
   +--------+   +----\*--+   +----\|--+
   | client |   | client |   | client |
   +--------+   +--------+   +--------+


]]></artwork>
        </figure>
        <t>Similarly, the NIC resource pool can also be used for east-west traffic access between VMs. In this case, all NICs are in the same security domain and can share a master key, and different data keys can be dynamically generated based on different encryption connection contexts.</t>
      </section>
      <section anchor="ai-computing">
        <name>AI Computing</name>
        <t>As shown in the figure below, in a AI computing network, a computing task is collaboratively executed by a group of CPUs &amp; XPUs located in the same trust domain or across trust domains (in the case of cross-trust domains, they are interconnected as proxies through DPU). For CPUs &amp; XPUs within the same trust domain, stateless encryption sharing the same master key can eliminate the complexity and latency of key negotiation between chips. For interconnection across trust domains, the DPU needs to perform encryption connection proxy functions between two trust domains (local trusted domain and global trusted domain). At this time, the DPU simultaneously possesses the master keys of the two trust domains, calculates the data key for intra-domain communication in each domain based on its context, and then uses the calculated two data keys to complete the secure connection proxy across trust domains.</t>
        <figure anchor="fig-ipsecme-eesp-stateless-encryption-ai-computing">
          <name>Encrypted Communication for AI Computing Network</name>
          <artwork><![CDATA[
                +-----------------------------+
                |         Trusted Domain 1    |
                | +-----+ +-----+     +-----+ |
                | | CPU | | CPU | ... | CPU | |
                | +-----+ +-----+     +-----+ |
                | +-----+ +-----+     +-----+ |
                | | XPU | | XPU | ... | XPU | |
                | +-----+ +-----+     +-----+ |
                | +-----+ +-----+     +-----+ |
                | | XPU | | XPU | ... | XPU | |
                | +-----+ +-----+     +-----+ |
                ++----------+-----+----------++
                 |DPU/Switch|     |DPU/Switch|
                 +-----+----+     +------+---+
                       |   Global Trusted|Domain
       +---------------+-----------------+------------------+
 +-----+----+     +----+-----+       +---+------+    +------+---+
 |DPU/Switch|     |DPU/Switch|       |DPU/Switch|    |DPU/Switch|
++----------+-----+----------++     ++----------+----+----------+-+
| +-----+ +-----+     +-----+ |     | +-----+ +-----+     +-----+ |
| | CPU | | CPU | ... | CPU | |     | | CPU | | CPU | ... | CPU | |
| +-----+ +-----+     +-----+ |     | +-----+ +-----+     +-----+ |
| +-----+ +-----+     +-----+ |     | +-----+ +-----+     +-----+ |
| | XPU | | XPU | ... | XPU | |     | | XPU | | XPU | ... | XPU | |
| +-----+ +-----+     +-----+ |     | +-----+ +-----+     +-----+ |
| +-----+ +-----+     +-----+ |     | +-----+ +-----+     +-----+ |
| | XPU | | XPU | ... | XPU | |     | | XPU | | XPU | ... | XPU | |
| +-----+ +-----+     +-----+ |     | +-----+ +-----+     +-----+ |
|         Trusted Domain 2    |     |         Trusted Domain 3    |
+-----------------------------+     +-----------------------------+


]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="requirement-summary">
      <name>Requirement Summary</name>
      <t>Based on the above use cases, the requirements for a general and flexible stateless encryption scheme are as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Support entities within a trust group to share the same master key;</t>
        </li>
        <li>
          <t>Master key supports multi-level combination design. In a trust group, the master key is composed of multiple root keys of different types and levels, such as trust region root key, user group root key, task group root key, etc. This enhances the overall security of the master key and supports fine-grained encryption traffic isolation (e.g., all entities in a trust region, entities of the same user group in a trust region, entities of the same task group in a trust region, etc.);</t>
        </li>
        <li>
          <t>Different types of root keys have different security levels and lifecycles, and corresponding key rotation mechanisms need to be defined.  The master key update will trigger the data key update;</t>
        </li>
        <li>
          <t>The key rotation of each type of root key should support multiple key rotations, such as pre_key, current_key, and next_key, to support rapid rotation while ensuring that real-time encryption and decryption are not affected;</t>
        </li>
        <li>
          <t>The key derivation of the data key is based on the master key, context, and KDF. KDF must support packet-by-packet data key calculation in most cases (except when the data key is cached in memory), which requires extremely high performance and must support cryptographically secure, hardware-concurrent high-performance algorithms;</t>
        </li>
        <li>
          <t>To support real-time derivation of the Data Key, context information and IV information need to be carried with the message. To support different scenarios and different granularities of data key calculation and encryption traffic isolation (based on stream, based on source IP, based on source ID, etc.), multiple combinations of context and IV need to be supported, and different combination algorithms need to be distinguished through specific fields in the message;</t>
        </li>
        <li>
          <t>Context information enables dynamic updates of the data key, such as carrying an epoch in the context. When the epoch changes, the data key is also refreshed accordingly;</t>
        </li>
        <li>
          <t>It is necessary to support encryption proxy capabilities across trust regions. At the edge nodes across trust regions (such as DPU, Switch, etc.), support for master keys and stateless encryption of two trust groups (one is in local trust region and the other is in global trust region) is required, and proxy conversion of message encryption and decryption between the two trust groups must be completed.</t>
        </li>
      </ul>
    </section>
    <section anchor="eesp-stateless-encryption-scheme">
      <name>EESP Stateless Encryption Scheme</name>
      <t>Stateless Encryption is designed for large-scale general-purpose computing, AI computing, and pooled networks. It addresses the challenges of storing and managing security contexts by using computation to replace storage (key derivation) and flexible encryption and decryption, thereby enabling secure communication between nodes within and across domains. Therefore, to ensure that the endpoint can perform correct encryption and decryption without the need to store and manage security contexts, the stateless encryption extension must include the necessary fields required for calculating data key and performing the follow up encryption and decryption:</t>
      <ul spacing="normal">
        <li>
          <t>Key Derivation Fields: Used to calculate the data key for data packets;</t>
        </li>
        <li>
          <t>Initial Vector Fields: Since AES-GCM is the primary data encryption algorithm, per-packet initialization vector (IV) should never be repeated for the same encryption key. A single duplicate IV can undermine the encryption of the entire stream;</t>
        </li>
        <li>
          <t>Confidentiality and integrity protection range Fields: Provide flexibility in the range of message confidentiality and integrity protection.</t>
        </li>
      </ul>
      <section anchor="master-key-management">
        <name>Master Key Management</name>
        <t>Each trust group shares a master key. The master key supports being composed of multiple root keys, including: the trust zone root key, the user group root key, and the task group root key. This mechanism enhances the overall security of the master key and supports fine-grained encryption traffic isolation. The multiple root keys that make up the group key are securely distributed by different controllers (infrastructure providers, user group administrators, task group administrators) through different controllers/KMS. An example of the data structure definition for the root key is as follows:</t>
        <artwork><![CDATA[
RootKeyStruct ::= SEQUENCE {
    root_key_id    OCTET STRING,
    root_keys_index    SEQUENCE (SIZE(3)) OF INTEGER
        root_keys_value      SEQUENCE (SIZE(3)) OF OCTET STRING 
}

]]></artwork>
        <t>Based on the trust region, use group, and task group under the trust group, the corresponding root_key_id can be found respectively. Then, within the structure corresponding to this ID, the combination of the root_keys_index and root_key_value arrays forms three sets of root_key information (pre_key, current_key, and next_key) used for key rotation. This three-key rotation ensures the timely update of the root key (when the root key is rotated, it is replaced with the latest current_key) and guarantees that real-time encryption and decryption are not affected.
The specific method for key rotation is as follows: a new next_key is generated, the original next_key is replaced with the new current_key, and the original current_key is replaced with the new pre_key.</t>
      </section>
      <section anchor="data-key-derivation-at-both-ends-of-the-communication">
        <name>Data key Derivation at Both Ends of the Communication</name>
        <t>When secure communication is required within a trust group, the source point performs the following processing:</t>
        <ul spacing="normal">
          <li>
            <t>data key derivation:
            </t>
            <ul spacing="normal">
              <li>
                <t>Obtain the master key: Based on the trust group information, combine the relevant root keys (e.g., through XOR calculation) to derive it;</t>
              </li>
              <li>
                <t>Calculate the context information: Based on the source point IP/ID, or connection ID, etc., along with Epoch, the context is calculated using a specific algorithm. Using the source point IP/ID to calculate the context ensures that different secure sessions at the destination point have different data keys, thereby preventing the compromise of encryption security that could occur if different sessions had the same data key and the IV was also the same;</t>
              </li>
              <li>
                <t>Execute KDF to derive the data key: use the aforementioned master key and context as inputs to the KDF;</t>
              </li>
            </ul>
          </li>
          <li>
            <t>IV Calculation: Based on the source point IP/ID or connection ID, along with Epoch, random numbers, and counters, the IV is computed using a specific algorithm;</t>
          </li>
          <li>
            <t>Determine the scope of confidentiality and integrity protection: COffset and IOffset respectively;</t>
          </li>
          <li>
            <t>Encrypt the message using the data key and IV, and construct the security header: The security header field contains all the information mentioned above. The example diagram is as follows:</t>
          </li>
        </ul>
        <figure anchor="fig-ipsecme-eesp-stateless-security-header">
          <name>Example of the Security Header Format for Stateless Encryption</name>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|    HL |   V   |    Reserve    |   COffset     |IOffset|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 DeviceID/ConnectionID (4B-8B)                 |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Master Key Options (variable, optional)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Epoch             |             Counter           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <figure anchor="fig-ipsecme-eesp-stateless-security-header-option">
          <name>Example of the Master Key Option of Security Header Format for Stateless Encryption</name>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Option Type  | Option Length |Root Key Index |   Padding     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
|                   Root Key ID (16B-32B)                       |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Correspondingly, the destination node is processed as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Read the security header: Obtain all parameters required for key derivation;</t>
          </li>
          <li>
            <t>Data key derivation：
            </t>
            <ul spacing="normal">
              <li>
                <t>Obtain the master key: Based on the master key option in the security header, combine the relevant root keys (e.g., through XOR calculation) to obtain it;</t>
              </li>
              <li>
                <t>Calculate the context information: Based on the source point IP/ID or connection ID in the security header, along with Epoch, compute the context using a specific algorithm;</t>
              </li>
              <li>
                <t>Execute KDF to derive the data key: use the aforementioned master key and context as inputs to the KDF;</t>
              </li>
            </ul>
          </li>
          <li>
            <t>IV Calculation: Based on the source point IP/ID in the security header, or connection ID, etc., along with Epoch, random numbers, and counters, the IV is calculated according to a specific algorithm;</t>
          </li>
          <li>
            <t>Determine the scope of confidentiality and integrity protection: COffset and IOffset respectively;</t>
          </li>
          <li>
            <t>Decrypt the message using the data key and IV.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <ul spacing="normal">
        <li>
          <t>A highly secure control plane is required to ensure that the master keys managed by users/systems are not leaked or lost;</t>
        </li>
        <li>
          <t>The control channel establishment phase requires two-way authentication and authorization to ensure the integrity and confidentiality of the master key during the master key distribution phase. At the same time, it ensures that the group master key is only distributed to the corresponding group members;</t>
        </li>
        <li>
          <t>The endpoint requires secure storage of the master key and data key locally;</t>
        </li>
        <li>
          <t>The key derivation process must ensure that the data keys calculated by cryptographic engines on different entities are unique. This means that the input for key derivation must include a unique ID to prevent two cryptographic engines from using the same data key;</t>
        </li>
        <li>
          <t>It is necessary to ensure that IVs  are not reused. Under the same data key, the construction of IVs must guarantee that they are not repeated;</t>
        </li>
        <li>
          <t>The update cycle of the master key should be determined based on the actual number of derived data keys to be generated.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="PSP" target="https://github.com/google/psp/blob/main/doc/PSP_Arch_Spec.pdf">
        <front>
          <title>PSP Architecture Specification</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="UEC_TSS" target="https://ultraethernet.org/wp-content/uploads/sites/20/2025/06/UE-Specification-6.11.25.pdf">
        <front>
          <title>Ultra Ethernet Specification v1.0</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="I-D.ietf-ipsecme-eesp" target="https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-eesp-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ipsecme-eesp.xml">
        <front>
          <title>Enhanced Encapsulating Security Payload (EESP)</title>
          <author fullname="Steffen Klassert"/>
          <author fullname="Antony Antony"/>
          <author fullname="Christian Hopps"/>
          <date day="19" month="October" year="2025"/>
          <abstract>
            <t>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.</t>
            <t>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"/>
      </reference>
      <reference anchor="I-D.ietf-ipsecme-eesp-ikev2" target="https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-eesp-ikev2-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ipsecme-eesp-ikev2.xml">
        <front>
          <title>IKEv2 negotiation for Enhanced Encapsulating Security Payload (EESP)</title>
          <author fullname="Steffen Klassert" initials="S." surname="Klassert">
            <organization>secunet Security Networks AG</organization>
          </author>
          <author fullname="Antony Antony" initials="A." surname="Antony">
            <organization>secunet Security Networks AG</organization>
          </author>
          <author fullname="Tobias Brunner" initials="T." surname="Brunner">
            <organization>codelabs GmbH</organization>
          </author>
          <author fullname="Valery Smyslov" initials="V." surname="Smyslov">
            <organization>ELVIS-PLUS</organization>
          </author>
          <date day="16" month="September" year="2025"/>
          <abstract>
            <t>This document specfies how to negotiate the use of the Enhanced Encapsulating Security Payload (EESP) protocol using the Internet Key Exchange protocol version 2 (IKEv2). The EESP protocol, which is defined in draft-klassert-ipsecme-eesp, provides the same security services as Encapsulating Security Payload (ESP), but has richer functionality and provides better performance in specific circumstances. This document specifies negotiation of version 0 of EESP.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ipsecme-eesp-ikev2-01"/>
      </reference>
    </references>
    <?line 335?>



  </back>
  <!-- ##markdown-source:
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
vTMVe/4P0GFPzAhcAAA=

-->

</rfc>
