Internet DRAFT - draft-henderson-hip-vpls

draft-henderson-hip-vpls







Network Working Group                                       T. Henderson
Internet-Draft                                  University of Washington
Intended status: Experimental                                  S. Venema
Expires: August 3, 2016                               Polyverse Security
                                                               D. Mattes
                                                       Tempered Networks
                                                        January 31, 2016


             HIP-based Virtual Private LAN Service (HIPLS)
                      draft-henderson-hip-vpls-10

Abstract

   The Host Identity Protocol (HIP) and architecture adds a
   cryptographic name space to name Internet hosts.  This draft
   describes a use case of the HIP architecture, which is to provide a
   HIP-enabled virtual private LAN service (VPLS) over an untrusted
   network.  In this case, HIP is used to secure tunnels between the
   provider edge (PE) equipment.

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 http://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 August 3, 2016.

Copyright Notice

   Copyright (c) 2016 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



Henderson, et al.        Expires August 3, 2016                 [Page 1]

Internet-Draft                    HIPLS                     January 2016


   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.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Reference model . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Service description . . . . . . . . . . . . . . . . . . . . .   6
   5.  System description  . . . . . . . . . . . . . . . . . . . . .   7
     5.1.  Provisioning the PEs  . . . . . . . . . . . . . . . . . .   7
     5.2.  Walkthrough of unicast protocol operation . . . . . . . .   7
     5.3.  Names and access control lists  . . . . . . . . . . . . .   8
     5.4.  Walkthrough of multicast operation  . . . . . . . . . . .   9
     5.5.  Mobility, multihoming, and address families . . . . . . .   9
   6.  Proposed extensions to HIP  . . . . . . . . . . . . . . . . .   9
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   9.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  10
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  11
     10.2.  Informative References . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   Virtual private networks (VPNs) are popular in the wide-area Internet
   and also among enterprises that wish to separate multiple LAN
   broadcast domains across shared network infrastructure.  Several
   techniques have been defined to provide VPNs at different layers in
   the stack, including layer-1 [RFC4847], layer-2 (virtual LAN, virtual
   private LAN service (VPLS), and pseudo-wire (PW)) [RFC4664], and
   layer-3 (virtual router and BGP/MPLS provider-provisioned VPNs)
   [RFC4176].

   The Host Identity Protocol (HIP) [RFC7401] and architecture [RFC4423]
   adds a new public-key-based name space for use as host identifiers in
   Internet protocols.  HIP specifies a means for hosts to use public
   keys to authenticate one another over Internet protocols and to set
   up secure data channels using Encapsulating Security Payload
   [RFC7402] and possibly other transports in the future.

   This document describes how HIP can be used to create a customer
   Virtual Private LAN Service (VPLS) overlaid on top of a standard IPv4
   and/or IPv6 provider network.  Using the nomenclature in RFC 4664
   [RFC4664], a VPLS connects several physically separate LAN segments



Henderson, et al.        Expires August 3, 2016                 [Page 2]

Internet-Draft                    HIPLS                     January 2016


   into a single logical LAN segment.  The Provider Edge (PE) devices
   that connect the Customer Edge (CE) devices behave like a learning
   bridge, and the CE devices may be any layer-2 or layer-3 device,
   including hosts, routers, bridges, or switches.

   In the specific use case described, the tunnels between PEs are
   realized by Encapsulating Security Payload (ESP) tunnels, whose
   management is controlled by the Host Identity Protocol (HIP)
   signaling protocol.  Each PE device is assigned a cryptographic host
   identifier, which may be bound to other identifiers in the system via
   certificates or other means.  The HIP signaling protocol is used to
   allow PE devices to authenticate one another and to build secure
   tunnels over untrusted provider network infrastructure.  Extensions
   to HIP are described to allow the PE devices to integrate with a
   public-key infrastructure, in order to ease deployment.

   Readers may note that this application of HIP differs from the
   traditional implementation of HIP within end hosts.  The key
   differences are that HIP is here implemented within a middlebox
   (using the terminology of RFC 4301 [RFC4301], a "bump-in-the-wire"
   implementation) and that the payloads of the ESP-encrypted datagrams
   are not transport protocol data units (PDUs) but instead are layer-2
   frames.

2.  Terminology

   Terminology is reused from [RFC4664] and and [RFC7401].

3.  Reference model

   Section 2.2 of RFC 4664 [RFC4664] specifies the VPLS reference model
   where PE devices that are VPLS-capable provide a logical interconnect
   such that CE devices belonging to a specific VPLS appear to be on a
   single bridged Ethernet.  A VPLS can contain a single VLAN or
   multiple tagged VLANs.
















