Internet DRAFT - draft-declercq-bgp-mpls-vpn-sec-ext
draft-declercq-bgp-mpls-vpn-sec-ext
Network Working Group Jeremy De Clercq
Internet Draft Yves T'Joens
Expiration Date: August 2001 Olivier Paridaens
Alcatel
Chandru Sargor
Vijay Srinivasan
Cosine
February 2001
Considerations about possible security extensions to BGP/MPLS VPN
<draft-declercq-bgp-mpls-vpn-sec-ext-00.txt>
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. Internet-Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet-
Drafts as reference material or to cite them other than as a
``working draft'' or ``work in progress.''
To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au(Pacific
Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
Distribution of this memo is unlimited.
Abstract
Purpose of this document
The aim of this text is to contribute to the design work of the
Provider Provisioned VPN Working Group. This text contains the
motivation and requirements for extending the BGP/MPLS VPN model with
security measures. Further, the draft explores some possible
extensions to meet the listed requirements. Note that the procedures
discussed in this draft relate to the backbone of the architecture
De Clercq, et al. Expires August 2001 [Page 1]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
(between peer PEs), and not to the CE-PE communication. It is assumed
that the reader is familiar with the concepts and mechanisms of
BGP/MPLS VPN [RFC2547bis].
1. Motivation
With the possible large deployment of Provider Provisioned VPNs as a
major service in provider networks, the motivation to extend a
largely supported model as BGP/MPLS VPN is manyfold:
- BGP/MPLS VPN relies on a completely MPLS-aware provider network. As
some service providers might want to offer PP-VPN services before
their core network is completely MPLS-capable (transition scenario),
and as inter-SP VPN scenarios might use non-MPLS capable pieces of
the network, an extension of BGP/MPLS VPN, to make the model
applicable in non-MPLS networks, in a secure and scalable way, would
be very usuable.
- As "data separation" (see section 2) might not offer a sufficient
level of security in many of the currently available network
architectures, a scalable way to integrate stronger security
offerings into the existing BGP/MPLS VPN model should be provided.
Even if an MPLS backbone is used, stronger security measures are
useful.
2. Security Requirements for the Service Provider's Backbone network
This section lists some possible requirements for the security
measures applied in the Service Provider's backbone network. These
apply to every possible piece of the path between two Provider Edge
Devices.
- Possibility to offer different levels of security.
The BGP/MPLS VPN model in itself offers inherent data privacy by
means of "data separation". This means that the data traffic
belonging to different VPNs is always handled in different
contexts. BGP/MPLS VPN does this by using separate VRFs in the PE
boxes and by using the MPLS label stacking functionality. The
result of this data separation is that traffic from a certain VPN
(context) cannot be injected deliberately or accidentally into
another VPN, and that traffic belonging to a certain VPN (context)
cannot be deliberately or accidentally received in another VPN
(context).
While this technique to assure data privacy might be sufficient in
network environments where the service provider is in full control
of every network element, it might not be sufficient in network
De Clercq, et al. Expires August 2001 [Page 2]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
environments where the service provider's network consists of a
'dark fiber' network that belongs to a third party, and where the
'data privacy' security aspect relies on a 'trusting'
relationship.
Moreover, as we can assume that the scope of VPNs will in certain
situations not be restrained to one single domain, it is very
likely that the 'backbone network' might consist of different
parts owned by different parties.
Based on these observations, a PP-VPN model should be easily
extendable to allow for the offering of e.g. encryption security
in a scalable way.
- The application of different possible granularities in the offering
of different security levels.
Possible granularities include : PE-PE security offering, per-VPN
security offering, per-route security offering.
* PE-PE security offering
In this scenario, the security levels are specified between two
PE devices. This means that all the VPN traffic between two PEs
is subject to the same level of security.
* per-VPN security offering
In this scenario, the security levels are specified per VPN
context between two PE devices. This means that the traffic
between two PEs, belonging to different VPNs can be subject to
a different level of security.
* per-route security offering
This scenario gives the finest granularity of security
offering, the security level to be applied between both PEs can
be specified for every individual VPN route.
- distribution of the required level of security, according to a
specific granularity
The communication of the level of security to be used for a
certain part of the data traffic would be an added value to the
VPN deployment model. This would mean that a PE device that peers
with a certain customer site would announce to its peer PE devices
which level of security to use to send traffic to the considered
site. Depending on the possible granularity, this announced level
De Clercq, et al. Expires August 2001 [Page 3]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
of security would apply to all the VPN traffic sent to the
announcing PE, to the traffic sent to a specific VPN, or to the
traffic sent to a specific VPN route.
3. BGP/MPLS VPN extensions
3.1 BGP/IPSEC VPN
The Internet-Draft [bgp/ipsec] describes a method that allows to
extend BGP/MPLS VPN over non-MPLS parts of the network and to offer
IPsec [RFC2401] security in a scalable way.
3.1.1 Mapping on the requirements
- possibility for different levels of security : the model inherits
implicitely the IPsec security features for all VPN traffic between
two PE devices.
- possibility for the announcement of different security
granularities : as the label that is announced via BGP in BGP/IPSEC
VPN is meant to be inserted in the SPI-suffix part of the SPI (and as
such identifying a certain security association), and as the egress
PE chooses and distributes this label-value, this label can also
implicitely indicate a security level to use. This allows for a per-
route security-level announcement.
3.1.2 Changes to existing protocols/models
- BGP/IPsec VPN does not require any changes to BGP and does not
require any new BGP attributes compared to [RFC2547bis].
- BGP/IPsec VPN requires changes in the interpretation of the SPI-
field in the IKE [IKE] and IPsec [RFC2401] processing, but doesn't
require changes to the IPsec framework.
- An optimisation of BGP/IPSec VPN requires the source IP address to
be taken into account during the Security Association selection
process.
3.2 BGP/'MPLS-IN-IP' VPN
An alternative method to achieve BGP/MPLS VPN functionality in non-
MPLS networks and to add PE-to-PE IPsec security in a scalable way is
by using "MPLS-IN-IP" [mpls-in-ip]. This method uses normal IP-
forwarding in the backbone SP network, and distributes the VPN-routes
with BGP, as in [RFC2547bis]. The separation of the contexts in the
shared backbone is achieved by encapsulating a labelled MPLS frame
into an ordinary IP packet.
De Clercq, et al. Expires August 2001 [Page 4]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
3.2.1 VPN Route Distribution
The VPN Route Distribution is as in [RFC2547bis]. A PE announces its
customer routes via BGP. Such a BGP-message contains a labelled VPN-
IPv4 address/prefix.
3.2.2 End-to-end packet flow
The customer CE device sends a private IP packet (that might have a
private destination IP address) towards his PE. In the PE, a lookup
for that IP packet is done in the appropriate VRF. This lookup will
result in a next hop PE destination address and an MPLS label L to
use. The PE will now encapsulate the private IP packet in an MPLS
frame with 1 label in the shim header : the label L.
As the provider's backbone is not MPLS-aware, the PE will encapsulate
the constructed MPLS frame in a new IP packet, with the next hop PE
as the destination address. At this stage, the packet that will be
sent into the PE's backbone consists of the following parts :
___________________________________________________________________
| new IP hdr | MPLS shim (1 label) | priv IP hdr | priv payload ... |
-------------------------------------------------------------------
Based on the destination address in the outer IP header, the packet
will be forwarded correctly through the SP's backbone towards the
'next hop PE'.
Based on the outer IP header, the receiving PE will know that the
payload is an MPLS frame and based on the MPLS label that is
contained in the MPLS shim header, the receiving PE will handle the
private IP packet appropriately (in the correct VPN context).
This method does not imply any MPLS knowledge in the core of the SP
network. The only SP MPLS-aware network elements are the Provider
Edge Devices.
3.2.3 Mapping on the requirements
- possibility for different levels of security :
- no extra security is implicit
- IPsec mechanisms directly applicable by using IPsec transport
mode for the VPN traffic between 2 PEs. The complete MPLS frame is
covered by IPsec then.
- possibility for the announcement of different security
De Clercq, et al. Expires August 2001 [Page 5]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
granularities : by adding a new BGP attribute containing the SPI that
identifies a specific Security Association to the BGP distribution of
VPN addresses, a per-route security level can be announced when
distributing VPN routes from PE to PE. This requires the definition
of a new BGP attribute, containing an SPI value.
- possibility for the announcement of per-VPN security at VPN set-up
as is described in "BGP/VPN: VPN information discovery for Network-
based VPNs"[BGP/VPN].
This allows the egress PE device to announce to the ingress PE
devices which IPsec tunnel to use for what specific routes. This
scenario assumes that the egress PE chooses the SPI indexes and is
able to use the same SPI value for different ingress PE devices.
3.2.4 Changes to existing protocols/models
- A new BGP attribute is required to be able to announce the per-
route security level.
- No changes to IKE/IPsec framework are required.
- An optimization for the announcement of different security levels
requires the IP source address to be used for the Security
Association selection process.
- The PE devices must be able to encapsulate MPLS frames in IP
packets and to appropriately handle such packets.
3.3 Example
3.3.1 Different Levels of Security
Assume that a SP offers two levels of security over its backbone.
Assume that for that purpose, PE1 can receive VPN traffic through two
different tunnels from both PE2 and PE3. Assume that these two
tunnels are represented by two security associations : SA_strong and
SA_weak. Assume now that PE1 has chosen the SPI-indexes to identify
these SA's, and that it chooses SPI_S for SA_strong and SPI_W for
SA_weak.
De Clercq, et al. Expires August 2001 [Page 6]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
___ ___ ___
| | | | | |
| |________SA_S________ | |____SA_S_______| |
|PE2|-------------------- |PE1|---------------|PE3|
| |________SA_W________ | |____SA_W_______| |
| |-------------------- | |---------------| |
--- --- ---
- In BGP/IPSEC VPN, PE1 will announce its customers' routes to PE2
and PE3, and the label that PE1 announces with these routes will not
only be used to identify the correct VPN context, but PE2 and PE3
must be able to interprete (parts of) the announced label to choose
the appropriate IPsec SA to use for that particular traffic.
- In "MPLS-IN-IP", PE1 will announce its customers routes via BGP to
PE2 and PE3, and must add a new BGP attribute to its message to
identify the SA to use for that particular traffic (for per-route
security granularity). For per-VPN security granularity, the SPI to
use (or another identifier) might have been distributed as in
[BGP/VPN] during the information discovery.
3.3.2 Differences between the two proposed models
The model presented in [bgp/ipsec] offers the least data overhead,
but requires a new interpretation of the SPI-field in the IKE and
IPsec processing.
The model that we called BGP/MPLS-IN-IP needs no changes to the IKE
nor IPSEC interpretation of the SPI field, but it requires more data
overhead, and a new BGP attribute to bind the security level to a
labelled route.
4. Security Considerations
This draft focuses on the security considerations of BGP/MPLS VPN
[RFC2547bis].
5. Acknowledgements
We would like to thank Eric Rosen for his valuable comments that lead
to the section "MPLS-IN-IP" and all the contributors to the
discussions on the NB-VPN exploder.
6. References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997
De Clercq, et al. Expires August 2001 [Page 7]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
[RFC2547] Rosen, E. and Rekhter, Y., "BGP/MPLS VPN", RFC 2547, March
1999.
[RFC2547bis] Rosen E., Rekhter Y., et al., "BGP/MPLS VPN", Work in
Progress.
[RFC2401] Kent, S. and Atkinson R., "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.
[bgp/ipsec] De Clercq, J. et al, "BGP/IPsec VPN", Work in Progress.
[mpls-in-ip] Worster, T., et al, "MPLS Label Stack Encapsulation in
IP", Work in Progress.
[IKE] Harkins, D., Carrel, D., "The Internet Key Exchange", RFC 2409,
November 1998.
[BGP/VPN] Ouldbrahim, H., et al., "BGP/VPN: VPN information discovery
for Network-based VPNs", Work in progress
7. Authors' Addresses
Jeremy De Clercq
Alcatel
Francis Wellesplein 1
2018 Antwerpen, Belgium
Phone: +32 3 240 4752
Email: jeremy.de_clercq@alcatel.be
Yves T'joens
Alcatel
Francis Wellesplein 1
2018 Antwerpen, Belgium
Phone : +32 3 240 7890
Email : yves.tjoens@alcatel.be
Olivier Paridaens
Alcatel
Francis Wellesplein 1
2018 Antwerpen, Belgium
Phone: +32 3 240 9320
Email: olivier.paridaens@alcatel.be
Chandru Sargor
CoSine Communications
1200 Bridge Parkway
Redwood City, CA 94065
Email: csargor@cosinecom.com
De Clercq, et al. Expires August 2001 [Page 8]
Draft draft-declercq-bgp-mpls-vpn-sec-ext-00.txt February 2001
Vijay Srinivasan
CoSine Communications
1200 Bridge Parkway
Redwood City, CA 94065
Email: vijay@cosinecom.com
De Clercq, et al. Expires August 2001 [Page 9]