Internet Draft                                             K. Grewal 
                                                              D. Durham 
                                                                M. Long 
   Network Working Group                              Intel Corporation 
   draft-grewal-ipsec-traffic-visibility-00.txt 
   Intended Status: Standards 
   Expires: June 2008                                      January 2008 
    
    
            Traffic visibility using IPsec ESP NULL encryption  
    
    
Status of this Memo 
    
   By submitting this Internet-Draft, each author represents that any 
   applicable patent or other IPR claims of which he or she is aware 
   have been or will be disclosed, and any of which he or she becomes 
   aware will be disclosed, in accordance with Section 6 of BCP 79. 
    
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026 [i].  
    
   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups.  Note that      
   other groups may also distribute working documents as Internet-
   Drafts. 
    
   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." 
    
   The list of current Internet-Drafts can be accessed at 
        http://www.ietf.org/ietf/1id-abstracts.txt 
   The list of Internet-Draft Shadow Directories can be accessed at 
        http://www.ietf.org/shadow.html. 
    
Copyright Notice 
 
   Copyright (C) The IETF Trust (2008). 
    
    
Abstract 
    
   This document describes leveraging UDP encapsulation for IPsec, using 
   ESP NULL encryption in order for intermediary devices to inspect the 
   IPsec packets. Currently in the IPsec standard, there is no way to 

 
 
Grewal                   Expires - July 2008                 [Page 1] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
   differentiate between ESP encryption and ESP NULL encryption by 
   simply examining a packet.  
    
    
Conventions used in this document 
    
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this 
   document are to be interpreted as described in RFC-2119 [ii]. 
    
Table of Contents 
    
   1. Introduction...................................................2 
      1.1 Applicability Statement....................................3 
   2. UDP Encapsulation of IPsec ESP.................................3 
      2.1 Extension Header...........................................4 
      2.2 Tunnel and Transport mode of considerations................5 
      2.3 Port conflicts.............................................5 
   3. IANA Considerations............................................6 
   4. Formal Syntax..................................................6 
   5. Security Considerations........................................6 
   6. References.....................................................6 
   7. Acknowledgements...............................................7 
      Author's Addresses.............................................7 
      Full Copyright Statement.......................................8 
    
    
1. Introduction 

    
   The RFCs for leveraging ESP within IPsec describes how ESP packet 
   encapsulation is performed. Other RFCs describe how ESP can be 
   leveraged using NULL encryption, while preserving data integrity and 
   authenticity. However, the exact encapsulation employed and the 
   algorithms employed are negotiated out-of-band using the Internet-
   Key-Exchange (IKE) protocol. Once the packet is formatted and sent on 
   the wire, it is infeasible to distinguish if encryption has been 
   employed or is absent (ESP-NULL) by purely examining the packet.  
   In the case of employing IPsec within the Enterprise environment, it 
   is desirable for intermediate devices (such as load balancers, 
   Intrusion Detection / Prevention Systems (IDS/IPS)) to have access to 
   the data within each packet to preserve existing critical network 
   services. In a mixed mode environment, where some packets containing 
   sensitive data may employ a given encryption cipher suite, while 
   other packets are employing ESP-NULL, the intermediate devices is 
   unable to discern which packets are leveraging ESP-NULL, hence 
   inhibiting further analysis on that packet. This document describes a 
   mechanism leveraging UDP-encapsulation of IPsec ESP packets using a 
   fixed destination port, allowing the intermediate device to 
   differentiate between encrypted data and NULL encrypted data for ESP.  
 
 
grewal                   Expires - June 2008                 [Page 2] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
    
1.1 Applicability Statement 

    
   The document is applicable to IPsec ESP only and does not describe 
   any changes to IPsec AH.  
    
    
