Internet DRAFT - draft-boutros-nvo3-ipsec-over-geneve

draft-boutros-nvo3-ipsec-over-geneve







NVO3                                                     S. Boutros, Ed.
Internet-Draft                                                   C. Qian
Intended status: Standards Track                                 D. Wing
Expires: July 14, 2018                                      VMware, Inc.
                                                        January 10, 2018


                    IPsec over Geneve Encapsulation
                draft-boutros-nvo3-ipsec-over-geneve-01

Abstract

   This document specifies how Generic Network Virtualization
   Encapsulation (Geneve) can be used to carry IP Encapsulating Security
   Payload (ESP) and IP Authentication Header (AH) to provide secure
   transport over IP networks.  Using IPSec ESP the Geneve payload is
   encrypted and integrity protected, and using IPSec AH the Geneve
   headers and payload are integrity protected.

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 July 14, 2018.

Copyright Notice

   Copyright (c) 2018 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 Simplified BSD License text as described in Section 4.e of



Boutros, et al.           Expires July 14, 2018                 [Page 1]

Internet-Draft           NVO3 IPsec over Geneve             January 2018


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Abbreviations . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Encapsulation Security Payload (ESP) over Geneve tunnel . . .   3
   5.  IP Authentication header (AH) over Geneve tunnel  . . . . . .   4
   6.  Control Plane Considerations  . . . . . . . . . . . . . . . .   5
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   6
     10.2.  Informative References . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   The Network Virtualization over Layer 3 (NVO3) develop solutions for
   network virtualization within a data center (DC) environment that
   assumes an IP-based underlay.  An NVO3 solution provides layer 2 and/
   or layer 3 overlay services for virtual networks enabling multi-
   tenancy and workload mobility.  The Generic Network Virtualization
   Encapsulation [I-D.ietf-nvo3-geneve] have been recently recommended
   to be the proposed standard for network virtualization overlay
   encapsulation.

   Generic Network Virtualization Encapsulation (Geneve) does not have
   any inherent security mechanisms.  An attacker with access to the
   underlay network transporting the IP packets has the ability to snoop
   or inject packets.

   Within a particular security domain, such as a data center operated
   by a single provider, the most common and highest performing security
   mechanism is isolation of trusted components.  Tunnel traffic can be
   carried over a separate VLAN and filtered at any untrusted
   boundaries.  In addition, tunnel endpoints should only be operated in
   environments controlled by the service provider, such as the
   hypervisor itself rather than within a customer VM.

   When crossing an untrusted link, such as the public Internet, IPsec
   [RFC4301] may be used to provide authentication and/or encryption of
   the IP packets formed as part of Geneve encapsulation.  If the remote
   tunnel endpoint is not completely trusted, for example it resides on




Boutros, et al.           Expires July 14, 2018                 [Page 2]

Internet-Draft           NVO3 IPsec over Geneve             January 2018


   a customer premises, then it may also be necessary to sanitize any
   tunnel metadata to prevent tenant-hopping attacks.

   This document describes how Geneve tunnel encapsulation
   [I-D.ietf-nvo3-geneve] can be used to carry both the IP Encapsulation
   security payload (ESP) [RFC4303] and the IP authentication header
   (AH) [RFC4302] to provide secure transport over IP networks.  Using
   IPsec ESP and AH will provide both Geneve header integrity protection
   and Geneve payload encryption.

2.  Terminology

   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 [RFC2119].

3.  Abbreviations

      NVO3: Network Virtualization Overlays over Layer 3

      OAM: Operations, Administration, and Maintenance

      TLV: Type, Length, and Value

      VNI: Virtual Network Identifier

      NVE: Network Virtualization Edge

      NVA: Network Virtualization Authority

      NIC: Network Interface Card

      IPsec: IP Security

      ESP: IP Encapsulating Security Payload

      AH: IP Authentication Header

      GRE: Generic Routing Encapsulation (GRE)

      EtherIP: Tunneling Ethernet Frames in IP Datagrams

