<?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-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.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-00"/>
    <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="July" day="03"/>
    <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>
        <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 nodes within a trusted trust domain to share the same master key;</t>
        </li>
        <li>
          <t>Master key supports multi-level combination design. In a trust domain, the master key is composed of multiple root keys of different types and levels, such as trust domain root key, tenant 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 nodes in a trust domain, nodes of the same tenant in a trust domain, nodes of the same computing task in a trust domain, 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 domains. At the edge nodes across trust domains (such as DPU, Switch, etc.), support for master keys and stateless encryption of two trust domains (local trust domain and global trust domain) is required, and proxy conversion of message encryption and decryption between the two trust domains must be completed.</t>
        </li>
      </ul>
    </section>
    <section anchor="eesp-stateless-encryption-scheme">
      <name>EESP Stateless Encryption Scheme</name>
      <t>TBD.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </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-00" 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" 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="Christian Hopps" initials="C." surname="Hopps">
            <organization>LabN Consulting, L.L.C.</organization>
          </author>
          <date day="30" month="April" 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. EESP adds Session IDs (e.g., to support CPU pinning), 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 (e.g., for CPU pinning and QoS support), 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-00"/>
      </reference>
      <reference anchor="I-D.ietf-ipsecme-eesp-ikev2" target="https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-eesp-ikev2-00" 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="13" month="May" 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-00"/>
      </reference>
    </references>
    <?line 254?>



  </back>
  <!-- ##markdown-source:
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
noNx2Di/Dh5fh5YDRtLQcsiQ/k1LHw//6Tn+F95CDwSHb83sI7VLxx/sW/PF
mQWXcds0OSK7CMOm77ZSphE9YT+3F4TYxNwbWkfR92G7yXZQm2tSNinpXIa0
rYMvvrNkUgnaTe0P2+acuBs6uUqFLbhNn8H3zTptVuq/7Ouyvow6LbnmctCq
zioZZ+LeXgGd+aaZvVJp0iPea1psNyWI9eZyCt2kI4DURS6VqnZcEaIr97a8
NoeCe/7GZIcWvxvHiZwu/gUDXN/Za/zBoKgS1xAR9g8rbGNBmSttQffXNVx7
zYCGHZ1LmoGAfAZpWwA04lp15hqhkY3c5pSdcEfa9o8l5qi1gUITxTv2ENHP
SLKXPfYCTMt+czM3vKPlWGH5b0Uh5yJZJ5lw7exElUiwC2U78MSlUtlLiu2V
CN10xGfNS4gRc+8TGu7ajrG9j1KVcrEQZbfjYxcQEbSzcxSoEBy6QTSFJPVv
rzUqF+4OFKsoxS9GSUA4seCXJkvPkUjbp+CKXckLmbZYPCzpFjT9QYpryfHK
3MGJ6Q7O/rtyxpjbVr5IQxJNc6ohssMPqfddtxr61N/i/uPlDyP64fqXDnnb
zY9n69j39T3gsJ0NXVopXblrnk/Fx0QUFSh11+xCZBJIQKRmh7lJ1txsdQ4P
BvexIr+HaobuhXcuFZnuXIie4Y6CgRVLVwHZZuGwubBGf3fg5LR9h51nCwXd
Xa604WYgs0Yg26w1bzF+DPjHmr8XcVK7ftcZCvQ64WUp8dRcv1/Bc/MFNV/b
wwPbalqj3RoQBOfgPVCX1jp3SsV08g/6nEYzNFjOV8NWVbR/+bFj7NJ5imFr
KYGrN/h4zjhuBBxwRPo7ZC1NYbRo5dJxCvYicC31MnhnpN3fjNiXMs1NYMfY
l/Yl0paYwFdET+2LZ+c2dN98WqMnya3tu0RmXk/5g5rG73uv7naa3NrCR/PQ
AkxjoRRz6DrRwRN4R/KLmQmq1+bNEYpzwr9ch44kkGVRqo8k7IKbP24gLeBJ
qXQ36vm3C0AppY66CQm71rGnnkwUGUNmq4xGyv58d+24udhuIt2u9IOY+KD6
R2QqoZuG/Re5C1uihePPwutxVk8cwSqn10HuDCfiAz4zvOu7jZF/e2TvvdPN
YsrX9v49pPtjy+j2+0t70bv520p6SylTaryQ/kftiuvzN+f7ZpGXmr+FoSbL
/wHYSO8A6DkAAA==

-->

</rfc>
