view Side-By-Side changes
Network Working Group L. Berger(LabN)Request for Comments: 5566 LabN Category: Standards TrackRussR. White(Cisco Systems) Expiration Date: October 6, 2009 EricE. Rosen(Cisco Systems) April 6,Cisco Systems June 2009 BGP IPsec Tunnel Encapsulation Attributedraft-ietf-softwire-encaps-ipsec-03.txtStatus ofthisThis Memo ThisInternet-Draft is submitted to IETF in full conformance withdocument specifies an Internet standards track protocol for theprovisions of BCP 78 and BCP 79. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed,Internet community, andany of which he or she becomes aware will be disclosed, in accordance with BCP 78requests discussion andBCP 79. Internet-Drafts are working documentssuggestions for improvements. Please refer to the current edition of theInternet 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"Internet Official Protocol Standards" (STD 1) fora maximum of six monthsthe standardization state andmay 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 liststatus ofcurrent Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The listthis protocol. Distribution ofInternet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on October 6, 2009.this memo is unlimited. Copyrightand LicenseNotice Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.Berger, et al. Standards Track [Page 1] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 2009Abstract The BGP EncapsulationSubsequenceSubsequent Address FamilyIdentifiersIdentifier (SAFI) provides a method for the dynamic exchange of encapsulationinformation,information and for the indication of encapsulation protocol types to be used for different next hops.CurrentlyCurrently, support forGRE, L2TPv3Generic Routing Encapsulation (GRE), Layer 2 Tunneling Protocol (L2TPv3), and IP in IP tunnel types are defined. This document defines support for IPsec tunnel types. Berger, et al. Standards Track [Page 1] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 Table of Contents11. Introduction........................................... 3 1.1....................................................2 1.1. ConventionsusedUsed inthis document ...................... 3 2This Document ..........................2 2. Tunnel Encapsulation Types............................. 3 3......................................3 3. Use of IPsec Tunnel Types.............................. 4 4.......................................3 4. IPsec Tunnel Authenticator sub-TLV..................... 4 4.1..............................4 4.1. Use of the IPsec Tunnel Authenticator sub-TLV.......... 5 5..............5 5. Security Considerations................................ 6 6.........................................5 6. IANA Considerations.................................... 7 7.............................................6 7. References............................................. 7 7.1......................................................7 7.1. Normative References................................... 7 7.2.......................................7 7.2. Informative References................................. 8 8.....................................7 8. Acknowledgments........................................ 9 9 Authors' Addresses ..................................... 9 Berger, et al. Standards Track [Page 2] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 2009.................................................8 1. Introduction The BGP [RFC4271] EncapsulationSubsequenceSubsequent Address FamilyIdentifiersIdentifier (SAFI) allows for the communication of tunnel information and for the association of this information to a BGP next hop. The Encapsulation SAFI can be used to support the mapping of prefixes to next hops and tunnels of the same address family, IPv6 prefixes to IPv4 next hops and tunnels using [RFC4798], and IPv4 prefixes to IPv6 next hops and tunnels using[V4NLRI-V6NH].[RFC5549]. The Encapsulation SAFI can also be used to support the mapping of VPN prefixes to tunnels when VPN prefixes are advertised per [RFC4364] or [RFC4659].[SOFTWIRES][RFC5565] provides useful context for the use of the Encapsulation SAFI. The Encapsulation SAFI is defined in[ENCAPS-SAFI]. [ENCAPS-SAFI][RFC5512]. [RFC5512] also defines support for the GRE [RFC2784], L2TPv3[RFC3931][RFC3931], and IP in IP [RFC2003] tunnel types. This document builds on[ENCAPS-SAFI][RFC5512] and defines support for IPsec tunnels. Support is defined for IP Authentication Header (AH) inTunnel-mode (AH), [RFC4302],tunnel mode [RFC4302] and for IP Encapsulating Security Payload (ESP) inTunnel-mode (ESP),tunnel mode [RFC4303]. The IPsec architecture is defined in [RFC4301]. Support for IP inIP, [RFC2003],IP [RFC2003] andMPLS-in-IP,MPLS-in-IP [RFC4023] protected by IPsec Transport Mode is also defined. The EncapsulationNLRINetwork Layer Reachability Information (NLRI) Format is not modified by this document. 1.1. ConventionsusedUsed inthis documentThis Document 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 [RFC2119]. Berger, et al. Standards Track [Page 2] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 2. Tunnel Encapsulation Types Per[ENCAPS-SAFI],[RFC5512], tunnel type is indicated in the Tunnel Encapsulation attribute. This document defines the following tunnel type values: - Transmit tunnel endpoint: Tunnel Type = 3 - IPsec in Tunnel-mode: Tunnel Type = 4 [RFC4302], [RFC4303] - IP in IP Tunnel with IPsec Transport Mode: Tunnel Type = 5 [RFC2003], [RFC4303] - MPLS-in-IP Tunnel with IPsec Transport Mode: Tunnel Type = 6 [RFC4023] Note, see Section 4.3 of[ENCAPS-SAFI][RFC5512] for a discussion on theBerger, et al. Standards Track [Page 3] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 2009advertisement and use of multiple tunnel types. Note, the specification in [RFC4023] for MPLS-in-IP tunnels with IPsec Transport mode applies as well to IP in IP tunnels. This document does not specify the use of the sub-TLV types defined in[ENCAPS-SAFI][RFC5512] with these tunnel types. See below for the definition of a specific sub-TLV for use with the defined tunnel types. 3. Use of IPsec Tunnel Types The IPsecTunneltunnel types are defined above with the values 4,55, and 6. IfaR1 is a BGP speaker that receives an Encapsulation SAFI update from another BGP speaker, R2, then if R1 has any data packets for which R2 is the BGP next hop, R1 MUST initiate an IPsec SA (security association) of the specified "tunnel type", and all such data packets MUST be sent through that SA. Let R1 and R2 be two BGP speakers that may send data packets through R3, such that the data packets from R1 and from R2 may be received by R3 over the same interface. In this case, when R3 sends an Encapsulation SAFIwhichthat indicates an IPsec tunnel type to R2, then R3 SHOULD also send an update specifying an Encapsulation SAFI with an IPsec tunnel type to R1. That is, on a given interface, if IPsec is required for any data packets, it SHOULD be required for all. This eliminates dependence on the IPsec selector mechanisms to correctly distinguish trafficwhichthat needs to be protected from trafficwhichthat does not. Security policy has the granularity of BGP speaker to BGP speaker. The required security policies must be configured into the BGP speakers. Policies for each SA will typically be established usingIKEv2,Berger, et al. Standards Track [Page 3] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 IKEv2 (Internet Key Exchange) [RFC4306], with either public-key or pre-shared key authentication. The SA MAY also be configured via manual techniques. Manual configuration specification and considerations are defined in [RFC4301],[RFC4302][RFC4302], and [RFC4303] (and includes keys,SPISecurity Parameter Index (SPI) numbers, IPsec protocol, integrity/encryption algorithms, and sequence number mode). 4. IPsec Tunnel Authenticator sub-TLV This document defines a new sub-TLV for use with the Tunnel EncapsulationAttributeattribute defined in[ENCAPS-SAFI].[RFC5512]. The new sub-TLV is referred to as the "IPsec Tunnel Authenticator sub-TLV", and one or more of the sub-TLVs MAY be included in any Encapsulation SAFI NLRI([ENCAPS-SAFI])[RFC5512] indicating aTunnel Typetunnel type defined in this document. Support for the IPsec Tunnel Authenticator sub-TLV MUST be implemented whenever the tunnel types defined in this document areBerger, et al. Standards Track [Page 4] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 2009implemented. However, its use is OPTIONAL, and is a matter of policy. The sub-TLV type of the IPsec Tunnel Authenticator sub-TLV is 3. The sub-TLV length is variable. The structure of the sub-TLV is as follows: - Authenticator Type: two octets This document defines authenticator type 1, "SHA-1 hash of public key", as defined insectionSection 3.7 of RFC 4306. - Value: (variable) A value used to authenticate the BGP speaker that generated this NLRI. The length of this field isisnot encoded explicitly, but can be calculated as (sub-TLV length - 2). In the case of authenticator type 1, this field contains the 20-octet value of the hash. A BGP speakerwhichthat sends the IPsec Tunnel Authenticator sub-TLV with authenticator type 1 MUST be configured with a privatekey,key / public key pair, the public key being the key whose hash is sent in the value field of the sub-TLV. The BGP speaker MUST either (a) be able to generate a self-signed certificate for the public key, or else (b) be configured with a certificate for the public key. When the IPsec Tunnel Authenticator sub-TLV is used, it is highly RECOMMENDED that the integrity of the BGP session itself be protected. This is usually done by using the TCP MD5 option [RFC2385]. Berger, et al. Standards Track [Page 4] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 4.1. Use of the IPsec Tunnel Authenticator sub-TLV Ifaan IPsec Tunnel Authenticator sub-TLV with authenticator type 1 is present in the Encapsulation SAFI update, then R1 (as defined above in Section 3) MUST use IKEv2 [RFC4306] to obtain a certificate from R2 (as defined above in Section 3), and R2 MUST send a certificate for the public key whose hash occurred in the value field of the IPsec Tunnel Authenticator sub-TLV. R1 MUST NOT attempt to establish an SA to R2 UNLESS the public key in the certificate hashes to the same value that occurs in one of the IPsec Tunnel Authenticator sub- TLVs. R2 MUST also perform the reciprocal processing. Specifically, when establishing an SA from R1 and R1 has advertised the IPsec Tunnel Authenticator sub-TLV with authenticator type 1, R2 MUST use IKEv2 [RFC4306] to obtain a certificate from R1, and R1 MUST send a certificate for the public key whose hash occurred in the value fieldBerger, et al. Standards Track [Page 5] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 2009of the IPsec Tunnel Authenticator sub-TLV. R2 MUST NOT attempt to establish an SA to R1 UNLESS the public key in the certificate hashes to the same value that occurs in one of the IPsec Tunnel Authenticator sub-TLVs. Note that the "Transmit tunnel endpoint" tunnel type (value = 3) may be used by a BGP speaker that does not want to be the receiving endpoint of an IPsectunnel,tunnel but only the transmitting endpoint. 5. Security Considerations This document usesIP basedIP-based tunnel technologies to support data plane transport. Consequently, the security considerations of those tunnel technologies apply. This document defines support for IPsec AH [RFC4302] and ESP [RFC4303]. The security considerations from those documents as well as [RFC4301] apply to the data plane aspects of this document. As with[ENCAPS-SAFI],[RFC5512], any modification of the information that is used to form encapsulation headers,orto choose a tunnel type, or to choose a particular tunnel for a particular payloadtype,type may lead to user data packetsmay end upgetting misrouted, misdelivered, and/or dropped. Misdelivery is less of an issue when IPsec isusedused, as such misdelivery is likely to result in a failure of authentication or decryption at the receiver. Furthermore, in environments where authentication of BGP speakers is desired, the IPsec Tunnel Authenticator sub-TLV defined in Section 4 may be used. Berger, et al. Standards Track [Page 5] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 More broadly, the security considerations for the transport of IP reachability information using BGP are discussed in [RFC4271] and [RFC4272], and are equally applicable for the extensions described in this document. If the integrity of the BGP session is not itself protected, then an imposter could mount adenial of servicedenial-of-service attack by establishing numerous BGP sessions and forcing an IPsecSAsSA to be created for each one. However, as such an imposter could wreak havoc on the entire routing system, this particular sort of attack is probably not of any special importance. It should be noted that a BGP session may itself be transported over an IPsec tunnel. Such IPsec tunnels can provide additional security to a BGP session. Themanagmentmanagement of such IPsec tunnels is outside the scope of this document.Berger, et al. Standards Track [Page 6] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 20096. IANA Considerations IANAis requested to administeradministers the assignment of new namespaces and new values for namespaces defined in this document and reviewed in this section.Upon approval of this document, theIANAwill makehas made theassignmentfollowing assignments in the "BGP Tunnel Encapsulation Attribute Tunnel Types"and the "BGP Tunnel Encapsulation Attribute Sub-TLVs" registries. Tunnel Typeregistry. Value Name Reference---------------- ---- ---------Reserved: Type =3[This document]Transmit tunnel endpoint [RFC5566] 4 IPsec inTunnel-mode: Type = 4 [This document]Tunnel-mode [RFC5566] 5 IP in IP tunnel with IPsec TransportMode: Type = 5 [This document]Mode [RFC5566] 6 MPLS-in-IP tunnel with IPsec TransportMode: Type = 6 [This document]Mode [RFC5566] IANA has made the following assignment in the "BGP TunnelType Sub-TLV TypeEncapsulation Attribute Sub-TLVs" registry. Value Name Reference----------- ----------------- ---- ---------3,4,5,63 IPsec TunnelAuthenticator: Type = 3 [This document]Authenticator [RFC5566] Berger, et al. Standards Track [Page 6] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 7. References 7.1. Normative References[ENCAPS-SAFI] Mohapatra, P., Rosen, E., "BGP Information SAFI and BGP Tunnel Encapsulation Attribute", Work[RFC2119] Bradner, S., "Key words for use inProgress, draft-ietf-softwire-encaps-safi-05.txt, February 2009.RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4271] Rekhter, Y.,Ed. et al,Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. [RFC4301] Kent,S.,S. and K. Seo,K.,"Security Architecture for the Internet Protocol", RFC 4301, December 2005. [RFC4302] Kent, S., "IP Authentication Header", RFC 4302, December 2005. [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", RFC 4303, December 2005. [RFC4306] Kaufman, C., Ed., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, December 2005.Berger, et al. Standards Track [Page 7] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt[RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute", RFC 5512, April6, 20092009. 7.2. Informative References [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, October 1996.[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels," RFC 2119.[RFC2385] Heffernan, A., "Protection of BGP Sessions via the TCP MD5 Signature Option", RFC 2385, August 1998. [RFC2784] Farinacci, D.,et al,Li, T., Hanks, S., Meyer, D., and P. Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, March 2000. [RFC3931] Lau, J., Ed.,et al,Townsley, M., Ed., and I. Goyret, Ed., "Layer Two Tunneling Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005. [RFC4023] Worster, T., Rekhter, Y., and E. Rosen,E.,Ed., "Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE)", RFC 4023, March 2005. Berger, et al. Standards Track [Page 7] RFC 5566 BGP IPsec Tunnel Encapsulation June 2009 [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 4272, January 2006. [RFC4364] Rosen,E.,E. and Y. Rekhter,Y.,"BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, February 2006. [RFC4659] De Clercq, J.,et al,Ooms, D., Carugi, M., and F. Le Faucheur, "BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN", RFC 4659, September 2006. [RFC4798]J.De Clercq,D.J., Ooms,S.D., Prevost, S., and F. Le Faucheur, "Connecting IPv6 Islands over IPv4 MPLSusingUsing IPv6 Provider Edge Routers (6PE)", RFC 4798, February 2007.[SOFTWIRES] Wu, J. et al, "Softwire Mesh Framework", Work in Progress, draft-ietf-softwire-mesh-framework-06.txt, February, 2009. [V4NLRI-V6NH] F.[RFC5549] Le Faucheur, F. and E. Rosen, "AdvertisinganIPv4NLRINetwork Layer Reachability Information with an IPv6 Next Hop",Work in Progress, draft-ietf-idr-v4nlri-v6nh-01.txt, October 2007. Berger, et al. Standards Track [Page 8] Internet-Draft draft-ietf-softwire-encaps-ipsec-03.txt April 6, 2009RFC 5549, May 2009. [RFC5565] Wu, J., Cui, Y., Metz, C. and E. Rosen, "Softwire Mesh Framework", RFC 5565, June 2009. 8. Acknowledgments The authors wish to thank Sam Hartman and Tero Kivinen for their help with the security-related issues.9.Authors' Addresses Lou Berger LabN Consulting, L.L.C. Phone: +1-301-468-9228Email:EMail: lberger@labn.net Russ White Cisco SystemsEmail:EMail: riw@cisco.com Eric C. Rosen Cisco Systems, Inc. 1414 Massachusetts Avenue Boxborough, MA, 01719Email:EMail: erosen@cisco.com Berger, et al. Standards Track [Page9] Generated on: Mon Apr 6 13:42:02 EDT 20098] ----