Henderson, et al.        Expires August 3, 2016                 [Page 3]

Internet-Draft                    HIPLS                     January 2016


   +-----+                                  +-----+
   + CE1 +--+                           +---| CE2 |
   +-----+  |    ...................    |   +-----+
    VPLS A  |  +----+           +----+  |    VPLS A
            |  |VPLS|           |VPLS|  |
            +--| PE |--Routed---| PE |-+
               +----+  Backbone +----+
              /  .       |         .  \     _   /\_
   +-----+   /   .       |         .   \   / \ /   \     +-----+
   + CE  +--+    .       |         .    +--\ Access \----| CE  |
   +-----+       .    +----+       .       | Network |   +-----+
    VPLS B       .....|VPLS|........        \       /     VPLS B
                      | PE |     ^           -------
                      +----+     |
                        |        |
                        |        |
                     +-----+     |
                     | CE3 |     +-- Emulated LAN
                     +-----+
                      VPLS A



                         Figure 1: Reference model

   Figure 1, copied from Figure 2 of [RFC4664], depicts the reference
   model for this use case.  A number of CE devices are connected to PE
   devices over layer-2 networks.  Although not shown in the figure,
   each CE device may be reachable by one or more PE device (for
   example, CE1 and CE3 may also be able to reach each other directly
   without using the VPLS).  Moreover, the connectivity of the L2
   networks (and correspondingly, between a given PE and CE) may change
   over time.  No assumptions are made about the capabilities of the CE
   devices.  From the perspective of the CE devices, each other CE
   device is reachable, using broadcast, multicast, or unicast, as if it
   were on the same LAN segment.  Therefore, the service provided by the
   PE devices is that of a L2VPN.  Since this is a L2VPN, CE devices are
   free to use higher layer protocols such as IPv4 and IPv6 and domain
   specific protocols such as those found in industrial control systems.












Henderson, et al.        Expires August 3, 2016                 [Page 4]

Internet-Draft                    HIPLS                     January 2016


                         |-----Routed Backbone-----|
                         |     (P Routers)         |PSN Tunnels,
   Emulated LAN          |                         |Pseudowires
 .......................................................................
 .                       |                         |                   .
 . |---------------------|----|           |--------|-----------------| .
 . | --------------------|--- |           | -------|---------------- | .
 . |      VPLS Forwarder      |           |      VPLS Forwarder      | .
 . | ----------|------------- |           | ----------|------------- | .
 ..|.................................................................|..
   |           | Emulated LAN |           |           | Emulated LAN |
   |           | Interface    | VPLS-PEs  |           | Interface    |
   |           |              |  <---->   |           |              |
   | ----------|------------  |           | ----------|------------  |
   | |       Bridge        |  |           | |       Bridge        |  |
   | -|--------|---------|--  |           | ---|-------|---------|-  |
   |--|--------|---------|----|           |----|-------|---------|---|
      |        |         |                     |       |         |
      |        | Access  |                     |       | Access  |
      |        | Networks|                     |       | Networks|
      |        |         |                     |       |         |
      |        |         |                     |       |         |
           CE devices                                CE devices



                       Figure 2: PE Reference model

   Figure 2, copied from Figure 3 of RFC4664, depicts the design model
   for the PE.  In this model, a CE device attaches, possibly through an
   access network, to a "bridge" module of a VPLS-PE.  Within the VPLS-
   PE, the bridge module attaches, through an "Emulated LAN Interface",
   to an Emulated LAN.  For each VPLS, there is an Emulated LAN
   instance.  Figure 3 shows some internal structure to the Emulated
   LAN: it consists of "VPLS Forwarder" modules connected by
   pseudowires, where the pseudowires may be traveling through PSN
   tunnels over a routed backbone.

   A "VPLS instance" consists of a set of VPLS Forwarders (no more than
   one per PE) connected by pseudowires.  In our application, it is the
   HIP-enabled ESP tunnels that constitute the pseudowires.

   The PE devices are interconnected by an IP-based network.  This
   network may be IPv4-based or IPv6-based, or a hybrid.  The PEs are
   responsible for providing a secure (encrypted, authenticated) tunnel
   over which Layer-2 frames may flow betweeen CEs that are
   interconnected by the VPN.  The PE devices are also responsible for
   authenticating the peer PE devices as belonging to the same overlay



Henderson, et al.        Expires August 3, 2016                 [Page 5]

