Routing Protocol Security B. Christian, Ed. Requirements KMC Telecom Solutions Internet-Draft Feb 2004 Expires: August 1, 2005 BGP Security Requirements draft-ietf-rpsec-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 August 1, 2004. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract The security of BGP is critical to the proper operation of large-scale internetworks, both public and private. While securing the information transmitted between two BGP speakers is a relatively easy technical matter, securing BGP, as a routed system, is more complex. This document describes a set of requirements for securing BGP, including securing peering relationships between BGP speakers, and authenticating the routing information carried within BGP. Christian Expires August 1, 2004 [Page 1] Internet-Draft BGP Security Requirements Feb 2004 1. Introduction 1.1 System Description BGP is described in RFC1771 [3] as a routing protocol. Essentially, BGP speakers exchange information about reachable destinations in an internetwork through a peering session. Once this information has been exchanged, each BGP speaker locally determines a loop free path to each reachable destination, based on local policy, policy indicators (or policies) carried in the update, and the AS Path carried in the BGP update. 1.2 Threats Threats to networking protocols generally fall under one of the three categories as defined in RFC 2196 [1]: 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. These attacks are often combined. Attacks that do not involve direct manipulation of BGP, and the information contained within it, are outside the scope of this document. When possible, the requirements will attempt to minimize the extent of the damage that occurs when end systems come under attack. 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 [2], 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. Guaranteed packet delivery is not part of the BGP protocol security model. Just because a packet is addressed to a specific destination does not mean it will be received, even with a "secure" route. For example: an attacker could have compromised an intermediate router Christian Expires August 1, 2004 [Page 2] Internet-Draft BGP Security Requirements Feb 2004 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. 1.3 Areas to secure There are two primary points where BGP may be secured. If we examine the system description presented above those points are as follows. o The session between two BGP speakers can be secured such that the BGP data received by the BGP speakers can by cryptographically verified to have been transmitted by the other speaker. o The originator and the propagators of prefix information may have their policy information verified such that the intent of the policy with respect to the specific prefix is preserved There are also several questions we can ask about the information contained within a received update. o Is the originating Autonomous system authorized to propagate the prefix we have received? o Is the AS path, received via an UPDATE, valid? The verification of AS-Path validity falls into three distinct categories. o Does the AS-Path specified actually exist and, based on the AS-PATH, is it possible to traverse that path to reach a given prefix? o Has the update actually travelled the path? o Was the update authorized to traverse the given path by the originator of the prefix? In this draft we do not attempt to set requirements dealing with the third question presented above. However, the needs of the operators of the systems that use BGP are such that the first two questions are of key importance to any secured interdomain routing system. Christian Expires August 1, 2004 [Page 3] Internet-Draft BGP Security Requirements Feb 2004 2. Application Concepts In order to properly identify security requirements it is important to cover the fundamental aspects of BGP as related to security requirements. The following list presents the basic parameters and application concepts of BGP that will be covered by this document. o Peer Communication: BGP traffic travels over TCP between peers, so BGP speakers assume the TCP data delivery guarantees of TCP in a benign environment. This includes ordered, error-free delivery of application traffic from a peer identified by an IP address, plus integrity of the control aspects of TCP. From a security perspective, these guarantees need to be enforced in the context of possible active wiretapping. o Routing and Reachability: BGP is a protocol used to convey routing and reachability information both internal and external to an Autonomous System. Typically, internal BGP is used to distribute prefix reachability information in conjunction with an IGP and is used by a distinct network administrative entity to convey internal routing policy regarding external and internal information. External BGP is typically used to distribute route/ prefix reachability information between two distinct routing entities and is used to signal forwarding preferences and policy decisions. o Inter-AS UPDATE Message assumptions: When an AS distributes reachability information to a peer it is done with the intent of affecting routing decisions by the peer. For example, an AS-A sends peer AS-B a less specific advertisement and peer AS-C a "more" specific advertisement. This prefix distribution decision may have been made to provide a means for failure resolution between AS-A and AS-C. Update messages are sent between AS peers with the implicit assumption that those messages will be forwarded to others. A notable exception to this assumption is the use of various policy based mechanisms between peers such as the NO-EXPORT community. In this document an important aspect of the UPDATE message to note is that the specific UPDATE message itself is typically not re-transmitted. Instead, the specific UPDATE message is regenerated continually as it passes from BGP speaker to BGP speaker. Furthermore, UPDATE messages have no mechanism for freshness (i.e timestamps or sequence numbers). This indicates that messages may appear valid at any point in the life of a BGP peering session. o Inter-AS withdraw message assumptions: The processing model of BGP RFC1771 [3] indicates that only the peer advertising NLRI information may withdraw it. There are several instances where a withdraw may occur. Typical reasons for withdraw include the determination of a better path, peer session failure, or local policy change. There is no specified mechanism for indicating, to an external peer, the reason for a route withdraw. Each withdraw Christian Expires August 1, 2004 [Page 4] Internet-Draft BGP Security Requirements Feb 2004 received from a valid peering session must be taken at face value. There is no, existing, method to ensure that an AS will properly propagate withdraw messages received from it's external peers. o AS-Path assumptions: Aside from the use of AS-Set, the AS-Path is typically considered to be an ordered list of the Autonomous Systems that an update has traversed. In most cases the first AS in the list is the origin AS, or at least the AS responsible for the management of the NLRI information associated with the first AS. Specifications state that the AS topology must be loop free. This indicates that the appearance of the local AS in an update received from an external peer is generally not permitted. The prepending of AS information for received updates and transmitted updates is generally permitted and is common practice. Prepended AS information on inbound advertisements (where the external peers AS is prepended) and outbound advertisements (where the local AS number is prepended) is a commonly used method to effect forwarding changes. o Route Origination: Originating a route without the ability to forward the traffic associated with that route is, in most cases, in conflict with the intent of the BGP specification. BGP speakers may originate routes based on various internal and external data. An Autonomous System should only originate a prefix to it's external peers if that prefix has been somehow allocated to the administrators of that system, or authorized by the prefix holders. o Aggregation: Aggregation, and deaggregation, of prefixes can cause significant issues with proposed security mechanisms. According to RFC 1771, if a BGP speaker chooses to aggregate a set of more specific prefixes into a less specific prefix then the ATOMIC_AGGREGATE attribute SHOULD be set. This creates a significant potential loophole in an attempt to secure BGP based on the RFC specifications. Christian Expires August 1, 2004 [Page 5] Internet-Draft BGP Security Requirements Feb 2004 3. Deployment Requirements We have determined, through discussion with several large internetwork operators and equipment vendors, that the following attributes are important to the ongoing performance of interdomain routing systems such as BGP 3.1 Convergence speed Convergence speed is a major concern to many operators of large scale internetworking systems. Networks, and internetworks, are carrying ever increasing amounts of information that is time and delay sensitive; increasing convergence times can adversely affect the usability of the network, and the ability of an internetwork to grow. BGP's convergence speed, with a security system in operation, SHOULD be equivalent to 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. Current timers, including hold timers, keepalive timers, and the peering process, SHOULD NOT be impacted by the security system. Two types of verification MAY be offered for the NLRI and the AS_PATH in order to allow for a selection of optimizations: 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. 3.2 Incremental deployment We will not be able to deploy a newly secured BGP protocol instantaneously and will be unable to dictate a partitioning of large internetworks by the operators. Because of this, there are several requirements that any proposed mechanism to secure BGP must consider. o BGP MUST support transmitting, receiving, and acting on both secured and unsecured routing information with the security system in place. o The security system MUST allow the forming of peering relationships between peers regardless of whether the security system is in place o MUST be backward compatible in the message formatting, transmission, and processing of routing information carried Christian Expires August 1, 2004 [Page 6] Internet-Draft BGP Security Requirements Feb 2004 through a mixed security environment. Message formatting in a fully secured environment MAY be handled in a non-backward compatible fashion. o In an environment where both secured and non-secured systems are interoperating a mechanism MUST exist for secured systems to identify whether an originator intended the information to be secured. 3.3 Conditions for initialization A key factor in the robust nature of the existing internal and external relationships maintained in todays Internet provider space is the ability to maintain and return to a significantly converged state without the need to rely on systems external to the routing system (the physical equipment that is performing the forwarding). In order to ensure the rapid initialization and/or return to service of failed nodes it is important to reduce reliance on external systems to the greatest extent possible. Therefore, proposed systems SHOULD NOT require connections to external systems, beyond those directly involved in peering relationships, in order to return to full service. Proposed systems MAY require post initialization synchronization with external systems in order to synchronize security information. 3.4 Trust level variability Each secured environment may have different levels of requirements in terms of what is acceptable or unacceptable. In environments that require strict security it may not be acceptable to temporarily route to a destination while waiting for security verification to be performed. However, in many commercial environments the rapidity of route installation may be of paramount importance; in order to facilitate the more common occurence of route withdrawl due to network failure. Based on the two divergent requirements, the following criteria apply. 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. Christian Expires August 1, 2004 [Page 7] Internet-Draft BGP Security Requirements Feb 2004 4. The Trust Model In examining the various environments in which BGP is deployed, and through discussions with various operators working with the context of the public Internet, and other internetworks, it is apparent that trust models are largely environment specific. For instance, in the public Internet, a distributed trust model, following the current transitive trust pattern of contractual and peering arrangements, would fit the the business models of the participants. In other environments a hierarchical trust model would work better. Thus, any trust system specified in a security mechanism designed for BGP must be flexible, and support both a true distributed trust model and a fully hierarchical trust model. Since hierarchical trust models are a subset (or a special case of) a distributed trust model, any security system designed for BGP MUST support a distributed trust model, and MUST also support a hierarchical trust model, if desired. If two internetworks using differing trust models are interconnected they MUST be able to interoperate using locally determined levels of trust to compensate for differences in their trust models. Christian Expires August 1, 2004 [Page 8] Internet-Draft BGP Security Requirements Feb 2004 5. The AS-Path Attribute and NLRI Authentication BGP distributes routing information across the Internet (between BGP speakers) using BGP UPDATE messages. The UPDATE message contains withdrawn routes, path attributes and one or more NLRIs (Network Layer Reachability Information is synonymous with advertised prefix). For the remainder of this section, we will focus on the AS-Path Attribute and the NLRI. Attributes such as local pref are locally specific and, as such, are protected by BGP session security. 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. For the purpose of this document the term verifiable is defined as the resultant of a secured routing systems as described in this document. The term specifically indicates the ability to validate the originator of a specific prefix (or block of IP addresses) and the ability to validate the session through which the prefix was received 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. o Routing information carried through BGP SHOULD include information that can be used to verify the readvertisement or modification by each autonomous system through which the UPDATE has passed. There are many ways in which a differential between the speed of prefix/AS path attribute propagation and the information validating the the prefix/AS path attribute information can be exploited to attack the routing system on a temporary basis. These types of attacks are dominantly exploitative of the moment in time it takes to follow the withdraw of a NLRI with an update. As a result of this potential for temporary disruption, BGP security solutions MUST propagate security information at the same rate as the BGP updates and withdrawls. The following items are required to propagate at the same rate: o The distribution of key information used by individual actors within the system, including the keys used by individual autonomous systems to sign certificates and other objects o The distribution of information about the AS authorized to advertise a given block of IP addresses (or an address space) o The distribution of information about connectivity between autonomous systems and autonomous system polices, if such Christian Expires August 1, 2004 [Page 9] Internet-Draft BGP Security Requirements Feb 2004 information is to be distributed within the security system. Christian Expires August 1, 2004 [Page 10] Internet-Draft BGP Security Requirements Feb 2004 6. Address Allocation and advertisement As part of the regular operation of the Internet, addresses that are allocated to an organization may be, and are quite commonly, advertised by a different organizations. Common reasons for this practice include multi-homing and route reduction for the purposes of resource conservation. There are two modes of delegation: o 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 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 within normal network convergence times. Christian Expires August 1, 2004 [Page 11] Internet-Draft BGP Security Requirements Feb 2004 7. NLRI and Path Attribute Tracking The ability for a receiver to know exactly who originated and forwarded a routing update, is a desirable trait. In order to rapidly identify agressors and parties at fault for route table disruption it is important to track and log prefix origination information along with associated security information. Any security system SHOULD provide a method to allow the receiver of an update to verify that the originator actually originated the update, and that the AS's listed in the AS_PATH actually forwarded the update. 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. As such, efficient data structures and storage mechanisms MUST be developed to allow for an effective means of reproducing incidents and outages 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 Expires August 1, 2004 [Page 12] Internet-Draft BGP Security Requirements Feb 2004 8. Transport Protection Transport protection is an important aspect of BGP routing protocol security. The potential to create a linked transport/NLRI/AS-PATH authentication mechanism should not be overlooked and may provide for the accelerated deployment of a BGP security system. Current security mechanisms for BGP transport are inadequate and require significant operator interaction to maintain a respectable level of security. Any proposed security mechanism MUST include provisions for securing both internal BGP and external BGP peering sessions. Key maintenance can be especially onerous to the operators. The number of keys required and the maintenance of keys (update/withdraw/renew) may have an additive affect to a barrier to deployment. A highly securable BGP routing system SHOULD require no more than three keys and each key should be updateable within similar timeframes as prefix propagation. The preferred number of keys is ONE per AS. 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. 9 References [1] Fraser, "RFC 2196 - Site Security Handbook", September 1997. [2] Rescorla, Korver and Internet Architecture Board, "RFC 3552 - Guidelines for Writing RFC Text on Security Considerations", July 2003. [3] Rekhter and Li, "RFC 1771 - A Border Gateway Protocol 4 (BGP-4)", March 1995. Author's Address Blaine Christian (editor) KMC Telecom Solutions 1545 U.S. Highway 206 Bedminster, NJ 07921 US Christian Expires August 1, 2004 [Page 13] Internet-Draft BGP Security Requirements Feb 2004 Appendix A. Acknowledgements The following individuals contributed to the development and review of this draft. Steve Kent, Russ White, Sandy Murphy, Jeff Haas, Bora Akyol, Susan Hares, 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 Expires August 1, 2004 [Page 14] Internet-Draft BGP Security Requirements Feb 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 Expires August 1, 2004 [Page 15]