Internet DRAFT - draft-ymbk-l3vpn-origination

draft-ymbk-l3vpn-origination






Network Working Group                                            R. Bush
Internet-Draft                                 Internet Initiative Japan
Intended status: Standards Track                                K. Patel
Expires: April 02, 2013                                         P. Mehta
                                                          A. Sreekantiah
                                                           Cisco Systems
                                                                L. Jalil
                                                                 Verizon
                                                            October 2012


               Authenticating L3VPN Origination Signaling
                    draft-ymbk-l3vpn-origination-02

Abstract

   A BGP-signaled Layer-3 VPN's prefix bindings sent over BGP are
   subject to unintentional errors, both by the legitimate originator
   and by non-legitimate origins.  This is of special concern if the VPN
   traverses untrusted networks.  This document describes how the sender
   of the Prefix/VPN binding may sign it so that recipient of the
   binding may authenticate it.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to
   be interpreted as described in RFC 2119 [RFC2119] only when they
   appear in all upper case.  They may also appear in lower or mixed
   case as English words, without normative meaning.

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 April 02, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Bush, et al.             Expires April 02, 2013                 [Page 1]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012


   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.

   This document may not be modified, and derivative works of it may not
   be created, and it may not be published except as an Internet-Draft.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  NLRI Deaggregation . . . . . . . . . . . . . . . . . . . . . .  3
   3.  L3VPN Origination BGP Path Attribute (L3OPA) . . . . . . . . .  3
   4.  Validation of Routes Having an L3OPA . . . . . . . . . . . . .  4
   5.  L3VPN Deployment Scenarios . . . . . . . . . . . . . . . . . .  5
     5.1.  End CE to CE Authentication  . . . . . . . . . . . . . . .  5
     5.2.  Provider/ASBR Based Validation/Authentication  . . . . . .  5
     5.3.  PE-PE Based Validation . . . . . . . . . . . . . . . . . .  6
   6.  Notes  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  7
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  7
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  7
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     10.1.  Normative References  . . . . . . . . . . . . . . . . . .  7
     10.2.  Informative References  . . . . . . . . . . . . . . . . .  8
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  8

1.  Introduction

   RFC 4364 [RFC4364] Section 7.4 describes how a Customer Edge (CE)
   router uses eBGP to announce to a Provider Edge (PE) router the
   address prefix(es) the customer provides to an L3VPN.  It is possible
   that the originator of such an announcement could unintentionally
   announce prefixes they do not own.

            Cust(West)-CE--PE-Provider(West)--TransitA-~
                  ~-TransitB--Provider(East)-PE--CE-Cust(East)

   This document describes how the PE receiving the CE's originating
   announcement, West, may sign the announcement so that the PE proximal
   to the destination CE, East, may authenticate the NLRI see RFC 4364
   [RFC4364] Section 4.3.1.  Alternatively, the originating CE router
   may sign the announcement so that the destination CE router may
   authenticate the NLRI.






Bush, et al.             Expires April 02, 2013                 [Page 2]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012


   It is assumed that the providers already have the key creation,
   storage, and distribution infrastructure needed.  Keys might be
   configured on the routers, or in some shared PKI, or, for example,
   the Resource Public Key Infrastructure (RPKI) could be used, see RFC
   6480 [RFC6480].

   A new BGP PATH Attribute, called L3VPN Origination BGP PATH Attribute
   (L3OPA), is created to contain the necessary keying information and
   signature.

2.  NLRI Deaggregation

   Normally, a BGP Update may contain multiple NLRI which all share the
   identical set of attributes.  As L3OPA signalling signs over the
   NLRI, and NLRI can become separated as they transit the network,
   separation would break the signature.  Therefore, a BGP announcement
   using L3OPA signalling MUST contain one and only one NLRI.

