IPSECME Working Group S. Kampati Internet-Draft W. Pan Intended status: Standards Track Huawei Expires: 13 January5,2022 M. Bharath Mavenir M. Chen CMCC 12 July04,2021 IKEv2 Optional SA&TS Payloads in Child Exchangedraft-kampati-ipsecme-ikev2-sa-ts-payloads-opt-05draft-kampati-ipsecme-ikev2-sa-ts-payloads-opt-06 Abstract This document describes a method for reducing the size of the Internet Key Exchange version 2 (IKEv2) CREATE_CHILD_SA exchangesat time ofused for rekeying of the IKESAs andor ChildSAsSA byremoving or making optional ofreplacing the SA&and TSpayloads.payloads with a Notify Message payload. Reducing size and complexity of IKEv2 exchanges isdesirableespecially useful for low power consumption battery powered devices.It also helps to avoid IP fragmentation of IKEv2 messages.Status of This Memo 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 13 January5,2022. Copyright Notice Copyright (c) 2021 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)(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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 3.Protocol DetailsNegotiation of Support for OPTIMIZED REKEY . . . . . . . . . 3 4. Optimized Rekey of the IKE SA . . . . . . . . . . . . .3 3.1. Negotiation. . . 4 5. Optimized Rekey ofSupport for Optimizing Payloads at Rekeying IKE SAs andChild SAs . . . . . . . . . . . . .4 3.2.. . . 5 6. PayloadOptimization at Rekeying IKE SAsFormats . . . . . . . .4 3.3. Payload Optimization at Rekeying Child SAs. . . . . . .6 4. Payload Formats. . . . . . . . 5 6.1. OPTIMIZED_REKEY_SUPPORTED Notify . . . . . . . . . . . . 5 6.2. OPTIMIZED_REKEY Notify . . .6 4.1. MINIMAL_REKEY_SUPPORTED Notification. . . . . . . . . .7 4.2. REKEY_OPTIMIZED Notification. . . . 6 7. IANA Considerations . . . . . . . . . .7 5. IANA Considerations. . . . . . . . . . . 6 8. Operational Considerations . . . . . . . . . .8 6.. . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . .8 7.7 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .8 8.7 11. Normative References . . . . . . . . . . . . . . . . . . . .87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .97 1. Introduction The Internet Key Exchange protocol version 2 (IKEv2)specified in[RFC7296] is usedin the IP Security (IPSec) architecture for the purposes ofto negotiate Security Association (SA) parametersnegotiationfor the IKE SA andauthenticated key exchange. The protocol uses UDP asthetransportChild SAs. Cryptographic key material forits messages, which size varies from less than one hundred bytes to several kilobytes. According to [RFC7296], the secret keys used by IKE/IPSecthese SAsshould be used only forhave a limitedamount of time andlifetime before it needs toprotectbe refreshed, alimited amount of data.process referred to as "rekeying". IKEv2 uses the CREATE_CHILD_SA exchange to rekey either the IKE SA or the Child SAs. When rekeying, a full set of previously negotiated parameters are exchanged. However, most of these parameters will be thelifetimesame, and some ofanthese parameters MUST be the same. For example, the Traffic Selector (TS) negotiated for the new Child SAexpires or is about to expire,MUST cover thepeers can rekeyTraffic Selectors negotiated for the old Child SA. And in practically all cases, a new Child SA would not need toreestablishcover more Traffic Selectors. In the rare case where this would be needed, a new Child SAto takecould be negotiated instead of the current Child SA being rekeyed. Similarly, IKEv2 states that the cryptographic parameters negotiated for rekeying SHOULD NOT be different. This means that theplacesecurity properties of theold one.IKE or Child SA in practise do not change during a typical rekey. This document specifies a method to omit these parameters and replace them with a single Notify Message declaring that all these parameters are identical to the originally negotiated parameters. For security gateways/ePDG in 4G networksandor cRAN/Cloud gateways in 5G networks,they willgateways typically support more than 100,000IKE/IPSECIKE/IPSec tunnels.So on an average, for every secondAt any point in time, theremaywill be hundreds or thousands of IKE SAs and Child SAs that arerekeying.being rekeyed. This takeshugea large amount ofbandwidth, packet fragmentationbandwidth andmore processing resources. For these devices, these problems can be solved by introducing the solution described in this document. This is also usefulCPU power and any protocol simplification or bandwidth reducing would result in an significant resource saving. For Internet of Things (IoT) devices whichutilizing lowerutilize low power consumptiontechnology. For these devices,technology, reducing thelengthsize ofIKE/Child SA rekeying messages can saverekey exchange reduces its power consumption, as sending bytes over thebandwidth consumption. Atair is usually thesame time, it canmost power consuming operation of such a device. Reducing the CPU operations required to verify the rekey exchanges parameters will also save power and extend thecomputing processes by less payload are included. Most devices don't prefer to change cryptographic suites frequently. By taking this advantagelifetime for these devices. When using identical parameters during the IKE or Child SA rekey, the SA and TS payloads can bemade optional at the time of rekeyingomitted. For an IKESAs and Child SAs. In such situation,SA rekey, instead of the (large) SA payload, only a Key Exchange (KE) payload and a new Notify Type payload with the new SPIvalueisneeded to createrequired. For a Child SA payload, instead of thenew IKESA or TS payloads, only an optional Nonce payload (when using PFS) andChild SA. Soa new Notify Type payloadwhich containswith theneedednew SPIvalue can be sent instead ofis needed. This makes theSArekey exchange packets much smaller andTS payloads. In case of rekeying IKE SAs,theSA payloads can be optimized if there is no change of cryptographic suites. In case of rekeying Child SAs,peers do not need to verify that the SAandor TSpayloads can be optimized if there is no change of cryptographic suites and ACL configuration.parameters are compatible with the old SA. 2. Conventions Used in This Document 2.1. Requirements Language 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. 3.Protocol Details This section provides protocol details and contains the normative parts. Before using this new optimization, the IPSec implementation who supports it has to know that the peer also supports it. Without the support on both sides, the optimized rekeying messages sent by one peer may be unrecognizableNegotiation of Support forthe other peer.OPTIMIZED REKEY Toprevent this failure from happening, the first step is to negotiate theindicate supportof this optimization between the two peers. There are two specific rekeying SAs cases: rekeying IKE SAs and rekeying Child SAs. Afterfor the optimized rekey negotiation, the initiatorcan optimizeincludes therekeying message payloadsOPTIMIZED_REKEY_SUPPORTED Notify payload inboth cases. In other words, oncethenegotiation of support for optimizing payloads at rekeying IKE SAs and Child SAs is complete, both IKE SAs and Child SAs rekeying are supported by the two sides. TheIKE_AUTH exchange request. A respondercan react based onthat supports thereceived rekeying message. 3.1. Negotiation of Support for Optimizing Payloads at Rekeying IKE SAs and Child SAs The initiator indicatesoptimized rekey exchange includes the OPTIMIZED_REKEY_SUPPORTED Notify payload in its response. Note that the notify indicates support foroptimizing payloads at rekeyingoptimized rekey for both IKESAsand ChildSAs by includingSAs. When aNotify payload of type MINIMAL_REKEY_SUPPORTED in the IKE_AUTH request message. By observing the MINIMAL_REKEY_SUPPORTED notification in the received message, the responder can deduce the initiator's support of this extension. If the responder also supports this extension,peer wishes to rekey an IKE SA or Child SA, itincludes the MINIMAL_REKEY_SUPPORTED notification inMAY use thecorresponding response message. After receivingoptimized rekey method during theresponse message,CREATE_CHILD_SA exchange. A responder MUST accept that the initiatorcan also know the support of this extension of the responder side.uses a regular or optimized rekey. The IKE_AUTH message exchange in this case is shown below: Initiator Responder -------------------------------------------------------------------- HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,] AUTH, SAi2, TSi, TSr,N(MINIMAL_REKEY_SUPPORTED)}N(OPTIMIZED_REKEY_SUPPORTED)} --> <-- HDR, SK {IDr, [CERT,] AUTH, SAr2, TSi, TSr,N(MINIMAL_REKEY_SUPPORTED)}N(OPTIMIZED_REKEY_SUPPORTED)} If the responderdoesn'tdoes not support this extension, as per regular IKEv2 processing, it MUST ignore theMINIMAL_REKEY_SUPPORTED notification sent by theunknown Notify payload. The initiatorand MUST NOT respond error to the initiator. With no MINIMAL_REKEY_SUPPORTED notification in the response message,will notice theinitiator can deduce thatlack of theresponder doesn't support this extension. In this case,OPTIMIZED_REKEY_SUPPORTED Notify in theIKE SAsreply andChild SAs rekeyings happen asthus know it cannot use theusual way withoutoptimized rekey method. 4. Optimized Rekey of theoptimizations defined in this document. The IKE_AUTH message exchange in this case is shown below: Initiator Responder -------------------------------------------------------------------- HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,] AUTH, SAi2, TSi, TSr, N(MINIMAL_REKEY_SUPPORTED)} --> <-- HDR, SK {IDr, [CERT,] AUTH, SAr2, TSi, TSr} 3.2. Payload Optimization at RekeyingIKESAsSA Thepayload optimization at rekeying IKE SAs MUST NOT be used unless both peers have indicated their support of this extension by using the negotiation method described in Section 3.1. At the timeinitiator ofrekeyinganIKE SA, when the initiator determines there is no change on its cryptographic suites since this IKE SA was created or last rekeyed, it MUST send the REKEY_OPTIMIZED notificationoptimized rekey request sends a CREATE_CHILD_SA payloadinstead of the SA payloads inwith therekeying request message. In this REKEY_OPTIMIZED notification, it containsOPTIMIZED_REKEY notify payload containing theinitiator'snew Security Parameter Index (SPI)usedforcreatingthe new IKE SA.After receiving the initiator's rekeying request message withIt omits theREKEY_OPTIMIZED notification and noSApayloads, the responder knows that the initiator wants to optimize the rekeyingpayload.Then when it determines that there is also no change in its cryptographic suites, theThe responderMUST send the rekeying respond message to the initiator with the REKEY_OPTIMIZED notification payload insteadof an optimized rekey request performs theSA payloads. In this REKEY_OPTIMIZED notification, it contains the responder's new SPI used for creatingsame process. It includes the OPTIMIZED_REKEY notify with its new IKESA. According to the initiator's newSPI and omits theresponder's new SPI, the initiatorSA payload. Both parties send Nonce andthe responder can rekey theKE payloads just as they would do for a regular IKE SAon both sides.rekey. The CREATE_CHILD_SA message exchange in this case is shown below: Initiator Responder -------------------------------------------------------------------- HDR, SK{N(REKEY_OPTIMIZED),{N(OPTIMIZED_REKEY), Ni, KEi} --> <-- HDR, SK{N(REKEY_OPTIMIZED),{N(OPTIMIZED_REKEY), Nr, KEr} 5. Optimized Rekey of Child SAs The initiator of an optimized rekey request sends aREKEY_OPTIMIZED notification payload, a NonceCREATE_CHILD_SA payloadand a Diffie-Hellman value in the KEi payload. A new initiator SPI is supplied inwith theSPI field ofOPTIMIZED_REKEY notify payload containing theREKEY_OPTIMIZED notification payload. These messages also follownew Security Parameter Index (SPI) for theoriginal Perfect Forwarding Secrecy (PFS) withnew Child SA. It omits thesignatureSA andencryption algorithms used as last message. The responder replies (usingTS payloads. If thesame Message ID to respond)current Child SA was negotiated with Perfect Forward Secrecy (PFS), aREKEY_OPTIMIZED notification payload, a NonceKEi payloadand a Diffie- Hellman value in the KEr payload. A new responder SPI is supplied in the SPI field of the REKEY_OPTIMIZED notification payload. This REKEY_OPTIMIZED notificationMUST be includedin a CREATE_CHILD_SA exchange message when there isas well. If noSA payloads included. When the REKEY_OPTIMIZED notification payload is included,PFS was negotiated for theSAcurrent Child SA, a KEi payload MUST NOT be included.3.3. Payload Optimization at Rekeying Child SAsThepayload optimization at rekeying Child SAs MUST NOT be used unless both peers have indicated their supportresponder ofthis extension by using the negotiation method described in Section 3.1. Atan optimized rekey request performs thetime of rekeying a Child SA, whensame process. It includes theinitiator determines there is no change inOPTIMIZED_REKEY notify with itscryptographic suitesnew IKE SPI andACL configuration since this Child SA was created or last rekeyed, it MUST send the REKEY_OPTIMIZED notification payload instead ofomits the SA and TSpayloads in the rekeying request message. In this REKEY_OPTIMIZED notification, it containspayloads. Depending on theinitiator's new Security Parameter Index (SPI) used for creatingPFS negotiation of thenewcurrent ChildSA. After receiving the initiator's rekeying request message with the REKEY_OPTIMIZED notification and no SA and TS payloads,SA, the responderknows that the initiator wants to optimize the rekeyingincludes a KEr payload.Then when it determines that there is also no change in its cryptographic suites and ACL configuration, the responder MUSTBoth parties sendthe rekeying respond message to the initiator with the REKEY_OPTIMIZED notification payload instead of the SA and TS payloads. In this REKEY_OPTIMIZED notification, it contains the responder's new SPI usedNonce payloads just as they would do forcreating the newa regular ChildSA. According toSA rekey. Using the received oldSPIs included inSPI from the REKEY_SApayloadspayload and the newSPIs included in the REKEY_OPTIMIZED payloads, the initiator andSPI received from theresponderOPTIMIZED_REKEY payload, both parties canrekeyperform the Child SAon both sides.rekey operation. The CREATE_CHILD_SA message exchange in this case is shown below: Initiator Responder -------------------------------------------------------------------- HDR, SK {N(REKEY_SA),N(REKEY_OPTIMIZED),N(OPTIMIZED_REKEY), Ni, [KEi,]} --> <-- HDR, SK{N(REKEY_OPTIMIZED),{N(OPTIMIZED_REKEY), Nr, [KEr,]}This REKEY_OPTIMIZED notification MUST be included in a CREATE_CHILD_SA exchange message when there is no SA and TS payloads included at the time of rekeying Child SAs. When the REKEY_OPTIMIZED notification payload is included, the SA and TS payloads MUST NOT be included. 4.6. Payload Formats4.1. MINIMAL_REKEY_SUPPORTED Notification6.1. OPTIMIZED_REKEY_SUPPORTED Notify TheMINIMAL_REKEY_SUPPORTEDOPTIMIZED_REKEY_SUPPORTED Notify Message type notification is used by the initiator and responder toinformindicate theirability of optimizing payloads at the time of rekeying IKE SAs and Child SAs tosupport for thepeers. It is formatted as follows:optimized rekey negotiation. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Payload |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Protocol ID(=0)| SPI Size (=0) | Notify Message Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+o* Protocol ID (1 octet) - MUST be 0.o* SPI Size (1 octet) - MUST be 0, meaning no SPI is present.o* Notify Message Type (2 octets) - MUST be<Needset toget value from IANA>,the valueassigned for the MINIMAL_REKEY_SUPPORTED notification.[TBD1]. ThisnotificationNotify Message type contains no data.4.2. REKEY_OPTIMIZED Notification6.2. OPTIMIZED_REKEY Notify TheREKEY_OPTIMIZED notificationOPTIMIZED_REKEY Notify Message type is used toreplace the SA payloads at the time of rekeyingperform an optimized IKESAs when there is no change of cryptographic suites in initiator and responder, and to replace theSApayloads and TS payloads at the time of rekeyingor ChildSAs when there is no change of cryptographic suites and ACL configuration in initiator and responder. It is formatted as follows:SA rekey. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Payload |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Protocol ID | SPI Size (=8) | Notify Message Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameter Index (SPI) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+o* Protocol ID (1 octet) - MUST be 1.o* SPI Size (1 octet) - MUST be 8 whenused at the time ofrekeying an IKESAs andSA. MUST be 4 whenused at the time ofrekeying a ChildSAs. oSA. * Notify Message Type (2 octets) - MUST be<Needset toget value from IANA>,the valueassigned for the REKEY_OPTIMIZED notification. o[TBD2]. * SPI (4 octets or 8 octets) - Security Parameter Index. Theinitiator sends initiator SPI. The responder sends responderpeer's new SPI.5.7. IANA Considerations This document defines two new Notify Message Types in the "IKEv2 Notify Message Types - Status Types" registry. IANA is requested to assign codepoints in this registry. NOTIFY messages: status types Value ----------------------------------------------------------MINIMAL_REKEY_SUPPORTED TBD REKEY_OPTIMIZED TBD 6. SecurityOPTIMIZED_REKEY_SUPPORTED TBD1 OPTIMIZED_REKEY TBD2 8. Operational ConsiderationsWhen using the payload optimization definedSome implementations allow sending rekey messages with a different set of Traffic Selectors or cryptographic parameters in response to a configuration update. IKEv2 states thisdocument, theSHOULD NOT be done. Whether or not optimized rekeyingof IKE SAs and Child SAs are using the same cryptographic suites. Ifis used, a configuration change that changestotheconfigurations are wanted, such as supporting a newTraffic Selectors or cryptographicalgorithm,parameters MUST NOT use therekeying won't apply these changes. The initiator or responder should startoptimized rekey method. It SHOULD also not use a regular rekey method but instead start an entire new IKESA orand Child SAto applynegotiation with the newchanges. 7.parameters. 9. Security Considerations The optimized rekey removes sending unnecessary new parameters that originally would have to be validated against the original parameters. In that sense, this optimization enhances the security of the rekey process. 10. Acknowledgments Special thanks go to Paul Wouters, Valery Smyslov, and Antony Antony.8.11. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. Kivinen, "Internet Key Exchange Protocol Version 2 (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October 2014, <https://www.rfc-editor.org/info/rfc7296>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. Authors' Addresses Sandeep Kampati Huawei Technologies Divyashree Techno Park, WhitefieldBangalore, KarnatakaBangalore 560066 Karnataka India Email: sandeepkampati@huawei.com Wei Pan Huawei Technologies 101 Software Avenue, Yuhuatai DistrictNanjing, JiangsuNanjing Jiangsu, China Email: william.panwei@huawei.com Meduri S S Bharath Mavenir Systems Pvt Ltd Manyata Tech ParkBangalore,Bangalore Karnataka India Email: bharath.meduri@mavenir.com Meiling Chen China Mobile 32 Xuanwumen West Street, West DistrictBeijing,Beijing Beijing, 100053 China Email: chenmeiling@chinamobile.com