Internet-Draft                    HIPLS                     January 2016


   (L2VPN).  Furthermore, PE devices may be responsible for maintaining
   access control lists (ACLs) that govern which CEs are permitted to
   talk to which other CEs.  In addition to IP and MAC addresses found
   in ACLs, the ACLs may also use the cryptographic identities already
   bound to the PE devices for use by the HIP protocol.

   To build tunnels, the PEs must use pre-provisioned configuration
   information or must consult, on-demand, a mapping database (such as
   DNS or an LDAP server) to find the bindings between PE and CE device.
   These bindings may be secured by a public key infrastructure (PKI).
   PEs may change their point of attachment (and also, their IP address)
   to the IP-based network, and may be multihomed to the IP-based
   network (see PE3 in the above figure), and the PE devices must
   accommodate such changes such that they are transparent to the L2VPN
   overlay and the CEs.

   In this model, the PE devices use HIP as follows.  Each PE device is
   assigned (provisioned with) a unique name, such as a serial number or
   asset tag, and with a public/private key pair.  This unique name may
   be bound to the public key using an X.509 certificate.  The L2VPN is
   also given a name.  Each PE device knows which of its interfaces
   belong to a particular named overlay, and which of its interfaces
   belong to the underlay (the "routed backbone" in Figure 2).  Each PE
   device knows or learns which CE devices it is fronting for, and how
   to obtain mapping information that maps a remote CE to a remote PE
   device.

   The tunnels established between PE devices are HIP-enabled ESP
   tunnels.  HIP signaling between PE devices is used to establish and
   maintain the tunnels.  A certificate, signed by a trust anchor in the
   system, binds the PE name to the PE's public key; this public key is
   used as the host identity in the HIP exchanges.  The HIP exchanges
   carry a PE's certificate, thereby allowing a remote PE to
   authenticate the PE as a member of the overlay.  HIP signaling may
   also be used between the PE devices and the mapping database, or this
   communications channel may be secured by other means.

4.  Service description

   RFC 4665 [RFC4665] describes service requirements for L2VPNs, and
   outlines a number of options for variations on the L2VPN design.  In
   this section, we describe the HIPLS service in terms of the RFC 4665
   taxonomy.

   With respect to Section 5 of RFC 4665, we are describing a full VPLS
   solution; any variations or caveats should be documented according to
   Section 5.1 of RFC 4665.  For example, a VPLS must support unicast,




Henderson, et al.        Expires August 3, 2016                 [Page 6]

Internet-Draft                    HIPLS                     January 2016


   multicast, and broadcast traffic, even if realized with ESP unicast-
   based tunnels.

5.  System description

   In this section, we walk through how the HIP-enabled VPLS can be
   provisioned and how it operates in a few use case scenarios.

   In the following, we refer to each L2VPN as an overlay network, and
   to the routed backbone as the underlay.

5.1.  Provisioning the PEs

   At a minimum, a network operator must define a unique overlay name,
   and must authorize (or list) the PEs that belong to that overlay.  In
   particular, the interfaces (overlay and underlay) that belong to the
   system must be identified for each PE.  Additionally, each PE must
   possess a public/private key pair, which must be accessible to a host
   via a smart card, Trusted Platform Module (TPM) hardware, or a local
   file.

   The PEs must be able to authenticate the other PEs in the underlay as
   belonging to a given overlay.  One way to do this is to pre-provision
   a list of PEs (and their HITs) that belong to the overlay, and deploy
   this list on each PE in a static configuration file.  A drawback to
   this approach is that whenever the set of PEs on the overlay changes,
   each PE's master list must be edited.  An alternative is to deploy an
   authorization system in which a PE's key is authorized by a server as
   belonging to that overlay.

   In addition, there are a number of other configuration items that may
   either be pre-provisioned or dynamically learned.  These include
   access control lists, associations between PE devices and local CEs,
   and associations between remote PE devices and remote CEs.  All of
   this type of information may either be pre-provisioned in static
   configuration files, or stored in a database accessible on the
   underlay.

5.2.  Walkthrough of unicast protocol operation

   Referring again to Figure 1, consider the case in which CE1 wishes to
   send an IPv4 unicast datagram to CE3, and no corresponding session
   state exists between the respective PEs.  We assume that CE1 and CE3
   both share a network prefix, and that CE1 first sends an ARP request
   or Neighbor Discovery on its local LAN segment.  This request is
   picked up by PE1 which listens promiscuously on its LAN segment.  No
   other devices respond to this request.




Henderson, et al.        Expires August 3, 2016                 [Page 7]