3.  L3VPN Origination BGP Path Attribute (L3OPA)

   The L3OPA is a BGP optional transitive Path Attribute RFC 4271
   [RFC4271].  BGP Path Attributes are Type/Length/Value tuples.

    .-------------------------------------------.
    |                                           |
    |  Attribute Header, see RFC 4271 S. 4.3    |
    |                                           |
    +-------------------------------------------+
    |                                           |
    |                                           |
    |                                           |
    +----          Key Identifier           ----+
    |                                           |
    |                                           |
    |                                           |
    +-------------------------------------------+
    |    Alg   |   MUST   |                     |
    |   Suite  |    be    |   Signature Length  |
    |     1    |   Zero   |                     |
    +-------------------------------------------+
    |                                           |
    |                 Signature                 |
    |                                           |
    `-------------------------------------------'

   The Attribute Type is two octets, the first of which, Attribute
   Flags, MUST have the two high order bits set to signify that
   attribute is optional and transitive.

   The second octet of the Attribute Flags, Attribute Type, MUST be set
   to 0xXX, as assigned by the IANA, see Section 8, to signal that this
   is an L3OPA.


Bush, et al.             Expires April 02, 2013                 [Page 3]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012


   The Length field is one or two octets with a value of the number of
   octets in the entire attribute.  If the length of the L3OPA is less
   than 256 octets, only the first octet of the length field is used.
   Otherwise, both octets are used to represent the Length..  See RFC
   4271 [RFC4271] Section 4.2 for another explanation of this byte
   saving.

   The Key Identifier is an eight octet value identifying the key (pair)
   used for the Signature.  It is used when the keying is not implied by
   the NLRI, as it would be, for example, if the RPKI was used.  It is
   often the VPN Identifier.  If not used to identify the key, it MUST
   be zero.

   The Algorithm Suite is a one-octet identifier specifying the digest
   algorithm and digital signature algorithm used to produce the
   Signature.  The values reference the IANA registry for Algorithm
   Identifiers from BGPsec, see [I-D.ietf-sidr-bgpsec-algs].

   The Signature Length is two octets and is the number of octets in the
   Signature field.

   The Signature field is a digital signature that covers the NLRI and
   the Key Identifier.

   To compute the Signature, the digest algorithm for the specified
   Algorithm Suite is applied to the catenation of the NLRI and the Key
   Identifier.  This is then fed to the signature algorithm for the
   specified algorithm suite and the resulting value is the Signature.

      Signature = sign ( hash ( NLRI || Key Identifier ) )

4.  Validation of Routes Having an L3OPA

   A BGP speaker receiving routes with an L3OPA MUST perform the
   necessary validation if configured to do so.

   The digest algorithm for the specified Algorithm Suite is applied to
   the catenation of the NLRI and the Key Identifier.  This is then fed
   to the signature algorithm for the specified algorithm suite and the
   resulting value is compared with the Signature.

   If the signature value matches the Signature in the attribute, the
   route MUST be marked as Valid, otherwise it MUST be marked as
   Invalid.

   A route received without an L3OPA SHOULD be marked as having an
   Unknown validity state.

   If L3OPA marking is disabled in the router configuration, routes are





Bush, et al.             Expires April 02, 2013                 [Page 4]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012

   considered to have the Unknown validity state.

   Configured local policy on the router may use the validity state
   markings to implement policy.  For example, a route marked as Invalid
   or Unknown may be dropped or de-preferenced by appropriate use of
   normal BGP policy mechanisms.

   Note that this is similar to annuncement marking while allowing the
   user to control policy as described in RPKI-Based BGP origin
   validation, see [I-D.ietf-sidr-pfx-validate].

5.  L3VPN Deployment Scenarios

   The following L3VPN deployment scenarios illustrate use of the
   scheme.  The examples use the language of symmetric keys which have
   been previously agreed upon between the signer of the route and the
   validator.  Asymmetric keying, a PKI, etc.  could also be used.
   Signing and validation are as described above.

5.1.  End CE to CE Authentication

   CE1 ---- PE1 --------- PE2 -- CE2
                   AS1
   
   CE1 ---- PE1 --------- ASBR1 ----- ASBR2 -------- PE2 ---- CE2
                   AS1                        AS2

   CE1 and CE2 are end CEs in the same VPN.  PE1, PE2, ASBR1, ASBR2 are
   provider PE/ASBRs which are blindly propagating the announcement with
   the L3OPA as generated by CE1.

   As the authorization is between the originating CE1 and the
   terminating CE2, the keying should not be known by the provider(s).
   The CEs are configured with the keying information, the originating
   CE1 creates and signs an L3OPA for each NLRI participating in the
   VPN.

   An update received by CE2 without an L3OPA, or having an Invalid
   Signature would likely be dropped.  Thus the CEs are protected from
   incorrect prefixes originating from a provider network or
   unauthorized CEs.

5.2.  Provider/ASBR Based Validation/Authentication

   CE1 ---- PE1 --------- ASBR1 ----- ASBR2 -------- PE2 ---- CE2
                    AS1                       AS2

   In the diagram, CE1 is the originating/signing CE.  ASBR2 is the
   trusted provider with whom CE1 has collaborated.  Updates generated
   by CE1 may be passed transparently through any number of intermediate
   providers, ASBR1s, which blindly propagate the L3OPA.  Validation is
   performed when the announcement reaches the trusted validating
   provider, ASBR2.


Bush, et al.             Expires April 02, 2013                 [Page 5]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012


   Keying is agreed between CE1 and the trusted provider ASBR2, likely
   on per-VPN basis.

5.3.  PE-PE Based Validation

   CE1 ------ PE1 --------- ASBR1 ---- ASBR2 -------- PE2 ------ CE2
                         AS1             |      AS2
                                         |
                      CE3 ---- ASBR3 ----+
                           AS3

   Here PEs, possibly across ASes, agree on the keying.  The Key
   Identifier and associated keys would normally be configured on a per
   VPN basis, with the PE1 signing and PE2 and PE3 validating similarly
   to the CEs in the previous examples.

   CE1 originates an announcement, possibly with multiple NLRI, but
   without an L3OPA.  PE1 de-aggregates the NLRI into separate
   announcements, signs each with the keying agreed with PE2 and PE3,
   and propagates them.  Arbitrary providers carry the announcements
   toward PE2 and PE3, where the announcements have their Signatures
   validated, the L3OPAs removed, and are then propagated to CE2 and
   CE3.

6.  Notes

   The keying could either come from the Global RPKI or the customer or
   carrier running their own PKI.  The keying is assumed to be
   asymmetric, but possibly could be symmetric.  The keys can be
   statically configured (beware scaling and key-roll issues), dynamic,
   in some public or private infrastructure, etc.

   If the RPKI is used, and the public key is taken from the CA
   certificate which owns the NLRI, the classic problem arises where all
   the NLRI on that certificate share fate.  I.e.  if one causes the
   need for a re-key, then all must re-key.  RPKI-based origin
   validation solves this problem by a level of indirection, the CA
   certificate is used to sign an End Entity (EE) certificate which
   signs a Route Origin Authorization (ROA), see RFC 6480 [RFC6480] and
   RFC 6482 [RFC6482].  As the Key Identifier of an L3VPN signal is
   larger than the four octets of a ROA, a new RPKI object, for the
   moment let's call it a VOA, would have to be defined and then it
   would have to be carried in the RPKI-Router Protocol [I-D.ietf-sidr-
   rpki-rtr].

   If the value of the signing key, as identified by the Key Identifier,
   is to be rolled, in case of compromise or security policy, the
   technique in RFC 4808 [RFC4808] should be used.






Bush, et al.             Expires April 02, 2013                 [Page 6]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012


   While it is poor security practice to trust a different entity for
   your security/authentication/..., should a non-validating router
   choose to trust a validating router, they could use normal policy and
   signaling mechanisms, e.g.  communities, to signal validation status.
   This page is too small to enumerate the vulnerabilities this creates.

7.  Security Considerations

   Signing (NLRI || Key Identifier) with the key of the NLRI-owner or
   some other pre-agreed key, only says that the contents were produced
   by the owner of the key (NLRI or other), and that no one in between
   has changed the (NLRI || Key Identifier).  This is not protection
   against attacks, only configuration errors, aka 'fat fingers'.  If we
   were trying to protect against an attacking PE replaying a signed (
   NLRI || Key Identifier) it has no business announcing, this design
   does not help.

   If Key Identifier based keying is used, then the Key Identifier, and
   hence the signing key, MUST be unique to the VPN.

   Adding a VOA which binds ( NLRI || Key Identifier ) still could be
   replayed from anywhere so really offers nothing.  Like RPKI-based
   origin validation, this only catches fat fingers, not black hats.

8.  IANA Considerations

   This document requests the IANA create a new entry in the BGP Path
   Attributes Registry as follows:

        Value   Code               Reference
        -----   -----------------  ---------
         TBD    L3VPN Origination  This Document

9.  Acknowledgements

   The authors would like to thank Eric Rosen, John Scudder, Russ
   Housley, and Sandy Murphy.

   We note the long expired draft draft-ietf-l3vpn-auth by Ron Bonica,
   Yakov Rekhter, Eric Rosen, Robert Raszuk, and Dan Tappan.

10.  References

10.1.  Normative References

   [I-D.ietf-sidr-bgpsec-algs]
              Turner, S., "BGP Algorithms, Key Formats, & Signature
              Formats", Internet-Draft draft-ietf-sidr-bgpsec-algs-03,
              September 2012.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.


Bush, et al.             Expires April 02, 2013                 [Page 7]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012


   [RFC4271]  Rekhter, Y., Li, T. and S. Hares, "A Border Gateway
              Protocol 4 (BGP-4)", RFC 4271, January 2006.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, February 2006.

   [RFC4808]  Bellovin, S., "Key Change Strategies for TCP-MD5", RFC
              4808, March 2007.

   [RFC6480]  Lepinski, M. and S. Kent, "An Infrastructure to Support
              Secure Internet Routing", RFC 6480, February 2012.

10.2.  Informative References

   [I-D.ietf-sidr-pfx-validate]
              Mohapatra, P., Scudder, J., Ward, D., Bush, R. and R.
              Austein, "BGP Prefix Origin Validation", Internet-Draft
              draft-ietf-sidr-pfx-validate-10, October 2012.

   [I-D.ietf-sidr-rpki-rtr]
              Bush, R. and R. Austein, "The RPKI/Router Protocol",
              Internet-Draft draft-ietf-sidr-rpki-rtr-26, February 2012.

   [RFC6482]  Lepinski, M., Kent, S. and D. Kong, "A Profile for Route
              Origin Authorizations (ROAs)", RFC 6482, February 2012.

Authors' Addresses

   Randy Bush
   Internet Initiative Japan
   5147 Crystal Springs
   Bainbridge Island, Washington 98110
   US
   
   Email: randy@psg.com


   Keyur Patel
   Cisco Systems
   170 W. Tasman Drive
   San Jose, CA 95134
   USA
   
   Email: keyupate@cisco.com


   Pranav Mehta
   Cisco Systems
   170 W. Tasman Drive
   San Jose, CA 95134
   USA
   
   Email: pmehta@cisco.com

Bush, et al.             Expires April 02, 2013                 [Page 8]

Internet-Draft Authenticating L3VPN Origination Signaling   October 2012



   Arjun Sreekantiah
   Cisco Systems
   170 W. Tasman Drive
   San Jose, CA 95134
   USA
   
   Email: asreekan@cisco.com


   Luay Jalil
   Verizon
   1201 E Arapaho Rd.
   Richardson, TX 75081
   USA
   
   Email: luay.jalil@verizon.com




































Bush, et al.             Expires April 02, 2013                 [Page 9]