2. UDP Encapsulation of IPsec ESP 

    
   UDP encapsulation of IPsec ESP packets is defined in RFC 3948 and 
   takes the following basic format. 
   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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |        Source Port            |      Destination Port         | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |           Length              |           Checksum            | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                      ESP header [RFC2406]                     | 
   ~                                                               ~ 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   According to RFC 3948, the source / destination port values are as 
   the same as used by IKE.   
   We extend this to include a discrete destination port (value TBD) 
   which identifies the UDP/ESP payload as accessible for intermediate 
   devices. The source UDP port must be as used by IKE and does not 
   change from the above specification. Having a reserved, unique 
   destination port to identify the payload as decipherable by 
   intermediate devices provides flexibility in adding an additional, 
   unique header following the UDP header which allows the intermediate 
   device to parse the packet according to additional hints on how the 
   packet has been encoded. This is needed to pass information within 
   each packet on the algorithm employed for the data authenticity and 
   hence any IV requirements for that particular algorithm. As different 
   algorithms may have differing IV requirements, this extension allows 
   the intermediate device to take into account IV (/ICV) for a given 
   algorithm and parse the remaining data pertaining to the upper layer 
   protocol. This extension encoding is a fixed size and encodes 
   information about the specific data authenticity algorithm used for 
   the given packet / SA, the offset to the upper layer protocol and the 
   upper layer protocol value. Diagrammatically, this may be depicted as 
   follows. 
    
    
    
 
 
grewal                   Expires - June 2008                 [Page 3] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
    
   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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |        Source Port            |      Destination Port         | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |           Length              |           Checksum            | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Next Header    |  offset       |Reserved       |Algo Encoding  | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                      ESP header [RFC2406]                     | 
   ~                                                               ~ 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
    
   The attributes in the extension header are described further below.   
    
2.1 Extension Header 

    
   The extension header is exactly 32-bits, where the first 8-bits are 
   used to convey the upper layer protocol being carried in the ESP 
   payload. The value of this field is copied directly from the Next 
   Header field of the ESP trailer and can be used by the intermediate 
   device to determine / parse the upper layer protocol without having 
   to find and parse the ESP trailer. The second 8-bits are used to 
   convey the offset of the upper layer protocol from the end of this 
   extension header (described further below). The third 8 bits are 
   reserved for future expansion and set to zero. The last 8-bits 
   contain the Algorithm Encoding and carries information about the 
   algorithm being used to compute the ICV. This extension is needed in 
   order for the intermediate device to determine which authentication 
   algorithm is being used for generation of the ESP Integrity Check 
   Value (ICV) and further parse the packet to extract the data portion. 
   The size of the IV and ICV in the IPsec packet is algorithm 
   dependent.  
   In this document, we do not define explicit values for the Algorithm 
   Encoding, but choose to reuse the same values defined in various 
   IPsec RFCs which describe how to negotiate a given algorithm using 
   IKE. In this manner, this specification will be future proofed for 
   any new algorithm definitions. For example, RFC 4302, section 3.3.2 
   defines specific values for the integrity algorithms, which are used 
   within IKE. These are reserved for IKE via IANA. Additional RFCs 
   defining other (newer) algorithms build upon these definitions and 
   define new values for these algorithms. One example is RFC 4543, 
   which describes usage of AES-GMAC within IPsec and hence defines the 
   values used for different AES key sizes in section 9. The algorithm 
 
 
grewal                   Expires - June 2008                 [Page 4] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
   encoding is also useful in determining the size of the ICV for a 
   given algorithm in order to deterministically extract the upper layer 
   payload.  
    
   The offset is an 8-bit value, which defines the number of octets 
   between the end of this extension header and the start of the upper 
   layer protocol. This includes the ESP header, any additional IP 
   header for tunnel mode and also the size of the IV, which may be 
   algorithm dependent. Having an explicit value for the offset in the 
   packet allows the intermediate device to directly parse past any 
   algorithm dependent structures within the packet and reach the upper 
   layer protocol header. 
   The reserved 8-bits are used to pad this extension to a long word 
   alignment. This should be set to 0 by the sender, but it is not 
   mandatory for the recipient to validate this value.   
     
    
2.2 Tunnel and Transport mode of considerations 

    
   This extension is equally applicable for tunnel and transport mode 
   where the ESP Next Header field is used to differentiate between 
   these modes, as per the IPsec specifications.    
    
2.3 Port conflicts 

    
   Another consideration is that a legacy client may choose the UDP port 
   reserved for this specification as a random source port for a totally 
   different protocol exchange. Although this should not happen if the 
   client is choosing ports from the dynamic range specified by IANA, it 
   is still possible and hence the responsibility rests on the 
   intermediate device to ensure it can differentiate between the two 
   cases. The intermediate device can ensure that it is looking at ESP-
   NULL traffic that is UDP encapsulated in this form by validating 
   additional data elements following the UDP header. The format of the 
   UDP extension described above can be validated. If this is deemed 
   insufficient, then as a process of extracting the upper layer payload 
   from the ESP encapsulated packet, the ESP trailer needs to be 
   examined (this will be at a fixed place in the packet, proceeding the 
   ICV value) and can be validated according to IPsec ESP trailer 
   construction, which may include some padding octets. Furthermore, the 
   intermediate device can now validate that the upper layer protocol 
   begins after a fixed length following the UDP header (UDP extension + 
   ESP header). Additionally, if the upper layer protocol contains a 
   checksum, the intermediate device can further validate the checksum 
   to ensure that packet construction is as expected. Validating these 
   additional elements reduces the probability of any random payload for 
   a UDP exchange where the source port is the same as this 
   specification from being treated as an ESP encapsulated payload. 
   These checks are not mandatory, but should be performed to cater for 
 
 