Internet-Draft                    HIPLS                     January 2016


   PE1 learns that it is the responsible PE device for the source MAC
   address of the ARP request, and stores this forwarding entry in its
   forwarding database (address learning).  Note that some
   implementations may populate the forwarding database manually.
   Manual configuration is required for CE devices that never send an L2
   frame ("listen only" devices) or that only send L2 frames when they
   have received instructions to do so.  Since the ARP message is a
   broadcast layer-2 frame, the PE device must either perform a proxy-
   ARP function or must send the ARP request to all other PEs on the
   overlay.  Therefore, a means whereby each PE knows all of the other
   PEs in the overlay is required, either by static configuration or by
   dynamic discovery.

   Next, the PE device must forward the ARP request to all peer PEs
   servicing a particular overlay, or to a specific peer PE if the MAC-
   to-PE mapping is already known (either by static configuration or
   earlier dynamic discovery).  Since the PEs communicate with each
   other via HIP, the PE forwarding the ARP must build a HIP tunnel to
   each target PE if it does not already exist.  The source PE wraps the
   L2 frame within the ESP payload, fragments it if necessary, and sends
   to the remote PEs where it is detunneled and placed on the remote
   access network segment again as a L2 broadcast frame.  From this
   point, the intended host will ARP reply with a unicast frame.  This
   frame should be mapped to the ESP association back to the originating
   PE.

   Note that flooding of broadcast datagrams in an L2 network is prone
   to loops.  There may be other transparent bridges present in the
   access network.  Therefore, the PE devices must implement and
   participate in an 802.1d spanning tree algorithm.  Note that the
   nature of 802.1d and the number of broadcast frames typical in most
   networks will require the setup and maintenance of a full mesh of ESP
   associations between PEs on an overlay, in general.

5.3.  Names and access control lists

   The name by which the PE devices know one another, at the protocol
   level, is the HIT, which is a hash of the host identity public key.
   This key can be used to authenticate messages from PE devices
   purporting to be a named PE device.

   However, from a management perspective, the names that operators will
   want to use in configuration files and in access control lists should
   be more operationally relevant, such as human- friendly strings and
   asset tags.  Certificates are used to bind a PE device's operational
   name to its HIT.  The HIT is obtained as usual, as a hash of the PE
   device's public key.  All PE devices in the overlay must share a
   common set of CAs.



Henderson, et al.        Expires August 3, 2016                 [Page 8]

Internet-Draft                    HIPLS                     January 2016


   Certificates should be presented as parameters in the base exchange,
   to allow peer PE devices to validate them.

5.4.  Walkthrough of multicast operation

   Multicast operation is similer to that described in the section on
   handling of broadcast ARP requests.

5.5.  Mobility, multihoming, and address families

   The PE devices may be mobile or multihomed on the underlay.  The HIP
   mobility mechanisms [RFC5206] may be used in this case to preserve
   existing security associations and to update database records upon
   such changes to the underlying IP addresses.

   The underlay may itself be a combination of IPv4 and IPv6 network
   segments.  A given overlay may be supported by either or both IPv4
   and IPv6-based ESP security associations.

   The CE devices may be multihomed to PE devices.  In this case, the
   PEs must coordinate to ensure that only one PE sources ingress frames
   destined from CE4 to another CE.  The PE devices may have "backdoor"
   connections with one another.  The 802.1d spanning tree protocol
   should alleviate problems of this sort.

6.  Proposed extensions to HIP

   The system described above relies on the ability of the PE devices to
   exchange certificates in the R1, I2, and UPDATE messages, based on
   local policy.  Note that passing of certificates in the HIP exchanges
   is not strictly necessary, but it will reduce latency if the host
   proactively provides its certificate as part of the signaling
   exchange.  Work is already underway in the HIP working group to
   define such a certificate (CERT) parameter [RFC6253].

   The system described above can be thought of as a "bump-in-the-wire"
   type of HIP deployment.  Conceptually, what is being encapsulated is
   not a transport PDU but instead a layer-2 frame.  Therefore, HIP
   implementations in the PE devices need to be able to successfully
   encapsulate and decapsulate such frames; i.e., this system alters the
   protocol processing in the stack compared to a host-based HIP
   implementation.

   An additional change is that layer-2 (and, by extension, layer-3)
   multicast and broadcast frames, as well as layer-2 control frames
   such as bridge PDUs, must be passed as needed.  This requires a
   capability for the PEs to send a copy of each such frame to all other
   PEs in the overlay.  One technique to do this is to replicate each



Henderson, et al.        Expires August 3, 2016                 [Page 9]

