Internet Draft                                        Michael Behringer
   <draft-behringer-mpls-vpn-auth-00.txt>                     Jim Guichard
   Category: Standards Track                           Cisco Systems, Inc.
   October 2002
   Expires: April 2003
   
   
                           MPLS VPN Authentication
   
   
   Status of this Memo
   
      This document is an Internet-Draft and is in full conformance
      with all provisions of Section 10 of RFC2026.
   
      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.
   
   
   Abstract
   
   Authentication in current MPLS/VPN networks [RFC2547] is based on
   routing authentication between CE-PE, PE-PE and again PE-CE, which
   authenticates the routing peer and verifies the integrity of routing
   updates from that peer. This does not provide CE-CE authentication.
   Here we propose a CE-CE authentication scheme that combines the three
   separate steps above and protects against misconfiguration of the PE
   routers by the Service Provider on the MPLS network. The proposed
   changes affect only the PE routers.
   
   1. Overview
   
   The current MPLS standards do not provide authentication from CE to CE
   to determine whether an imported route originated within a trusted
   site. This opens a potential security hole where the MPLS Service
   
   
   Internet Draft       MPLS VPN Authentication       October 2002
   
   Provider could mistakenly assign on a PE wrong route targets, thus
   inadvertently bringing a connected customer site into a wrong VPN.
   
   Misconfigurations of this type are hard to detect, and a real issue in
   MPLS networks. One possible solution to this problem is to mount IPsec
   on all CEs, but this is often perceived as too "heavy-weight".
   
   This proposal aims to solve the problem of accidental misconfiguration
   of MPLS parameters on PE routers. The approach is to re-use the routing
   MD5 key, which is used for PE-CE authentication [RFC2082, 2154, 2385],
   also for the PE-PE routing authentication. Since a PE can hold several
   virtual routing and forwarding instances (VRFs), the authentication
   between PEs will use the different MD5 keys, based on which VRF's
   routes need to be authenticated.
   
   BGP UPDATE messages between PE routers will include a new BGP
   attribute, called "UPDATE authenticator". This attribute contains a
   keyed HMAC MD5 signature of the UPDATE message, using the MD5 key that
   is also used on this PE router for the PE-CE routing authentication of
   that VPN.
   
   The receiving PE router generates a keyed HMAC MD5 signature for the
   incoming UPDATE message, using the routing key of the CE router that is
   to receive these routing updates. If the result is different from the
   value transmitted in the UPDATE authenticator attribute, the UPDATE is
   discarded and a warning is logged.
   
   The proposal imposes some operational constraints to be workable:
   Routing with MD5 authentication [RFC2082, 2154, 2385] must be
   configured for all PE-CE links, and all CEs of the same VPN must use
   the same MD5 key. If the Service Provider manages the CE routers on
   behalf of the customer, then downstream C routers must also use the
   same MD5 key. MD5 keys must be chosen to be unique to a VPN.
   
   
   2. Problem Statement
   
   The current MPLS architecture as defined in [RFC2547] allows a three-
   step configuration process for route authentication: From the CE to the
   PE, from that PE to other PEs in the same MPLS network, and from the
   other PEs to the corresponding CEs. The link between these three steps
   depends on correct configuration of the MPLS core network, namely the
   correct configuration of route targets on the PE routers.
   
   If an MPLS Service Provider inadvertently configures the wrong route
   targets, they may introduce a random CE router with the network behind
   
   
   draft-behringer-mpls-vpn-auth-00.txt                     page 2
   
   Internet Draft       MPLS VPN Authentication       October 2002
   
   it to another VPN. This error is hard to detect from within the
   customer's network.
   
   A mechanism is required which prevents routes from being passed into a
   PE's VRF, unless they are verified to belong to the VPN. Also in case
   of misconfigurations the Service Provider must be alerted.
   
   
   3. CE-to-CE Authentication
   
   The proposal is to re-use the MD5 key that is being used for CE-PE
   routing authentication. For this proposal to work each VPN MUST use the
   same MD5 key on all CE-PE links for routing authentication. The MD5 key
   MUST be unique to each VPN. The VPN customer configures thus all their
   CE routers with this MD5 key. The MPLS Service Provider configures the
   PEs also with this key on all links to the customers CEs.
   
   In normal MPLS the PE router that receives routes from a CE advertises
   these routes via MP-BGP to the other PEs, using a PE specific MD5 key.
   The problem is that there is no linkage between the MD5 key used for
   CE-PE authentication and the one for PE-PE authentication.
   
   This proposal does not affect the CE-PE routing authentication, but the
   authentication MUST be used for this scheme to work.
   
   The BGP UPDATE message, as defined in [RFC1771] is sent between PEs,
   and carries the new UPDATE-authenticator attribute, which is handled as
   follows:
   
   1. The PE will only export routes from a local VRF that is configured
   for MD5 authentication if it can confirm that at least 1 local route
   has been received and authenticated from the attached CE router. This
   prevents any connected interface or static routes from leaking into
   other VPNs without first confirming the local configuration of the PE
   router.
   
   2. The PE sending an MP-BGP UPDATE calculates a keyed HMAC-MD5, as
   defined in [RFC2104], over the UPDATE message, using the key of one of
   the CEs that is connected to the corresponding VRF. The following
   sections of the BGP UPDATE message are included in the keyed HMAC-MD5
   hash:
   
     - The BGP message header, consisting of marker, length and type.
     - The UPDATE message, including the MP_REACH_NLRI attribute
   
   3. The UPDATE message is sent to the MP-BGP peers (other PE routers or
   BGP route reflectors).
   
   draft-behringer-mpls-vpn-auth-00.txt                     page 3
   
   Internet Draft       MPLS VPN Authentication       October 2002
   
   
   4. The route targets in the MP-BGP update determine which VRF/s the
   UPDATE refers to.
   
   5. The receiving PE MUST not import a received prefix if it contains
   the UPDATE-authenticator attribute, and the local VRF is NOT configured
   for authentication. Likewise, the receiving PE MUST not import a
   received prefix if it does not contain the UPDATE-authenticator
   attribute, and the local VRF is configured for authentication.
   
   6. The receiving PE makes the same calculation as in step 2, and
   compares the result to the value in the received "UPDATE authenticator"
   path attribute. This comparison is ONLY performed if the PE has at
   least 1 locally authenticated route from the CE router.
   
   7. If the values are identical, the UPDATE is processed as normal and
   the NLRI installed in the VRF. If not, the BGP table is updated but the
   routes are marked as 'not authenticated', and a warning is logged to
   indicate a misconfiguration to the Service Provider.
   
   From a configuration point of view this feature could be enabled on PE
   routers with a single command, which can be either globally valid for
   all VPNs or separate for each VPN. A router MAY verify whether all MD5
   keys for a given VRF are the same. If it does a warning message MUST be
   logged if it detects differences.
   
   In the case where the Service Provider manages the CE routers, the
   Service Provider must also configure the key at the CE routers and this
   should match with any downstream C routers within the customer site. If
   the C routers have a different key than the CE router then the CE will
   not authenticate any routes from within the site, and will therefore
   not advertise any routing information to the PE router. The PE router
   is thus able to use the previously described mechanisms and will not
   import/export any routes from/to the customers VRF.
   
   
   4. The UPDATE-authenticator attribute
   
   The UPDATE-authenticator attribute is an optional, transitive BGP
   attribute, with an attribute type code value to be assigned. Its length
   is 16 octets, which is the length of the output of an MD5 function.
   
   The value of the UPDATE-authenticator attribute is the MD5 hash
   described above.
   
   
   5. IANA considerations
   
   draft-behringer-mpls-vpn-auth-00.txt                     page 4
   
   Internet Draft       MPLS VPN Authentication       October 2002
   
   
   The UPDATE-authenticator BGP attribute type will need to be registered
   with IANA, according to the procedures defined in [RFC2042].
   
   
   6. Security Considerations
   
   This modification to the behaviour of the PE router aims at detecting
   inadvertent configuration mistakes of the Service Provider, and at
   isolating CE routers that appear not to belong to the VPN they were
   configured for.
   
   There is no protection against the Service Provider staff maliciously
   adding a CE router to a VPN, however, the malicious engineer must know
   the MD5 key of the VPN to be intruded. This threat can be avoided with
   CE-CE IPsec authentication, which is configured by the VPN customer,
   and to which the Service Provider does not have access.
   
   
   7. Open Questions
   
   Questions that still need to be addressed:
   
   1 - Performance: Will the use of MD5 signatures for every Update
   message impact router performance too much?
   2 - Should the proposal be open to use other signature algorithms such
   as SHA-1?
   3 - Transition from normal operations to this mode: The feature needs
   to be enabled on all PEs of the same VPN at the same time to maintain
   connectivity. This may need to be addressed.
   4. - do we need to state which protocols can be used with this scheme
   e.g. does IS-IS and EIGRP support MD-5 ?
   
   
   Authors' Addresses
   
   Michael H. Behringer <mbehring@cisco.com>
   Cisco Systems
   Avda de la Vega, 15; 28100 Alcobendas, Madrid; Spain
   
   Jim Guichard <jguichar@cisco.com>
   Cisco Systems
   300 Apollo Drive; Chelmsford MA, 01824; USA
   
   
   References
   
   
   draft-behringer-mpls-vpn-auth-00.txt                     page 5
   
   Internet Draft       MPLS VPN Authentication       October 2002
   
   [RFC1771] "A Border Gateway Protocol 4 (BGP-4)". Y. Rekhter, T. Li.
   March 1995.
   
   [RFC2042] "Registering New BGP Attribute Types". B. Manning. January
   1997.
   
   [RFC2082] "RIP-2 MD5 Authentication". F. Baker, R. Atkinson. January
   1997.
   
   [RFC2104] "HMAC: Keyed-Hashing for Message Authentication". H.
   Krawczyk, M. Bellare, R. Canetti. February 1997.
   
   [RFC2154] "OSPF with Digital Signatures". S. Murphy, M. Badger, B.
   Wellington. June 1997.
   
   [RFC2385] "Protection of BGP Sessions via the TCP MD5 Signature
   Option". A. Heffernan. August 1998.
   
   [RFC2547] "BGP/MPLS VPNs". E. Rosen, Y. Rekhter. March 1999.
   
   
   Full Copyright Statement
   
      Copyright (C) The Internet Society (2000). All Rights Reserved.
      This document and translations of it may be copied and furnished to
      others, and derivative works that comment on or otherwise explain it
      or assist in its implementation may be prepared, copied, published
      and distributed, in whole or in part, without restriction of any
      kind, provided that the above copyright notice and this paragraph
      are included on all such copies and derivative works. However, this
      document itself may not be modified in any way, such as by removing
      the copyright notice or references to the Internet Society or other
      Internet organizations, except as needed for the purpose of
      developing Internet standards in which case the procedures for
      copyrights defined in the Internet Standards process must be
      followed, or as required to translate it into languages other than
      English.
   
      The limited permissions granted above are perpetual and will not be
      revoked by the Internet Society or its successors or assigns.
      This document and the information contained herein is provided on an
      "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
      TASK FORCE DISCLAIMS 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."
   
   
   draft-behringer-mpls-vpn-auth-00.txt                     page 6