4.  Encapsulation Security Payload (ESP) over Geneve tunnel

   The Geneve packet is encapsulated in UDP over either IPv4 or IPv6.
   The Geneve packet consists of a Geneve header which is then followed
   by a set of variable options.  The Geneve header protocol type will
   indicate that the Geneve payload is the ESP protocol (IP Protocol



Boutros, et al.           Expires July 14, 2018                 [Page 3]

Internet-Draft           NVO3 IPsec over Geneve             January 2018


   50), and the Geneve payload will consist of the ESP protocol data.
   The ESP next header can carry only an IP protocol so can't carry the
   inner Ethernet frame, so given that (1) Generic Routing Encapsulation
   (GRE) [RFC2784] and EtherIP [RFC3378] are IP protocols and (2) GRE/
   EtherIP can carry Ethernet Frames, hence the need of EtherIP/GRE
   encapsulation for the inner Ethernet payload.

   The ESP Next Header field will be set to inner payload protocol which
   can be either EtherIP (97) or to the Generic Routing Encapsulation
   (GRE) (47).  The GRE protocol type will be set to the Ethernet
   protocol type.  IPsec transport mode encryption is used.

   Inner Ethernet packet, as sent/received by the virtual machine:

   +----------+---------+
   | Ethernet | Ethernet|
   | header   | Payload |
   +----------+---------+

   After applying Geneve and ESP, with ETH-IP header:

  +-----+------+------+----------+------+---+-------+------+-------+---+
  |Ether|outer |UDP   |Geneve Hdr|Geneve|ESP|EtherIP|Inner |ESP    |ESP|
  |hdr  |IP    |port= |Protocol  |Option|Hdr|Header |Ether |Trailer|ICV|
  |     |header|Geneve|=50       |TLV(s)|   |       |packet|       |   |
  +-----+------+------+----------+------+---+-------+------+-------+---+
                                            |<----Encrypted------->|
                                        |<---Integrity------------>|

   After applying Geneve and ESP, with GRE header:

  +-----+------+------+----------+------+---+-------+------+-------+---+
  |Ether|outer |UDP   |Geneve Hdr|Geneve|ESP|GRE    |Inner |ESP    |ESP|
  |hdr  |IP    |port= |Protocol  |Option|Hdr|Header |Ether |Trailer|ICV|
  |     |header|Geneve|=50       |TLV(s)|   |       |packet|       |   |
  +-----+------+------+----------+------+---+-------+------+-------+---+
                                            |<----Encrypted------->|
                                        |<---Integrity------------>|

5.  IP Authentication header (AH) over Geneve tunnel

   The Geneve packet is encapsulated in UDP over either IPv4 or IPv6.
   The Geneve packet consists of a Geneve header which is then followed
   by a set of variable options.  The Geneve header protocol type will
   indicate that the Geneve payload is the AH protocol (IP Protocol 51),
   and the Geneve payload will consist of the Authentication header
   (AH).  The AH next header can carry only an IP protocol so can't
   carry the inner Ethernet frame, so given that (1) Generic Routing



Boutros, et al.           Expires July 14, 2018                 [Page 4]