Internet-Draft                    HIPLS                     January 2016


   frame and send to each other PE in the system.  To support such a
   transmission framework, N*(N-1) tunnels must be maintained
   collectively between the PE devices.  Alternatively, a constrained
   system may be deployed that does not support multicast or broadcast,
   nor bridge PDUs; this would be more like a unicast-only IPLS VPN.

   If temporary certificates are used, it has not yet been defined in
   HIP how a host identity may change for active security associations.

7.  Security Considerations

   The model considered above assumes that PE devices that hold trusted
   credentials (certificates and private keys) are trustworthy; a
   malicious or misconfigured PE device could subvert packet delivery
   across the overlay.

   The model also assumes that the information that PE devices need to
   obtain to bind the PE name to the overlay and to its respective
   public key is not compromised, and that the keys of the PE devices
   are themselves not compromised.  A PKI revocation system may aid in
   dealing with compromised keys.

   Otherwise, the system described above inherits the security
   properties found in HIP, including strong authentication of the
   binding between host identity and (underlay) IP address, and some
   level of robustness from denial-of-service attacks on the underlay
   network, based on the properties of the HIP base exchange.

   Section 5.5 of RFC 4665 describes security features from the
   perspective of the L2VPN solution, while Section 6.5 of RFC 4665
   describes the security from a user perspective.  The HIPLS solution
   must protect against the attacks listed in Section 5.5 of RFC 4665.

8.  IANA Considerations

   There are no IANA considerations.

9.  Acknowledgments

   Jeff Ahrenholz, Orlie Brewer, Eric Byres, Jin Fang, Darren Lissimore
   and Jeff Meegan have provided invaluable support in the design and
   prototype implementation of this HIPLS functionality.  Richard Paine
   and Craig Dupler were instrumental in guiding early work along these
   lines.  Members of other Standards organizations such as The Open
   Group, the Trusted Computing Group (TCG), and the International
   Society of Automation (ISA) have been involved in standards
   development activities that leverage HIP and this HIPLS
   functionality.



Henderson, et al.        Expires August 3, 2016                [Page 10]

Internet-Draft                    HIPLS                     January 2016


10.  References

10.1.  Normative References

   [RFC4664]  Andersson, L. and E. Rosen, "Framework for Layer 2 Virtual
              Private Networks (L2VPNs)", RFC 4664, September 2006.

   [RFC5206]  Nikander, P., Henderson, T., Vogt, C., and J. Arkko, "End-
              Host Mobility and Multihoming with the Host Identity
              Protocol", RFC 5206, April 2008.

   [RFC6253]  Heer, T. and S. Varjonen, "Host Identity Protocol
              Certificates", RFC 6253, May 2011.

   [RFC7401]  Moskowitz, R., Ed., Heer, T., Jokela, P., and T.
              Henderson, "Host Identity Protocol Version 2 (HIPv2)",
              RFC 7401, DOI 10.17487/RFC7401, April 2015,
              <http://www.rfc-editor.org/info/rfc7401>.

   [RFC7402]  Jokela, P., Moskowitz, R., and J. Melen, "Using the
              Encapsulating Security Payload (ESP) Transport Format with
              the Host Identity Protocol (HIP)", RFC 7402,
              DOI 10.17487/RFC7402, April 2015,
              <http://www.rfc-editor.org/info/rfc7402>.

10.2.  Informative References

   [RFC4176]  El Mghazli, Y., Nadeau, T., Boucadair, M., Chan, K., and
              A. Gonguet, "Framework for Layer 3 Virtual Private
              Networks (L3VPN) Operations and Management", RFC 4176,
              October 2005.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, December 2005.

   [RFC4423]  Moskowitz, R. and P. Nikander, "Host Identity Protocol
              (HIP) Architecture", RFC 4423, May 2006.

   [RFC4665]  Augustyn, W. and Y. Serbest, "Service Requirements for
              Layer 2 Provider-Provisioned Virtual Private Networks",
              RFC 4665, September 2006.

   [RFC4847]  Takeda, T., "Framework and Requirements for Layer 1
              Virtual Private Networks", RFC 4847, April 2007.







Henderson, et al.        Expires August 3, 2016                [Page 11]

Internet-Draft                    HIPLS                     January 2016


Authors' Addresses

   Thomas R. Henderson
   University of Washington
   Campus Box 352500
   Seattle, WA
   USA

   Email: tomhend@u.washington.edu


   Steven C. Venema
   Polyverse Security
   550 NW Kirkland Way
   Suite 210
   Kirkland, WA
   USA

   Email: steve@polyverse.io


   David Mattes
   Tempered Networks
   3101 Western Avenue
   Suite 550
   Seattle, WA
   USA

   Email: d.mattes@temperednetworks.com






















Henderson, et al.        Expires August 3, 2016                [Page 12]