Internet DRAFT - draft-mglt-ipsecme-ikev2-diet-esp-extension

draft-mglt-ipsecme-ikev2-diet-esp-extension







IPsecme                                                       D. Migault
Internet-Draft                                                  Ericsson
Intended status: Standards Track                             T. Guggemos
Expires: 30 December 2023                                            LMU
                                                             D. Schinazi
                                                              Google LLC
                                                            28 June 2023


  Internet Key Exchange version 2 (IKEv2) extension for the ESP Header
                           Compression (EHC)
             draft-mglt-ipsecme-ikev2-diet-esp-extension-03

Abstract

   This document describes an IKEv2 extension of for the ESP Header
   Compression (EHC) to agree on a specific ESP Header Compression (EHC)
   Context.

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 30 December 2023.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.











Migault, et al.         Expires 30 December 2023                [Page 1]

Internet-Draft                EHC extension                    June 2023


   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.

Table of Contents

   1.  Requirements notation . . . . . . . . . . . . . . . . . . . .   2
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Protocol Overview . . . . . . . . . . . . . . . . . . . . . .   2
   4.  EHC_SUPPORTED and EHC_UNACCEPTABLE_PARAMETER Notify
           Payload . . . . . . . . . . . . . . . . . . . . . . . . .   5
   5.  Parameters  . . . . . . . . . . . . . . . . . . . . . . . . .   5
   6.  IANA section  . . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Requirements notation

   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.

2.  Introduction

   ESP Header Compression (EHC) [I-D.mglt-ipsecme-diet-esp] reduces the
   ESP overhead by compressing the ESP and other fields of the protected
   packet.  EHC takes an EHC Context defined for each Security
   Association (SA).  The EHC Context contains some parameters that have
   already been agreed during the negotiation of the SA via IKEv2.  This
   extension enable the remaining parameters to be agreed via IKEv2.

3.  Protocol Overview

   As depicted in Figure 1, an initiator willing to apply EHC notify its
   peer with a EHC_SUPPORTED Notify Payload in its IKE_AUTH and
   CREATE_CHILD_SA exchange.  The EHC_SUPPORTED contains a list of
   Proposals payload which each contains some Parameter payloads that
   describes the acceptable values for the parameters of the EHC
   Context.  Multiple Proposals are especially expected to enable



Migault, et al.         Expires 30 December 2023                [Page 2]

Internet-Draft                EHC extension                    June 2023


   multiple ECH Context to be defined and enable the initiator that
   organize subsets of parameters.

   A Proposal is associated to an EHC Context specified with the
   ehc_context_id parameter.  A Proposal MAY have multiple
   ehc_context_id parameters.  In the absence of ehc_context_id
   parameter, the ehc_context_id parameter is assumed to "Diet-ESP".  A
   Proposal contains all acceptable values associated to the EHC Context
   designated by ehc_context_id (including the default value).  When
   unspecified, the initiator indicates that all possible values are
   acceptable.  The absence of Proposal is considered as an empty
   Proposal.  An empty Proposal is considered as a Proposal associated
   to the Diet-ESP EHC Context with where the parameters of the EHC
   Context can take any value.  Figure 1 depicts the example where where
   n Proposal are sent, each containing a set of parameters.

   Upon receiving a EHC_SUPPORTED from the initiator, the responder look
   the various Proposals.  In the absence of Proposal, the responder
   assumes the ehc_context_id parameter is set to "Diet-ESP" with all
   possible values for the Diet-ESP EHC being acceptable to the
   initiator.  If one or more Proposal are present.  For each Proposal,
   the responder looks for the ehc_context_id parameter.  In the absence
   of such attribute the responder assumes ehc_context_id is set to
   "Diet-ESP".  If the presence of one or multiple ehc_context_id
   parameters, the responder ignores the values it does not support.
   When an ehc_context_id is supported, the responder looks for the
   parameters associated to the EHC Context designated by
   ehc_context_id.  The responder MUST understand the parameter
   associated to the EHC Context it supports, and ignore those of EHC
   Context it does not support.  Depending on the responder's policy the
   responder keeps the acceptable Proposal and discard those that are
   not.

   From the set of acceptable proposal, the responder determine a proper
   EHC Context.  The responder MUST explicitly indicate the
   ehc_context_id parameter with all parameter associated to that EHC
   Context.

   If none of the ehc_context_id parameter provided are supported, the
   responder SHOULD send a EHC_UNSUPPORTED_PARAMETER.  Figure 1 depicts
   the responder selecting an EHC Context set designated as "Diet-ESP"
   with the selected_param_a, ..., selected_param_m.









