Routing Protocol Security B. Christian Requirements KMC Telecom Solutions Internet-Draft B. Akyol Expires: December 30, 2004 R. White Cisco Systems J. Haas Next Hop Technologies S. Murphy Trusted Information Systems July 2004 BGP Security Requirements draft-christian-bgpsecrec-01 Status of this Memo 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, in accordance with Section 6 of RFC 3668. 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. This Internet-Draft will expire on December 30, 2004. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract The security of BGP is critical to the continued health and well being of internetworking. While securing a link between two BGP peers is a relatively easy technical matter, the manner in which to Christian, et al. Expires December 30, 2004 [Page 1] Internet-Draft BGP Security Requirements July 2004 do so is not standard. Additionally, a secure link does not provide security or authentication of the routes updates themselves. In this document, we describe a set of requirements for securing BGP, both in the areas of peering relationships and prefix authentication. Christian, et al. Expires December 30, 2004 [Page 2] Internet-Draft BGP Security Requirements July 2004 1. Introduction Threats to networking protocols generally fall under one of the three categories as defined in RFC 2196: o Unauthorized access to resources and/or information o Unintended and/or unauthorized disclosure of information o Denial of service A number of attacks can be realized which, if exploited, can lead to one of the above mentioned threats. These are typically classified as passive attacks and active attacks. Passive attacks are ones where an attacker simply reads information off the network and obtains confidential and/or private information. Active attacks are ones where the attacker writes data to the network and can include replay attacks, message insertion, message deletion, message modification and man-in-the-middle attacks. Often, these attacks are combined as in the instance where a forged BGP packet is injected into a BGP routing infrastructure to force a particular data path for traffic that can then be sniffed and used for further destructive behavior. Some of the attacks against normal BGP protocol behavior can be difficult to recognize or prevent and these fall outside of the scope of this document. Protecting against an attack where an end-system has been compromised is also extremely difficult although wherever possible the requirements will attempt to minimize the extent of the damage under these circumstances. The intent of this requirements document is to prevent attacks that originate false data or create invalid routing paths and therefore addresses issues relating to data integrity and peer entity authentication. As described in RFC 3552, data integrity protection ensures that data is not modified in transit and peer entity authentication ensures that there is a reasonable guarantee that the sender and recipient of the data are the intended parties. The guarantee of packet delivery is not part of the BGP protocol security model. Just because a packet is addressed to a specific peer does not mean it will be received, even with a "secure" route. For example: an attacker could have compromised an intermediate router and installed a static route for target address A.B.C.D pointing to an inappropriate direction or an attacker might splice into a circuit between two secure routers and install a device that diverts A.B.C.D traffic without requiring the compromise of control plane devices. Christian, et al. Expires December 30, 2004 [Page 3] Internet-Draft BGP Security Requirements July 2004 2. Definition of Verifiable For the purposes of this document the word verifiable indicates the ability to determine through algorithmic means whether a unit of information is correct. Christian, et al. Expires December 30, 2004 [Page 4] Internet-Draft BGP Security Requirements July 2004 3. Incremental Deployments Requirements The following attributes of BGP SHOULD be preserved with a security mechanism in place: o BGP's convergence speed, with a security system in operation, SHOULD be equivalent to or faster than BGP running without the security system in operation. This includes the preservation of optimizations currently used to produce acceptable convergence speeds on current hardware, including update packing, peer groups, and others. o Current timers, including hold timers, keepalive timers, and the peering process, SHOULD NOT be impacted by the security system. o BGP SHOULD support both secured and unsecured routes with the security system in place. o The security system MUST support a range of possible outputs for local determination of the trust level for a specific route. Any given route should be trustable to a locally configured degree, based on the completeness of security information for the update and other factors. o The security system SHOULD allow the operator to determine whether the speed of convergence is more important than security operations, or security operations are more important than the speed of convergence. This facilitates the incremental deployment of security on systems not designed to support increased processing requirements imposed by the security system. Network recovery times for secured routing as well as unsecured routing SHOULD work with similar speed and SHOULD perform with equivalent, or greater, rapidity than legacy routing methods. Unsecured routing of secured prefixes MUST be supported so that a mix of secured and unsecured routing paths will provide security for the prefixes that have security features applied, but will not penalize or preempt "normal" prefixes. Christian, et al. Expires December 30, 2004 [Page 5] Internet-Draft BGP Security Requirements July 2004 4. Trust Models 4.1 Trust Model Examples One example of a trust model is a distributed trust system. Inter-domain routing as implemented today is based on the concept of distributed trust. There is no central authority; each AS is free to choose whom to trust and whom to avoid placing trust in. This model is expressed through the filtering of routing information received from BGP peers. Financial contracts and business arrangements play a large role in how an AS chooses to filter their peers. A second trust model is a hierarchical system much like how root certificates for SSL/TLS are distributed today. In this model, a central authority controls all information. For example, all address allocations are authenticated and signed by ICANN, then by a regional registry, then a large ISP, a small ISP, etc. ICANN serves as the root of the address allocation system. This type of trust is usually referred to as a strict hierarchical trust model or a chain of trust. 4.2 Trust Model Recommendation While there are a number of trust models available, a distributed trust mechanism lends itself well to the current model used throughout the various networks and internetworks making up the public Internet and other large scale internetworks. In the public Internet today, larger service providers trust each other to appropriately deploy edge based filtering mechanisms to protect the Internet as a whole and to protect sensitive inter- provider peering sessions. These peering relationships, with their interprovider legal contracts and partnerships, are comparable to the relationships established within the PGP web of trust. The establishment of a distributed trust mechanism allows operators to make their own decisions about the level with which they trust their peers and their customers. Operators may choose to honor, or create, a strict hierarchy of trust up to the level of numbering authority within the distributed model if so desired. A distributed trust model that allows for varying levels of trust based on operator input and a trust hierarchy MUST be supported. The distributed trust model SHOULD allow for a strict hierarchy to root authorities if desired. Christian, et al. Expires December 30, 2004 [Page 6] Internet-Draft BGP Security Requirements July 2004 5. Path Attributes and NLRI Authentication BGP distributes routing information across the Internet (between BGP speakers) using the BGP UPDATE messages. The UPDATE message contains withdrawn routes, path attributes and one or more NLRIs. For the remainder of this section, we will focus on Path Attributes and the NLRI. The AS_PATH for specific prefixes must be protected in any proposed security system in three ways: o Authorization of Originating AS: For all prefixes announced in BGP, the originating AS MUST be verifiable through the trust model as the authorized announcer of the prefix. The verification mechanism must account for existing BGP mechanisms such as summarization. o The AS_PATH list MUST correspond to a verifiable list of autonomous systems based on the peering topology of the network. o Announcing AS Check: For all BGP peers, a BGP Implementation MUST ensure that the first element of the AS_PATH list corresponds to the locally configured AS of that peer. Since BGP is a stateful routing protocol, the timeliness and freshness of reachability updates are critical for consistent routing state within the BGP routing system. To this end, there MUST be a mechanism to ensure that changes to reachability that result in an explicit or implicit withdrawal of reachability (RFC1771) are propagated within the secured BGP routing system in a timely manner. Two types of verification MAY be offered for the NLRI and the AS_PATH: o Contents of the UPDATE message SHOULD be authenticated in real-time as the UPDATE message is processed. o The route information base MAY be authenticated periodically or in an event driven manner by scanning the data and verifying the originating AS and the verifiability of the AS-PATH list. All BGP implementations that implement security MUST utilize at least one of the above methods for validating routing information. Real time verification is preferred in order to prevent transitive failures based on periodic or event driven scan intervals. The originating AS of a prefix may occasionally need to be changed either due to a re-assignment or a network transition. Any BGP security mechanism MUST support the change of an originating AS for a prefix within normal convergence times of the internetwork. Christian, et al. Expires December 30, 2004 [Page 7] Internet-Draft BGP Security Requirements July 2004 5.1 Address Allocation As part of the regular operation of the Internet, addresses that are allocated to an organization may be advertised by a different organization. Common reasons for this practice include multi-homing and route reduction for the purposes of resource conservation. There are two modes of delegation: o Mode 1 Delegation: In this mode, a BGP speaker and listener have chosen to restrict the amount of received prefixes for the listener. The listener has chosen to honor route announcements sent in a summary fashion by the speaker. o Mode 2 Delegation: In this mode, the address space that is being delegated is part of a larger allocation that is owned by an autonomous system. The owner then delegates the smaller block to another AS for purposes of advertisement. This mode is commonly observed in multi-homing. These two modes lead to a single common requirement: Any BGP Security solution MUST support delegation of an address block of any size regardless of its relationship to other address blocks to another entity via verifiable means. An associated delegation criteria is the requirement to allow for non-BGP IP end user implementations. As a result, all secured BGP implementations MUST allow for the propagation of a prefix by more than one originator AS. Christian, et al. Expires December 30, 2004 [Page 8] Internet-Draft BGP Security Requirements July 2004 6. NLRI and Path Attribute Tracking Non-repudiation of a routing update, the ability for a receiver to know exactly who originated and forwarded a routing update, is a desirable trait. This document doesn't make any claims about the technical ability to actually deploy non-reputable security in various networks, including the public Internet, but we do believe non-repudiation to be an important goal. Any security system SHOULD provide some method to allow the receiver of an UPDATE to verify that the originator actually originated the UPDATE, and the AS's listed in the AS_PATH actually forwarded it. The data generated by logging may be very large depending on the number of peers, the number of prefixes received, the authentication model used and routing policies. Path and NLRI attributes MUST be logged using a standard format. The format must be scalable with the amount of data logged and the frequency of log generation. The frequency of log generation should be controllable by the operator. The logging mechanisms for the tracked information MUST be standardized across all platforms. Logging ability both on and off line is considered highly desirable. Christian, et al. Expires December 30, 2004 [Page 9] Internet-Draft BGP Security Requirements July 2004 7. Transport Protection Transport protection is an aspect of BGP routing protocol security and provides the potential for a linked transport/prefix authentication mechanism. This section discusses transport security requirements for BGP and covers peering and authentication of peering. Any proposed security mechanism MUST include provisions for authenticating both iBGP and eBGP peering sessions. Examples of session security mechanisms include TCP-MD5 and IPSec, though possible security alternatives are not limited to those two. Transport protection systems SHOULD function as a component of the BGP routing protocol security mechanism. This includes the use of the same key generation/management systems as the rest of the security system. Authors' Addresses Blaine Christian KMC Telecom Solutions 305 Church Street Suite 715 Huntsville, AL 35801 US Bora Akyol Cisco Systems 170 Tasman Drive San Jose, CA 95134 US Russ White Cisco Systems 7025 Kit Creek Road Research Triangle Park, NC 95134 US Jeffrey Haas Next Hop Technologies 825 Victors Way Suite 100 Ann Arbor, MI 48108 US Christian, et al. Expires December 30, 2004 [Page 10] Internet-Draft BGP Security Requirements July 2004 Sandy Murphy Trusted Information Systems 3060 Washington Road Glenwood, MD 21378 US Christian, et al. Expires December 30, 2004 [Page 11] Internet-Draft BGP Security Requirements July 2004 Appendix A. Acknowledgements The following individuals contributed to the development and review of this draft. Mike Tibodeau, Thomas Renzy, Kaarthik Sivakumar, Tao Wan, Radia Perlman, and Merike Kaeo. This draft was developed based on conversations with various network operators including Chris Morrow, Jared Mauch, Tim Battles, and Ryan McDowell. Christian, et al. Expires December 30, 2004 [Page 12] Internet-Draft BGP Security Requirements July 2004 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Christian, et al. Expires December 30, 2004 [Page 13]