grewal                   Expires - June 2008                 [Page 5] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
   this exception case. The extent and number of additional the checks 
   performed are protocol dependent. 
    
3. IANA Considerations 

    
   Reserving an appropriate value for the UDP destination port in order 
   to provide this encapsulation is TBD and can happen after further 
   peer review of this document.  
    
    
4. Formal Syntax 

    
    
   The following syntax specification uses the augmented Backus-Naur 
   Form (BNF) as described in RFC-2234 [iii]. 
    
   There is no new syntax defined by this document. 
    
    
5. Security Considerations 

    
   As this document augments the UDP encapsulation definitions specified 
   in RFC 3948, the security observations made in that document also 
   apply here. In addition, as this document promotes intermediate 
   device visibility into IPsec ESP encapsulated frames for the purposes 
   of Network monitoring functions, care should be taken not to send 
   sensitive data over connections using definitions from this document. 
   A strong key agreement protocol, such as IKE, together with a strong 
   policy engine should be used to in determining appropriate security 
   policy for the given traffic streams and data over which it is being 
   employed.  
           
    
    
6. References 

    
                     
   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision          
      3", BCP 9, RFC 2026, October 1996. 
    
   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate 
      Requirement Levels", BCP 14, RFC 2119, March 1997 
    
   [RFC2234]  Crocker, D. and Overell, P.(Editors), "Augmented BNF for 
      Syntax Specifications: ABNF", RFC 2234, Internet Mail Consortium 
      and Demon Internet Ltd., November 1997 
    
    

 
 
grewal                   Expires - June 2008                 [Page 6] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768, 
             August 1980. 
 
  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate 
             Requirement Levels", BCP 14, RFC 2119, March 1997. 
 
  [RFC2401]  Kent, S. and R. Atkinson, "Security Architecture for the 
             Internet Protocol", RFC 2401, November 1998. 
 
  [RFC2406]  Kent, S. and R. Atkinson, "IP Encapsulating Security 
             Payload (ESP)", RFC 2406, November 1998. 
 
  [RFC2409]  Harkins, D. and D. Carrel, "The Internet Key Exchange 
             (IKE)", RFC 2409, November 1998. 
 
  [RFC3947]  Kivinen, T., "Negotiation of NAT-Traversal in the IKE", 
             RFC 3947, January 2005. 
  [RFC4543]  McGrew & Viega, "GMAC in IPsec ESP and AH", 
             RFC 4543, May 2006. 
  [RFC4306]  Kaufman, C. "Internet Key Exchange (IKEv2) Protocol ", 
             RFC 4306, December 2005.  
    
    
    
    
7. Acknowledgements 
   
 
    
Author's Addresses 
    
   Ken Grewal 
   Intel Corporation 
   2111 NE 25th Avenue 
   JF3-232 
   Hillsboro, OR 97124 
   USA 
   Email: ken.grewal@intel.com 
    
   David Durham 
   Intel Corporation 
   2111 NE 25th Avenue 
   JF3-232 
   Hillsboro, OR 97124 
   USA 
   Email: david.durham@intel.com 
    
 
 
grewal                   Expires - June 2008                 [Page 7] 
Internet-draft  Traffic visibility using ESP NULL encryption  Dec 2007 
 
 
   Men Long 
   Intel Corporation 
   2111 NE 25th Avenue 
   JF3-232 
   Hillsboro, OR 97124 
   USA 
   Email: men.long@intel.com 
     
Full Copyright Statement 
    
   Copyright (C) The IETF Trust (2008). 
 
   This document is subject to the rights, licenses and restrictions 
   contained in BCP 78, and except as set forth therein, the authors 
   retain all their rights. 
 
   This document and the information contained herein are provided on an 
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
    























 
 
grewal                   Expires - June 2008                 [Page 8]