Internet-Draft | IKEv2 for PSP Key Management | October 2025 |
Smyslov | Expires 19 April 2026 | [Page] |
This document specifies how the Internet Key Exchange Version 2 (IKEv2) protocol can be used for supplying keys for the PSP Security Protocol (PSP).¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 19 April 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) 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.¶
Internet Key Exchange Version 2 (IKEv2) protocol [RFC7296] is used in IPsec architecture [RFC4301] for the purpose SA negotiation and key management. It provides authenticated key exchange and calculates session keys for the Encapsulating Security Payload (ESP) protocol [RFC4303].¶
PSP Security Protocol (PSP) is defined in [PSP]. The protocol utilizes the concept of so called "stateless encryption" by keeping only global state for decrypting incoming packets. This concept implies that the receiving side of Security Association (SA) provides the sending side with a key at the time this SA is being created.¶
PSP is considered as an alternative for ESP for high-speed communications (e.g., inside data centers). However, IKEv2 cannot directly be used for providing keys for PSP, since the way IPsec keys are being obtained in IKEv2 implies that they are derived from the ephemeral key exchange and thus are unpredictable. This is incompatible with the way keys are used in PSP where each side must independently generate keys used for decryption for a particular SA based on some global key.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
PSP [PSP] is a security protocol created by Google for encryption on IP level. PSP was designed to address the high-speed encryption requirements of large-scale data centers. To avoid storing per-SA decryption keys on the receiver side, the decryption keys are derived from the SPI (that is present in the packet) plus a global secret known only to the receiver side.¶
PSP specification does not address key management issues. It assumes that at the time an SA is being created the sender asks the receiver to create an SA encryption key, which the receiver then somehow communicates securely to the sender.¶
IKEv2 cannot directly be used for providing keys for PSP, because its specification [RFC7296] assumes that keying material for Child SAs is derived using initial ephemeral key exchange. Thus, peers contribute to this keying material, but cannot control it and for this reason cannot provide each other with arbitrary keys.¶
On the other hand, IKEv2 extension for group key management [I-D.ietf-ipsecme-g-ikev2] does allow this functionality as it is needed for providing members of a group with identical keys. This specification re-uses the ability to download arbitrary keys in IKEv2 from [I-D.ietf-ipsecme-g-ikev2]. Note that unlike [I-D.ietf-ipsecme-g-ikev2] this specification is for unicast (peer-to-peer) communication.¶
Since both peers have to provide each other with keying material, it is not possible to do that in the IKE_AUTH exchange (as in [RFC7296]), since the initiator in this case would send its key (which is sensitive information) to the not-yet-authenticated responder. For this reason, peers MUST create IKE SA childless as specified in [RFC6023]. Once childless IKE SA is created, peers can use the modified CREATE_CHILD_SA exchange to create or rekey Child SAs utilizing PSP.¶
Peers wishing to use IKEv2 for providing keys for PSP MUST negotiate the Key Wrap Algorithm (KWA) transform (Section 4.4.2.1.2 of [I-D.ietf-ipsecme-g-ikev2]) in the IKE_SA_INIT exchange. If the initiator is not sure that the responder supports PSP and if using PSP is optional for the initiator, then the initiator MAY include two proposals into the IKE_SA_INIT request - one with the Key Wrap Algorithm transform (aiming for responders supporting PSP) and the other without it.¶
The responder supporting PSP key management, besides negotiation of the KWA transform, MUST also include the CHILDLESS_IKEV2_SUPPORTED notification (Section 4 of [RFC6023]) in the IKE_SA_INIT response.¶
Even if the KWA transform is negotiated, it does not mean that this IKE SA is for creating PSP SAs only - such an SA MAY be used for creating both ESP and PSP SAs.¶
The PSP Child SA cannot be created in the IKE_AUTH exchange. On the other hand, peers may create the ESP Child SA in this exchange if they want to. Otherwise, the IKE SA is created childless and the IKE_AUTH exchange is as defined in Section 5 of [RFC6023].¶
Modified CREATE_CHILD_SA exchange is used for creating the PSP SA. The following modifications are made.¶
Each Key Bag MUST contain exactly one SA_KEY attribute, defined in Section 4.5.2.1 of [I-D.ietf-ipsecme-g-ikev2], in which the wrapped keying material (See Section 4.5.4 of [I-D.ietf-ipsecme-g-ikev2]) for the PSP SA is provided. The Key ID and the KWK ID fields MUST be set to zero, meaning that this attribute contains the keying material for an SA and this keying material is protected with the default Key Wrap Key SK_w that is calculated as¶
SK_w = prf+(SK_d, "Key Wrap for PSP")¶
The modified CREATE_CHILD_SA exchange is shown below.¶
Initiator Responder ------------------------------------------------------------------ HDR, SK {[N(REKEY_SA),] SA, KD, TSi, TSr} ---> <--- HDR, SK {SA, KD, TSi, TSr}
The USE_TRANSPORT_MODE notification can be used in case of PSP to indicate that the PSP SA is to be created using transport mode, as with ESP.¶
The REKEY_SA notification can be present and plays the same role as with ESP SA - indicates the SA to be replaced with a newly created SA.¶
To be added.¶
This document requests IANA to make the following changes in the "Internet Key Exchange Version 2 (IKEv2) Parameters" registry group [IKEV2-IANA].¶
Create new registry "Transform Type <TBA> - PSP Parameters Transform IDs". The registration policy for this registry is Expert Review Policy [RFC8126]. The initial values of the new registry are:¶
Value PSP Parameters ------------------------------------------ 0 Reserved 1 PSP Header Version 0, AES-GCM-128 2 PSP Header Version 0, AES-GCM-256 3 PSP Header Version 0, AES-GMAC-128 4 PSP Header Version 0, AES-GMAC-256 Unassigned 5-1023 Private Use 1024-65535¶
Add new Transform Type "PSP Parameters (PSP)" in the "Transform Type Values" registry.¶
Type Description Used In --------------------------------------------------- <TBA> PSP Parameters (PSP) (PSP)¶
Add new Security Protocol Identifier in the "IKEv2 Security Protocol Identifiers" registry.¶
Protocol ID Protocol -------------------------- <TBA> PSP¶