Migault, et al.         Expires 30 December 2023                [Page 3]

Internet-Draft                EHC extension                    June 2023


    Initiator                         Responder
    -------------------------------------------------------------------
    HDR, SA, KEi, Ni -->
                                 <-- HDR, SA, KEr, Nr
    HDR, SK {IDi, AUTH,
         SA, TSi, TSr,
         N(EHC_SUPPORTED
             Proposal_1
               param_a
               ...
               param_i
             ...
             Proposal_n
               param_a
               ...
               param_j)
                                 <-- HDR, SK {IDr, AUTH,
                                          SA, TSi, TSr,
                                          N(EHC_SUPPORTED
                                            ehc_context_id = "Diet-ESP"
                                            selected_param_a
                                            ...
                                            selected_param_m )

     Figure 1: Diet-ESP parameters agreed via the EHC_SUPPORTED Notify
                                  exchange

   Currently, Diet-ESP [I-D.mglt-ipsecme-diet-esp] is the only defined
   EHC Context, but additional EHC Context may be defined in the future.

   [I-D.mglt-ipsecme-diet-esp] defines the parameters associated to the
   Diet-ESP EHC Context.  Figure 2 describes the parameters agreed by
   the EHC_SUPPORTED for Diet-ESP are mentioned below with the possible
   values and the default values indicated with an (*).

             +===================+==========================+
             | EHC Context       | Possible Values          |
             +===================+==========================+
             | ehc_context_id    | "Diet ESP"*              |
             | alignment         | "8 bit", "32 bit"*       |
             | esp_spi_lsb       | 0, 1, 2, 3, 4*           |
             | esp_sn_lsb        | 0, 1, 2, 3, 4*           |
             | ts_flow_label     | True*, False             |
             +-------------------+--------------------------+

     Figure 2: Diet-ESP parameters agreed via the EHC_SUPPORTED Notify
                                  exchange




Migault, et al.         Expires 30 December 2023                [Page 4]

Internet-Draft                EHC extension                    June 2023


4.  EHC_SUPPORTED and EHC_UNACCEPTABLE_PARAMETER Notify Payload

   Figure 3 describes the EHC_SUPPORTED and EHC_UNACCEPTABLE_PARAMETER
   Notify Payload.

                            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    |      Notify Message Type      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Figure 3: Notify Payload

   The fields Next Payload, Critical Bit, RESERVED, and Payload Length
   are defined in section 3.10 of [RFC7296].

   Protocol ID (1 octet):  set to zero.  SPI Size (1 octet):

      set to zero.  Notify Message Type (2 octets):

      Specifies the type of notification message.  It is set to TBA1 for
      EHC_SUPPORTED and TBA2 for EHC_UNACCEPTABLE_PARAMETER

   When sent by the Initiator, the initiator contains a list of Proposal
   payload described by Figure 4.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Proposal Length         |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
     |                          Proposal Data                        |
     ~                                                               ~
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Figure 4: Proposal Payload

   Proposal Length (2 octets):  The length in octet of the Proposal Data
      Proposal Data: A Proposal contains a set of parameters that are
      represented via Transform Attribute format [RFC7296],
      Section 3.3.5 and detailed further in as described in Section 5.

5.  Parameters

   Parameters follow the same format as the Transform Attribute
   [RFC7296], Section 3.3.5 reminded for convenience by



Migault, et al.         Expires 30 December 2023                [Page 5]

Internet-Draft                EHC extension                    June 2023


      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |A|       Attribute Type        |    AF=0  Attribute Length     |
     |F|                             |    AF=1  Attribute Value      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                   AF=0  Attribute Data                        |
     |                   AF=1  Not Transmitted                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 5: Transform Attribute Payload

   For all parameter described in Figure 2, AF=1 and the Attribute Type
   constitutes the Parameter Code Point whose values are provided in
   Figure 6.  When AF=1, The Attribute Value constitutes the Parameter
   Value and when AF=0, the Attribute Length constitutes the Parameter
   Value.

           ----------------------------------------------------
            Parameter Code Point | Designation      | Reference
           ----------------------------------------------------
             0                   |  ehc_context_id  | ThisRFC
             1                   |  alignment       | ThisRFC
             2                   |  esp_spi_lsb     | ThisRFC
             3                   |  esp_sn_lsb      | ThisRFC
             4                   |  ts_flow_label   | ThisRFC
             0 - 2 ** 15 - 1     |  unallocated     |
           ----------------------------------------------------

     Figure 6: Parameter Code Point Registry - The cod epoint is coded
                                over 15 bits

   For the ehc_context_id, the Parameter Value designates the EHC
   Context being negotiated.  The description of such context must be
   defined.  Currently only the Diet-ESP profile has been defined in
   [I-D.mglt-ipsecme-diet-esp].

 ----------------------------------------------------------------------
 EHC Context      | Designation | Reference | EHC Context
 Identifier Value |             |           | Reference
 ----------------------------------------------------------------------
   0              | Diet-ESP    | ThisRFC   | I-D.mglt-ipsecme-diet-esp
   1 - 2 ** 16 -1 | unallocated |           |
 -----------------------------------------------------------------------

                    Figure 7: EHC Context Identifier






Migault, et al.         Expires 30 December 2023                [Page 6]

Internet-Draft                EHC extension                    June 2023


   The alignment, esp_spi_lsb, esp_sn_lsb and ts_flow_label have a
   similar construction for there respective 16 bit Parameter Value.
   Each possible value is indicated by a bit.  All other bits MUST be
   set to zero by the sender and MUST be ignored by the receiver.  The
   initiator MAY set the a value is acceptable by setting the
   corresponding bit of that value.  Multiple bits MAY be set.  The
   responder MUST select a single bit.

   For the alignment parameters, the first right most bit indicates an
   32 bit alignment, the second right most bit indicates an 8 bit
   alignment.

   For the esp_spi_lsb and esp_sn_lsb, the right most bit indicates a 4
   byte LSB, the second right most bit indicates a 3 byte LSB, the third
   right most byte indicates a 2 byte LSB and the fourth right most bit
   indicates a 1 byte LSB.

   For the alignment and the ts_flow_label parameters, the first right
   most bit indicates the value "True", the second right most bit
   indicates the value "False".

6.  IANA section

   This specification requests the IANA to create EHC Context Parameter
   Code Point registry ( see Figure 6) as well as a EHC Context
   Identifier registry (see Figure 7).  Both registries are
   "Specification Required".

7.  References

7.1.  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>.

7.2.  Informative References




Migault, et al.         Expires 30 December 2023                [Page 7]

Internet-Draft                EHC extension                    June 2023


   [I-D.mglt-ipsecme-diet-esp]
              Migault, D., Guggemos, T., Bormann, C., and D. Schinazi,
              "ESP Header Compression Profile", Work in Progress,
              Internet-Draft, draft-mglt-ipsecme-diet-esp-09, 28 June
              2023, <https://datatracker.ietf.org/api/v1/doc/document/
              draft-mglt-ipsecme-diet-esp/>.

Authors' Addresses

   Daniel Migault
   Ericsson
   Email: daniel.migault@ericsson.com


   Tobias Guggemos
   LMU
   Email: guggemos@nm.ifi.lmu.de


   David Schinazi
   Google LLC
   Email: dschinazi.ietf@gmail.com





























Migault, et al.         Expires 30 December 2023                [Page 8]