Internet-Draft           NVO3 IPsec over Geneve             January 2018


   Encapsulation (GRE) [RFC2784] and EtherIP [RFC3378] are IP protocols
   and (2) GRE/EtherIP can carry Ethernet Frames, hence the need of
   EtherIP/GRE encapsulation for the inner Ethernet payload.

   The AH Next Header field will be set to inner payload protocol which
   can be either EtherIP (97) or to the Generic Routing Encapsulation
   (GRE) (47).  The GRE protocol type will be set to the Ethernet
   protocol type.

   It is to be noted that some of the option TLV(s) in the Geneve header
   SHOULD be treated as mutable fields and not included in the AH
   authentication.

   Inner Ethernet packet, as sent/received by the virtual machine:

   +----------+---------+
   | Ethernet | Ethernet|
   | header   | Payload |
   +----------+---------+

   After applying Geneve and AH, with ETH-IP header:

   +--------+------+------+----------+------+---+-------+------+
   |Ethernet|outer |UDP   |Geneve Hdr|Geneve|AH |EtherIP|Inner |
   |header  |IP    |port= |Protocol  |Option|   |Header |Ether |
   |        |header|Geneve|=51       |TLV(s)|   |       |packet|
   +--------+------+------+----------+------+---+-------+------+
            |<--- authenticated except for mutable fields ---->|

   After applying Geneve and AH, with GRE header:

   +--------+------+------+----------+------+---+-------+------+
   |Ethernet|outer |UDP   |Geneve Hdr|Geneve|AH |GRE    |Inner |
   |header  |IP    |port= |Protocol  |Option|   |Header |Ether |
   |        |header|Geneve|=51       |TLV(s)|   |       |packet|
   +--------+------+------+----------+------+---+-------+------+
            |<--- authenticated except for mutable fields ---->|

6.  Control Plane Considerations

   A control plane extension could allow a Network Virtualization
   Endpoint (NVE) to express the next protocol that can be carried by
   Geneve to its peers.

   In the datapath, a transmitting NVE MUST NOT encapsulate a packet
   destined to another NVE with any protocol the receiving NVE is not
   capable of processing.




Boutros, et al.           Expires July 14, 2018                 [Page 5]

Internet-Draft           NVO3 IPsec over Geneve             January 2018


   In this document the next protocol signaled in control plane by
   NVE(s) can be ESP or AH.

   Once two NVE(s) agree to carry ESP or AH as next protocol, the NVEs
   can use IKEv2 [RFC7296] to negotiate, establish, modify, and delete
   IPsec Security Associations.

7.  Security Considerations

   If network policy requires IPsec encryption for certain traffic, it
   is important to ensure un-encrypted packets are not delivered to the
   guest virtual machine.  This is implemented by dropping packets that
   arrive without the necessary IPsec encryption.

8.  IANA Considerations

   This document does not register anything new with IANA.

9.  Acknowledgements

   The authors thank T. Sridhar for his valuable comments.

10.  References

10.1.  Normative References

   [I-D.ietf-nvo3-geneve]
              Gross, J., Ganga, I., and T. Sridhar, "Geneve: Generic
              Network Virtualization Encapsulation", draft-ietf-
              nvo3-geneve-05 (work in progress), September 2017.

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

   [RFC2784]  Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
              Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
              DOI 10.17487/RFC2784, March 2000,
              <https://www.rfc-editor.org/info/rfc2784>.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
              December 2005, <https://www.rfc-editor.org/info/rfc4301>.

   [RFC4302]  Kent, S., "IP Authentication Header", RFC 4302,
              DOI 10.17487/RFC4302, December 2005,
              <https://www.rfc-editor.org/info/rfc4302>.



Boutros, et al.           Expires July 14, 2018                 [Page 6]

Internet-Draft           NVO3 IPsec over Geneve             January 2018


   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, DOI 10.17487/RFC4303, December 2005,
              <https://www.rfc-editor.org/info/rfc4303>.

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

10.2.  Informative References

   [RFC3378]  Housley, R. and S. Hollenbeck, "EtherIP: Tunneling
              Ethernet Frames in IP Datagrams", RFC 3378,
              DOI 10.17487/RFC3378, September 2002,
              <https://www.rfc-editor.org/info/rfc3378>.

Authors' Addresses

   Sami Boutros (editor)
   VMware, Inc.
   3401 Hillview Ave.
   Palo Alto, CA  94304
   USA

   Email: sboutros@vmware.com


   Calvin Qian
   VMware, Inc.
   3401 Hillview Ave.
   Palo Alto, CA  94304
   USA

   Email: calvinq@vmware.com


   Dan Wing
   VMware, Inc.
   3401 Hillview Ave.
   Palo Alto, CA  94304
   USA

   Email: dwing@vmware.com








Boutros, et al.           Expires July 14, 2018                 [Page 7]