INTERNET-DRAFT Sami Boutros(Ed.) Intended Status: Standard Track VMware Dan Wing Calvin Qian VMware Expires: January 1, 2018 June 30, 2017 IPSec over Geneve encapsulation draft-boutros-nvo3-ipsec-over-geneve-00 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 and AH will provide both Geneve header integrity protection and Geneve payload encryption. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. 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/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright and License Notice Boutros Expires January 1, 2018 [Page 1] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 Copyright (c) 2017 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 (http://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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.0 Encapsulation Security Payload (ESP) over Geneve tunnel . . 4 5.0 IP Authentication header (AH) over Geneve tunnel . . . . . . 5 6. Control Plane Considerations . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 10.1 Normative References . . . . . . . . . . . . . . . . . . . 7 10.2 Informative References . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Boutros Expires January 1, 2018 [Page 2] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 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 [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 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 [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 Boutros Expires January 1, 2018 [Page 3] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 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 Transit device Underlay network devices between NVE(s). 4.0 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 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. Inner Ethernet packet, as sent/received by the virtual machine: +----------+---------+ | Ethernet | Ethernet| | header | Payload | +----------+---------+ Boutros Expires January 1, 2018 [Page 4] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 After applying Geneve and ESP, with ETH-IP header. +--------+------+------+----------+------+---+-------+------+-------+---+ |Ethernet|outer |UDP |Geneve Hdr|Geneve|ESP|EtherIP|Inner |ESP |ESP| |header |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. +--------+------+------+----------+------+---+-------+------+-------+---+ |Ethernet|outer |UDP |Geneve Hdr|Geneve|ESP|GRE |Inner |ESP |ESP| |header |IP |port= |Protocol |Option|Hdr|Header |Ether |Trailer|ICV| | |header|Geneve|=50 |TLV(s)| | |packet| | | +--------+------+------+----------+------+---+-------+------+-------+---+ |<----Encrypted------->| |<---Integrity------------>| Figure 1: ESP over Geneve Packet Diagram 5.0 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 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. Boutros Expires January 1, 2018 [Page 5] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 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 ---->| Figure 2: AH over Geneve Packet Diagram 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. In this document the next protocol signaled in control plane by NVE(s) can be ESP or AH. Once 2 NVE(s) agree to carry ESP or AH as next protocol, Security Association and Key Management Protocol defined in [RFC2408] can be used to negotiate, establish, modify and delete Security Associations. As well, mechanisms to perform key exchange defined in [RFC2409] can be used. Boutros Expires January 1, 2018 [Page 6] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 7. Acknowledgements The authors would like to thank T. Sridhar for his valuable comments. 8. Security Considerations This document does not introduce any additional security constraints. 9. IANA Considerations TBD 10. References 10.1 Normative References [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 10.2 Informative References [Geneve] "Generic Network Virtualization Encapsulation", [I-D.ietf- nvo3-geneve] [RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, December 2005, . [RFC4302] Kent, S. "IP Authentication Header", RFC 4302, December 2005, . [RFC4303] Kent, S. "IP Encapsulating Security Payload", RFC 4303, December 2005, . [RFC3378] R. Housley, et al. "EtherIP: Tunneling Ethernet Frames in IP Datagrams", RFC 3378, September 2002, . [RFC2784] T. Li, et al. "Generic Routing Encapsulation (GRE)", RFC 2784, March 2000, . [RFC2408] D. Maughan, et al. "Internet Security Association and Key Management Protocol (ISAKMP)", RFC 2408, November 1998, . [RFC2409] D. Harkins, et al. "The Internet Key Exchange (IKE)", RFC 2409, November 1998, . Boutros Expires January 1, 2018 [Page 7] INTERNET DRAFT NVO3 IPSec over Geneve June 30, 2017 Authors' Addresses Sami Boutros VMware Email: sboutros@vmware.com Dan Wing VMware, Inc. Email: dwing@vmware.com Calvin Qian VMware, Inc. Email: calvinq@vmware.com Boutros Expires January 1, 2018 [Page 8]