idnits 2.17.1 draft-ietf-rpsec-bgpsecrec-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 16. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 789. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 800. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 807. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 813. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 266: '...AS routing graph MUST be loop free. T...' RFC 2119 keyword, line 284: '... system SHOULD address how to eit...' RFC 2119 keyword, line 290: '...utonomous System SHOULD only originate...' RFC 2119 keyword, line 309: '... the ATOMIC_AGGREGATE attribute SHOULD...' RFC 2119 keyword, line 313: '...oposed solutions MUST indicate how agg...' (50 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: o It SHOULD not introduce new organizational entities that have to be trusted in order to establish the authenticity of the data. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 13, 2007) is 6275 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 1771 (ref. '4') (Obsoleted by RFC 4271) -- Obsolete informational reference (is this intentional?): RFC 2385 (ref. '5') (Obsoleted by RFC 5925) -- Obsolete informational reference (is this intentional?): RFC 3682 (ref. '7') (Obsoleted by RFC 5082) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 10 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Routing Protocol Security B. Christian, Ed. 3 Requirements KMC Telecom Solutions 4 Internet-Draft T. Tauber, Ed. 5 Intended status: Informational Comcast 6 Expires: August 17, 2007 February 13, 2007 8 BGP Security Requirements 9 draft-ietf-rpsec-bgpsecrec-07 11 Status of this Memo 13 By submitting this Internet-Draft, each author represents that any 14 applicable patent or other IPR claims of which he or she is aware 15 have been or will be disclosed, and any of which he or she becomes 16 aware will be disclosed, in accordance with Section 6 of BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This Internet-Draft will expire on August 17, 2007. 36 Copyright Notice 38 Copyright (C) The IETF Trust (2007). 40 Abstract 42 The security of BGP, the Border Gateway Protocol, is critical to the 43 proper operation of large-scale internetworks, both public and 44 private. While securing the information transmitted between two BGP 45 speakers is a relatively easy technical matter, securing BGP, as a 46 routing system, is more complex. This document describes a set of 47 requirements for securing BGP, including communications between BGP 48 speakers, and the routing information carried within BGP. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 1.1. System Description . . . . . . . . . . . . . . . . . . . . 3 54 1.2. Threats . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 1.3. Areas to secure . . . . . . . . . . . . . . . . . . . . . 4 56 2. Underlying Assumptions regarding BGP . . . . . . . . . . . . . 5 57 3. Operational Requirements . . . . . . . . . . . . . . . . . . . 7 58 3.1. Convergence speed . . . . . . . . . . . . . . . . . . . . 8 59 3.2. Incremental deployment . . . . . . . . . . . . . . . . . . 8 60 3.3. Conditions for initialization . . . . . . . . . . . . . . 9 61 3.4. Local controls for secure UPDATE acceptance . . . . . . . 9 62 3.5. Processing on Routers . . . . . . . . . . . . . . . . . . 10 63 3.6. Configuration on Routers . . . . . . . . . . . . . . . . . 11 64 4. Infrastructure Requirements . . . . . . . . . . . . . . . . . 11 65 5. The Trust Model . . . . . . . . . . . . . . . . . . . . . . . 11 66 6. The AS_PATH Attribute and NLRI Authentication . . . . . . . . 12 67 7. Address Allocation and Advertisement . . . . . . . . . . . . . 14 68 8. Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 69 9. NLRI and Path Attribute Tracking . . . . . . . . . . . . . . . 15 70 10. Transport Layer Protection . . . . . . . . . . . . . . . . . . 15 71 11. Key Management . . . . . . . . . . . . . . . . . . . . . . . . 15 72 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 73 13. Security Considerations . . . . . . . . . . . . . . . . . . . 16 74 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 75 14.1. Normative References . . . . . . . . . . . . . . . . . . . 16 76 14.2. Informative References . . . . . . . . . . . . . . . . . . 16 77 Appendix 1. Acknowledgements . . . . . . . . . . . . . . . . . . 17 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 79 Intellectual Property and Copyright Statements . . . . . . . . . . 18 81 1. Introduction 83 1.1. System Description 85 BGP is described in RFC1771 [4], and, more recently, in an updated 86 specification, RFC4271 [1], as a path-vector routing protocol. BGP 87 speakers typically exchange information about reachable destinations 88 (expressed as address prefixes) in an internetwork through pair-wise 89 peering sessions. Once this information has been exchanged, each BGP 90 speaker locally determines a loop free path to each reachable 91 destination, based on local policy or policy indicators such as 92 community values and LOCAL_PREF which may be carried in the UPDATE, 93 and the AS_PATH data carried in the BGP UPDATE messages. 95 Each BGP speaker represents an Autonomous System (AS). All of the 96 BGP speakers within an AS operate under a common administrative 97 policy. 99 1.2. Threats 101 Violations of security for network and information systems generally 102 fall under one of the three categories as defined in RFC 2196 [2]: 104 o Unauthorized access to resources and/or information 106 o Unintended and/or unauthorized disclosure of information 108 o Denial of service 110 A number of attacks can be realized which, if exploited, can lead to 111 one of the above mentioned security violations. Attacks against 112 communications are typically classified as passive or active 113 wiretapping attacks. Passive attacks are ones where an attacker 114 simply observes information traversing the network, violating 115 confidentiality or identifying a means of engaging in further 116 attacks. Active attacks are ones where the attacker modifies data in 117 transit. Such attacks include replay attacks, message insertion, 118 message deletion, and message modification attacks. Some attacks may 119 be effected by sending data from any where in the Internet. Other 120 active attacks require a "man-in-the-middle" capability, i.e., the 121 attacker must be in a position where traffic passes through an 122 attacker-controlled device. Attacks against BGP may be used by an 123 attacker to facilitate a wide variety of active or passive 124 wiretapping attacks against subscriber traffic. 126 Attacks that do not involve direct manipulation of BGP, and the 127 information contained within BGP, are outside the scope of this 128 document. 130 Because ASes are autonomous in their operation, it is not possible to 131 mandate secure operation by all ASes, nor would it be advisable to 132 assume such operation. Thus the primary goal of BGP security 133 measures is to provide data to AS operators to enable BGP speakers to 134 reject advertisements (UPDATE messages) that are not valid. For 135 example, UPDATE messages that represent erroneous binding of prefixes 136 to an origin AS, or that advertise invalid paths (as defined later in 137 this document) should be rejected. Because BGP peering sessions take 138 place in the context of TCP, the authentication and integrity 139 guarantees usually association with TCP need to be provided in the 140 face of possible active wiretapping attacks. Using the terminology 141 established in RFC 3552 [3], these peering sessions should be 142 afforded data origin and peer entity authentication and connection- 143 oriented integrity. 145 Security for subscriber traffic is outside the scope of this 146 document, and of BGP security in general. IETF standards for 147 subscriber data security, e.g., IPsec, TLS, and S/MIME should be 148 employed for such purposes. While adoption of BGP security measures 149 may preclude certain classes of attacks on subscriber traffic, these 150 measures are not a substitute for use of subscriber-based security 151 mechanisms of the sort noted above. 153 1.3. Areas to secure 155 There are two primary points where BGP may be secured; the data 156 payload of the protocol and the data semantics of the protocol. 158 The session between two BGP speakers can be secured such that the BGP 159 data received by the BGP speakers can be cryptographically verified 160 to have been transmitted by the peer BGP speaker and not a replay of 161 previously transmitted legitimate data. There are several existing 162 IETF standards to choose from to ensure that this system functions 163 with greater effectiveness than the current system. An example might 164 be IPsec. Some in the Operator community have expressed concerns 165 that a requiring cryptographic validation could open another vector 166 for a denial-of-service attack by flooding the processor with bogus 167 packets which must be cryptographically invalidated before being 168 discarded. 170 There are also several questions we can ask about the information 171 contained within a received UPDATE. 173 o Is the originating Autonomous System authorized to propagate the 174 prefix we have received? 176 o Does the AS_PATH, received via an UPDATE, represent a valid path 177 through the network? 179 The determination of AS_PATH validity falls into two distinct 180 categories. These categories are ordered from least to most 181 rigorous. 183 o Does the AS_PATH specified actually exist as a path in the network 184 topology and, based on the AS_PATH, is it possible to traverse 185 that path to reach a given prefix? This AS_PATH Feasibility Check 186 will be referred to later in this document. 188 o Has the UPDATE actually traveled the path? 190 2. Underlying Assumptions regarding BGP 192 In order to properly identify security requirements it is important 193 to articulate the fundamental aspects of BGP as related to security 194 requirements. The following list presents the basic parameters and 195 application concepts of BGP that are assumed by this document. 197 o Peer Communication: BGP traffic travels over TCP between peers, so 198 BGP speakers assume the data delivery guarantees of TCP in a 199 benign environment. This includes ordered, error-free delivery of 200 application traffic from a peer identified by an IP address, plus 201 integrity of the control aspects of TCP. From a security 202 perspective, these guarantees need to be enforced in the context 203 of possible active wiretapping. 205 o Routing and Reachability: BGP is a protocol used to convey routing 206 and reachability information both internal and external to an 207 Autonomous System. Typically, interior BGP (iBGP) is used to 208 distribute prefix reachability information in conjunction with an 209 Interior Gateway Protocol (IGP) and is used by a distinct network 210 administrative entity to convey internal routing policy regarding 211 external and internal information. Exterior BGP (eBGP) is 212 typically used to distribute route/prefix reachability information 213 between two distinct routing entities and is used to signal eBGP 214 preferences and policy decisions. 216 o Inter-AS UPDATE Message assumptions: When an AS distributes 217 reachability information to a peer it is done with the intent of 218 affecting routing decisions by the peer. For example, with regard 219 to a block of addresses represented by a prefix, AS-A may send 220 peer AS-B an advertisement which is less specific (shorter in 221 length of mask) and peer AS-C a more specific advertisement 222 (longer mask). This prefix distribution decision may have been 223 made to provide a means for failure resolution between AS-A and 224 AS-C, i.e., to provide a backup path for the addresses in 225 question. However, it should be noted that while AS-A tries to 226 influence the routing decisions of AS-B and downstream ASes, AS-A 227 is only providing inputs to a local decision by AS-B, a decision 228 that is ultimately controlled by AS-B's local policy over which 229 AS-A has no control. Update messages are sent between AS peers 230 with the tacit authorization for those messages to be forwarded to 231 others. A notable exception to this assumption is the use of 232 policy-based mechanisms between peers such as the NO-EXPORT 233 community. It is important to note that an UPDATE message itself 234 generally is not re-transmitted. Instead, the specific UPDATE 235 message is regenerated continually as it passes from BGP speaker 236 to BGP speaker. Furthermore, UPDATE messages have no mechanism to 237 indicate freshness (e.g., timestamps or sequence numbers). This 238 implies that messages may appear valid at any point in the life of 239 a BGP peering session. While the AS_PATH information is typically 240 transitive it is, currently, not clearly mandated and many times 241 is modified for various utilitarian reasons. 243 o It is important to note that while preferences regarding routing 244 can be explicitly managed with direct peers it is markedly more 245 difficult to influence routing decisions by ASes that are not 246 directly adjacent. 248 o Inter-AS withdrawal message assumptions: The processing model of 249 BGP RFC4271 [1] indicates that only the peer advertising NLRI 250 information may withdraw it. There are several instances where a 251 withdrawal may occur. Typical reasons for withdrawal include the 252 determination of a better path, peer session failure, or local 253 policy change. There is no specified mechanism for indicating to 254 a peer the reason for a route withdrawal. Each withdrawal 255 received via a valid peering session must be taken at face value. 256 There is no existing method to ensure that an AS will properly 257 respond to a withdrawal message, e.g., withdraw the route and send 258 such announcement to its neighbors. Nor do mechanisms exist to 259 ensure that old UPDATES are not re-propagated after a route was 260 withdrawn before it is legitimately re-advertised. 262 o AS_PATH assumptions: Aside from the use of AS_SET, the AS_PATH is 263 defined as an ordered list of the Autonomous Systems that an 264 UPDATE has traversed. The rightmost AS in the list is understood 265 to be the originator of the BGP announcement. Specifications 266 state that the AS routing graph MUST be loop free. This indicates 267 that UPDATES received from an external peer which contain the 268 local AS will be rejected. Prepending one or more instances of an 269 AS number on inbound advertisements (where the external peer's AS 270 number is prepended) and outbound advertisements (where the local 271 AS number is prepended) is a commonly used method to bias routing. 272 Prepending a peer AS number on inbound UPDATEs is employed for 273 biasing internal routing and forwarding management while 274 prepending one's own AS number on outbound advertisement is 275 typically used to bias forwarding and routing changes in external 276 networks. The latter practice is explicitly permitted by RFC4271 277 [1], but the former is not. Some operators, insert a remote AS 278 number in an UPDATE, in order to cause the UPDATE to be dropped by 279 that AS so that traffic will not traverse a given path. Though 280 this practice appears to run counter to the design of BGP, 281 anecdotal evidence is that its use is not totally insignificant. 282 While such a practice can be beneficial to legitimate operators, 283 it presents a strong potential for misuse. A proposed security 284 system SHOULD address how to either address this concern or give 285 specific information on this topic for consideration by the 286 Operational community. 288 o Route Origination: BGP speakers may originate routes based either 289 configured internal data or via data received from peers via 290 UPDATES. An Autonomous System SHOULD only originate a prefix to 291 its external peers if that prefix has been allocated to the 292 administrators of that system, or if authorized by the prefix 293 holder. 295 o Originating a route without the ability to forward the traffic 296 associated with that route is, in most cases, in conflict with the 297 intent of the BGP specification, notable exceptions include: 299 * Deployments that make use of route servers which are separate 300 from forwarding devices 302 * Deployments that use the temporary propagation of prefixes in 303 order to effectively block high bandwidth attacks (e.g., DDoS) 304 against specific IP addresses (and the associated 305 oversubscription of resources) 307 o Aggregation and de-aggregation: According to RFC4271 [1], if a BGP 308 speaker chooses to aggregate a set of more specific prefixes into 309 a less specific prefix then the ATOMIC_AGGREGATE attribute SHOULD 310 be set. This creates a significant challenge for solutions to 311 secure BGP because some origination information is removed (i.e. 312 the more-specific information which triggered the generation of 313 the aggregate). Proposed solutions MUST indicate how aggregation 314 will be accommodated. 316 3. Operational Requirements 318 We have determined, through discussion with several large 319 internetwork operators and equipment vendors, that the following 320 attributes are important to the ongoing performance of interdomain 321 routing systems such as BGP. 323 3.1. Convergence speed 325 Convergence speed is a major concern to many operators of large scale 326 internetworking systems. Networks, and internetworks, are carrying 327 ever increasing amounts of information that is time and delay 328 sensitive; increasing convergence times can adversely affect the 329 usability of the network, and the ability of an internetwork to grow. 330 BGP's convergence speed, with a security system in operation, SHOULD 331 strive towards equivalence to BGP running without the security system 332 in operation. This includes the preservation of optimizations 333 currently used to produce acceptable convergence speeds on current 334 hardware, including UPDATE packing, peer groups, etc. Two types of 335 verification MAY be offered for the NLRI and the AS_PATH in order to 336 allow for a selection of optimizations: 338 o Contents of the UPDATE message SHOULD be authenticated in real- 339 time as the UPDATE message is processed. 341 o The route information base MAY be authenticated periodically or in 342 an event-driven manner by scanning the route-table data and 343 verifying the originating AS and the validity of the AS_PATH list. 345 All BGP implementations that implement security MUST utilize at least 346 one of the above methods for validating routing information. Real 347 time verification is preferred in order to prevent transitive 348 failures based on periodic or event-driven scan intervals. See the 349 section on "Local controls ..." below for more discussion. 351 It is recognized that achieving all of these goals might prove very 352 difficult or even impossible. 354 3.2. Incremental deployment 356 It will not be feasible to deploy a newly secured BGP protocol 357 throughout the public Internet instantaneously. It also may not be 358 possible to deploy such a protocol to all routers in a large AS at 359 one time. Any proposed solution MUST support an incremental 360 deployment which will provide some benefit for those who participate. 361 Because of this, there are several requirements that any proposed 362 mechanism to secure BGP must consider. 364 o A BGP security mechanism MUST enable each BGP speaker to configure 365 use of the security mechanism on a per-peer basis. 367 o A BGP security mechanism MUST provide backward compatibility in 368 the message formatting, transmission, and processing of routing 369 information carried through a mixed security environment. Message 370 formatting in a fully secured environment MAY be handled in a non- 371 backward compatible fashion though care must be taken to ensure 372 UPDATES can traverse intermediate routers which don't support the 373 new format. 375 o In an environment where both secured and non-secured systems are 376 interoperating a mechanism MUST exist for secured systems to 377 identify whether an originator intended the information to be 378 secured. 380 o Proposed solutions MUST provide comment and analysis of what the 381 security services the solution will provide in the case of 382 incremental deployment scenarios (e.g, contiguous islands, 383 discontiguous islands, universal deployment). 385 o In an environment where secured service is in the process of being 386 deplyed a mechanism MUST exist to support a transition free of 387 service interruption. 389 3.3. Conditions for initialization 391 A key factor in the robust nature of the existing internal and 392 external relationships maintained in today's Internet is the ability 393 to maintain and return to a significantly converged state without the 394 need to rely on systems external to the routing system (the equipment 395 that is performing the forwarding). In order to ensure the rapid 396 initialization and/or return to service of failed nodes it is 397 important to reduce reliance on these external systems to the 398 greatest extent possible. Therefore, proposed systems SHOULD NOT 399 require connections to external systems, beyond those directly 400 involved in peering relationships, in order to return to full 401 service. Proposed systems MAY require post initialization 402 synchronization with external systems in order to synchronize 403 security information. 405 3.4. Local controls for secure UPDATE acceptance 407 Each secured environment (e.g., public Internet vs. private 408 internetwork) may have different metrics of what is acceptable or 409 unacceptable with regard to routing security. In environments that 410 require strict security it may not be acceptable to temporarily route 411 to a destination while waiting for path validation to be performed. 412 However, in many environments the rapidity of route installation may 413 be of paramount importance, e.g., in order to facilitate the common 414 occurrence of route withdrawal due to network failure. Based on the 415 two divergent requirements, the following criteria apply: 417 o The security system MUST support a range of possible outputs for 418 local determination of the trust level for a specific route so 419 that routing preference and policy can be applied to its inclusion 420 in the RIB. Any given route should be trustable to a locally 421 configured degree, based on the completeness of security 422 information with a received UPDATE and other factors. However, 423 experience in the security community suggests that trying to 424 assign trust ratings to inputs to a decision process usually adds 425 considerable complexity to the management of the process. This 426 complexity, in turn, may undermine the security offered by the 427 process. 429 o The security system SHOULD allow the operator to determine whether 430 speed of convergence is more important than security, or whether 431 security is more important than the speed of convergence. This 432 facilitates the incremental deployment of security on systems not 433 designed to support increased processing requirements imposed by 434 the security system. 436 3.5. Processing on Routers 438 The introduction of mechanisms to improve routing security will 439 generally increase the processing performed by a router. The 440 increased processing typically will result from additional checks 441 performed to determine the validity of UPDATEs, especially if these 442 checks entail cryptographic operations. Since currently deployed 443 routers generally do not have hardware to accelerate cryptographic 444 operations, these operations could impose a significant processing 445 burden under some circumstances. Thus proposed solutions should be 446 evaluated carefully with regard to the processing burden they may 447 impose, since deployment may be impeded if network operators perceive 448 that a solution will impose a processing burden which either: 450 o provokes substantial capital expense, or 452 o threatens to destabilize routers. 454 Given the pervasive number of BGP-speaking routers in a typical ISP 455 deployment, solutions can increase their appeal by minimizing the 456 burden imposed on all BGP routers in favor of confining significant 457 work loads to a relatively small number of devices. 459 Optional features or increased assurance which provokes more 460 pervasive processing load MAY be made available for deployments where 461 the additional resources are economically justifiable. 463 Some statement as to the expected performance measures and scaling as 464 a function of prefixes, peers, NLRI, etc. MUST be included with any 465 proposed solution. 467 3.6. Configuration on Routers 469 It is undesirable to have long or very detailed configuration on the 470 routers, especially it needs to be synchronized on all of them. Long 471 configuration makes operating the device more difficult, and having 472 to do very detailed configuration may hinder the adoption of the 473 security solution; it should be possible to "just start using it" if 474 possible. 476 As above, a statement as to the expected configuration burden as a 477 function of routers, peers, NLRI, ASNs, etc. MUST be included with 478 any proposed solution. Additionally, some consideration SHOULD be 479 given and statement made as to frequency of changes in the case of 480 dynamic data. 482 4. Infrastructure Requirements 484 BGP security mechanisms MAY make use of a security infrastructure to 485 distribute authenticated data that is an input to routing decisions. 486 Such data may be needed to verify whether a given AS is authorized to 487 originate an advertisement for a specified prefix, whether an given 488 organization is the recognized holder of a block of address space or 489 of an AS number, etc. Any infrastructure used to distribute data in 490 support of BGP security is subject to the following criteria: 492 o It MUST be resilient to attacks on the integrity of the data it 493 contains. 495 o It MUST enable network operators to verify the entity which 496 originted the data. 498 o It MUST be sufficiently available so as to not degrade the 499 existing pace of network operations. 501 o It SHOULD not introduce new organizational entities that have to 502 be trusted in order to establish the authenticity of the data. 504 5. The Trust Model 506 In discussion with the operations community, concerns have emerged 507 regarding the viability of a security system that requires agreement 508 on a trust model dependent on a single root. Current operational 509 practice has many providers engaging in bilateral agreements and 510 preserving the primacy of local policy choices. The viability of a 511 solution may well rest on the business imperatives of the provider 512 community who may be unwilling to surrender their perceived autonomy 513 or unable to come to communal agreement on this topic. 515 In other environments, deployments may require an authority which has 516 been selected by law or other institutional mandate. Moreover, these 517 two deployment types (single-rooted hierarchy or arbitrary 518 association) may "touch" (i.e. be part of the same co-extensive BGP 519 topology). 521 Solutions MUST account for these differing types of deployments. 523 If two internetworks using differing trust models are interconnected 524 they MUST be able to interoperate using locally determined levels of 525 assurance to compensate for differences in these trust models. Some 526 acknowledgement is made that this requirement might render it 527 difficult to discern an attack from a difference in trust model or 528 implementation. Any proposed solution MUST mitigate this risk. 530 6. The AS_PATH Attribute and NLRI Authentication 532 BGP distributes routing information across the Internet (between BGP 533 speakers) using BGP UPDATE messages. The UPDATE message contains 534 withdrawn routes, path attributes and NLRI (Network Layer 535 Reachability Information, synonymous with advertised prefix(es)). 536 For the remainder of this section, we will focus on the AS_PATH 537 Attribute and the NLRI. Attributes such as MED are not transitive 538 and, as such, are protected by BGP session security. 540 The AS_PATH for specific prefixes may be protected in any proposed 541 security system in four ways, outlined below. Special Note: On the 542 first two categories below, the community has reached consensus; on 543 the latter two (AS_PATH Feasibiliity Check and Update Transit Check), 544 the community has not reached consensus. 546 o Authorization of Originating AS: For the purposes of authorization 547 of the originating AS, authorization means that it MUST be 548 possible to verify that the origin AS has been authorized to 549 originate the route by the prefix holder(s). 551 o Announcing AS Check: For all BGP peers, a BGP Implementation MUST 552 ensure that the first element of the AS_PATH list corresponds to 553 the locally configured AS of the peer from which the UPDATE was 554 received. 556 o AS_PATH Feasibility Check: The AS_PATH list MUST correspond to a 557 valid list of autonomous systems according to the first 558 verification category listed in the "Areas to Secure" Section 559 above. 561 o Update Transit Check: Routing information carried through BGP 562 SHOULD include information that can be used to verify the re- 563 advertisement or modification by each autonomous system through 564 which the UPDATE has passed. This check is more rigorous than the 565 "valid list of autonomous systems" above. 567 The results of all of these checks SHOULD be made available to 568 network operators. Each network operator will decide, on a local 569 basis, which of these checks to enable. 571 There are many ways in which any difference between the speed of 572 prefix/AS path attribute propagation and the availability of the 573 information needed to validate the prefix/AS_PATH attribute 574 information can be exploited to attack the routing system on a 575 transient basis. These types of attacks primarily exploit the time 576 it takes to follow the withdrawal of a route via an UPDATE. As a 577 result of this potential for temporary disruption, BGP security 578 solutions MUST be capable of distributing security information at the 579 same rate as the BGP announcements and withdrawals propagate. 581 All data needed by BGP routers to evaluate the validity of an 582 advertisement MUST be made available to the routers in a timeframe 583 consistent with the rate at which advertisement characteristics 584 change. Two examples are: 586 o the distribution of information about the AS(es) authorized to 587 advertise a given block of IP addresses, 589 o the distribution of information about connectivity between 590 autonomous systems and about autonomous system policies 592 Note that in today's operational Internet, the first two pieces of 593 information, or their analogues, are not a part of the BGP routing 594 system per se (e.g., information in Routing or Address registries.) 595 They are consulted by most operators on an irregular basis and are 596 not consulted in real time by the routing system. Policy information 597 that is explicitly carried in the routing system is inconsistently 598 expressed and consulted in Routing registries by operators. For 599 instance, most providers are reticent to define their interconnection 600 arrangements as transit or non-transit in Routing registries; some 601 may do so, most do not. However, the ability to change inter-AS 602 traffic flows in real time is an important feature of the current 603 Internet. 605 7. Address Allocation and Advertisement 607 As part of the regular operation of the Internet, addresses allocated 608 to one organization may be, and are quite commonly, advertised by 609 ASes belonging to other organizations. Common reasons for this 610 practice include multi-homing and route reduction for the purposes of 611 resource conservation (e.g., aggregation). There are two modes of 612 delegation: 614 o A BGP speaker and listener have chosen to restrict the number of 615 received prefixes for the listener. The listener has chosen to 616 honor route announcements sent in a summary fashion by the 617 speaker. 619 o Address space that is being delegated is part of a larger 620 allocation that is held by an autonomous system. The holder then 621 delegates the smaller block to another AS for purposes of 622 advertisement. This mode is commonly observed in multi-homing. 624 These two modes lead to a single common requirement: Any BGP Security 625 solution MUST support the ability of an address block holder to 626 declare (in a secure fashion) the AS(es) that the holder authorizes 627 to originate routes to its address block(s) or any portion thereof 628 regardless of the relationship of the entities. 630 An associated delegation criteria is the requirement to allow for 631 non-BGP stub networks. As a result, all secured BGP implementations 632 MUST allow for the contemporaneous origination of a route for a 633 prefix by more than one AS. 635 8. Logging 637 In order to facilitate auditing and troubleshooting, a logging 638 capability MUST be implemented that will indicate both negative and 639 positive event behaviors. This data SHALL be for consumption of the 640 AS operating the device that is producing the logs. Further, the 641 information MAY be combined with data from other is ASes or devices 642 with different implementations within the same AS for purposes of 643 event correlation and tracking. Here follow some considerations in 644 this regard: 646 o The data generated by logging may be very large depending on the 647 number of peers, the number of prefixes received, the 648 authentication model used, and routing policies. As such, 649 efficient data structures and storage mechanisms MUST be developed 650 to allow for an effective means of reproducing incidents and 651 outages 653 o Path and NLRI attributes MUST be logged using a standard format. 654 The format MUST be scalable with the amount of data logged and the 655 frequency of log generation. The frequency of log generation 656 should be controllable by the operator. The logging mechanisms 657 for the tracked information MUST be standardized across all 658 platforms. Logging ability both on and off line is considered 659 highly desirable. 661 9. NLRI and Path Attribute Tracking 663 The ability for a receiver to know the identity of each AS that 664 originates and/or forwards a routing UPDATE is a desirable trait. In 665 order to rapidly identify attack points and parties at fault for 666 route table disruption, it is important to be able to track and log 667 prefix origination information along with associated security 668 information. 670 This capability can be afforded by implementation of the 671 aforementioned directive that any security system SHOULD provide a 672 method to allow the receiver of an UPDATE to verify that the 673 originator is actually authorized to originate the update, and that 674 the AS's listed in the AS_PATH actually forwarded the update. 676 10. Transport Layer Protection 678 Transport protection is an important aspect of BGP routing protocol 679 security. The potential to create a linked transport/NLRI/AS_PATH 680 authentication mechanism should not be overlooked and may provide for 681 the accelerated deployment of a BGP security system. Current 682 security mechanisms for BGP transport (e.g., TCP-MD5 [5] and GTSM 683 [7]) are inadequate and require significant operator interaction to 684 maintain a respectable level of security. 686 Transport protection systems MAY function as a component of the BGP 687 routing protocol security mechanism. This includes the use of the 688 same key generation/management systems as the rest of the security 689 system. 691 Any proposed security mechanism MUST include provisions for securing 692 both internal BGP and external BGP peering sessions. 694 11. Key Management 696 Current implementations and deployments of TCP-MD5 [5] exhibit 697 serious shortcomings with regard of key management as described in 698 RFC 3562 [6]. 700 Key management can be especially onerous for operators. The number 701 of keys required and the maintenance of keys (issue/revoke/renew) has 702 had an additive effect as a barrier to deployment. Thus automated 703 means of managing keys, to reduce operational burdens, MUST be 704 available in proposed BGP security systems. These security systems 705 MUST be resistant to compromise of session-level or device-level 706 keys, i.e., the security implications of such compromises MUST be 707 limited. 709 12. IANA Considerations 711 This document asks nothing of IANA. 713 13. Security Considerations 715 This document describes requirements for securing BGP as envisioned 716 by the community. Its completeness is likely not exhaustive but 717 represents the broadest consensus. As the understanding of the 718 issues and possible residual vulnerabilities are refined, so these 719 requirements may be revised in successor documents. 721 14. References 723 14.1. Normative References 725 [1] Rekhter, Li, and Hares, "RFC 4271 - A Border Gateway Protocol 4 726 (BGP-4)", October 2005. 728 14.2. Informative References 730 [2] Fraser, "RFC 2196 - Site Security Handbook", September 1997. 732 [3] Rescorla, Korver, and Internet Architecture Board, "RFC 3552 - 733 Guidelines for Writing RFC Text on Security Considerations", 734 July 2003. 736 [4] Rekhter and Li, "RFC 1771 - A Border Gateway Protocol 4 737 (BGP-4)", March 1995. 739 [5] Heffernan, "RFC 2385 - Protection of BGP Sessions via the TCP 740 MD5 Signature Option", August 1998. 742 [6] Leech, "RFC 3562 - Key Management Considerations for the TCP MD5 743 Signature Option", July 2003. 745 [7] Gill, Heasley, and Meyer, "RFC 3682 - The Generalized TTL 746 Security Mechanism (GTSM)", February 2004. 748 1. Acknowledgements 750 The following individuals contributed to the development and review 751 of this draft. Steve Kent, Russ White, Sandy Murphy, Jeff Haas, Bora 752 Akyol, Susan Hares, Mike Tibodeau, Thomas Renzy, Kaarthik Sivakumar, 753 Tao Wan, Radia Perlman, Pekka Savola and Merike Kaeo. 755 This draft was developed based on conversations with various network 756 operators including Chris Morrow, Jared Mauch, Tim Battles, and Ryan 757 McDowell. 759 Authors' Addresses 761 Blaine Christian (editor) 762 KMC Telecom Solutions 763 1545 U.S. Highway 206 764 Bedminster, NJ 07921 765 US 767 Tony Tauber (editor) 768 Comcast 769 27 Industrial Avenue 770 Chelmsford, MA 01824 771 US 773 Email: ttauber@1-4-5.net 775 Full Copyright Statement 777 Copyright (C) The IETF Trust (2007). 779 This document is subject to the rights, licenses and restrictions 780 contained in BCP 78, and except as set forth therein, the authors 781 retain all their rights. 783 This document and the information contained herein are provided on an 784 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 785 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 786 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 787 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 788 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 789 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 791 Intellectual Property 793 The IETF takes no position regarding the validity or scope of any 794 Intellectual Property Rights or other rights that might be claimed to 795 pertain to the implementation or use of the technology described in 796 this document or the extent to which any license under such rights 797 might or might not be available; nor does it represent that it has 798 made any independent effort to identify any such rights. Information 799 on the procedures with respect to rights in RFC documents can be 800 found in BCP 78 and BCP 79. 802 Copies of IPR disclosures made to the IETF Secretariat and any 803 assurances of licenses to be made available, or the result of an 804 attempt made to obtain a general license or permission for the use of 805 such proprietary rights by implementers or users of this 806 specification can be obtained from the IETF on-line IPR repository at 807 http://www.ietf.org/ipr. 809 The IETF invites any interested party to bring to its attention any 810 copyrights, patents or patent applications, or other proprietary 811 rights that may cover technology that may be required to implement 812 this standard. Please address the information to the IETF at 813 ietf-ipr@ietf.org. 815 Acknowledgment 817 Funding for the RFC Editor function is provided by the IETF 818 Administrative Support Activity (IASA).