idnits 2.17.1 draft-ietf-rpsec-bgpsecrec-04.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 on line 767. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 744. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 751. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 757. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** 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 264: '...tate that the AS routing graph MUST be...' RFC 2119 keyword, line 282: '... security system SHOULD address how to...' RFC 2119 keyword, line 288: '...utonomous System SHOULD only originate...' RFC 2119 keyword, line 307: '... the ATOMIC_AGGREGATE attribute SHOULD...' RFC 2119 keyword, line 327: '...a security system in operation, SHOULD...' (45 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 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 (March 3, 2006) is 6622 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- 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: 6 errors (**), 0 flaws (~~), 3 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 Expires: September 4, 2006 Comcast 6 March 3, 2006 8 BGP Security Requirements 9 draft-ietf-rpsec-bgpsecrec-04 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 September 4, 2006. 36 Copyright Notice 38 Copyright (C) The Internet Society (2006). 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 . . . . . . . . . . . . . . . . . 10 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 . . . . . . . . . . . . . 13 68 8. Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 69 9. NLRI and Path Attribute Tracking . . . . . . . . . . . . . . . 14 70 10. Transport Layer Protection . . . . . . . . . . . . . . . . . . 15 71 11. Key Management . . . . . . . . . . . . . . . . . . . . . . . . 15 72 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 73 12.1. Normative References . . . . . . . . . . . . . . . . . . . 15 74 12.2. Informative References . . . . . . . . . . . . . . . . . . 15 75 Appendix 1. Acknowledgements . . . . . . . . . . . . . . . . . . 16 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 77 Intellectual Property and Copyright Statements . . . . . . . . . . 18 79 1. Introduction 81 1.1. System Description 83 BGP is described in RFC1771 [4], and, more recently, in an updated 84 specification, RFC4271 [1], as a path-vector routing protocol. BGP 85 speakers typically exchange information about reachable destinations 86 (expressed as address prefixes) in an internetwork through pair-wise 87 peering sessions. Once this information has been exchanged, each BGP 88 speaker locally determines a loop free path to each reachable 89 destination, based on local policy or policy indicators which may be 90 carried in the UPDATE, and the AS_PATH data carried in the BGP UPDATE 91 messages. 93 Each BGP speaker represents an Autonomous System (AS). All of the 94 BGP speakers within an AS operate under a common administrative 95 policy. 97 1.2. Threats 99 Violations of security for network and information systems generally 100 fall under one of the three categories as defined in RFC 2196 [2]: 102 o Unauthorized access to resources and/or information 104 o Unintended and/or unauthorized disclosure of information 106 o Denial of service 108 A number of attacks can be realized which, if exploited, can lead to 109 one of the above mentioned security violations. Attacks against 110 communications are typically classified as passive or active 111 wiretapping attacks. Passive attacks are ones where an attacker 112 simply observes information traversing the network, violating 113 confidentiality or identifying a means of engaging in further 114 attacks. Active attacks are ones where the attacker modifies data in 115 transit. Such attacks include replay attacks, message insertion, 116 message deletion, and message modification attacks. Some attacks may 117 be effected by sending data from any where in the Internet. Other 118 active attacks require a "man-in-the-middle" capability, i.e., the 119 attacker must be in a position where traffic passes through an 120 attacker-controlled device. Attacks against BGP may be used by an 121 attacker to facilitate a wide variety of active or passive 122 wiretapping attacks against subscriber traffic. 124 Attacks that do not involve direct manipulation of BGP, and the 125 information contained within BGP, are outside the scope of this 126 document. 128 Because ASes are autonomous in their operation, it is not possible to 129 mandate secure operation by all ASes, nor would it be advisable to 130 assume such operation. Thus the primary goal of BGP security 131 measures is to provide data to AS operators to enable BGP speakers to 132 reject advertisements (UPDATE messages) that are not valid. For 133 example, UPDATE messages that represent erroneous binding of prefixes 134 to an origin AS, or that advertise invalid paths (as defined later in 135 this document) should be rejected. Because BGP peering sessions take 136 place in the context of TCP, the authentication and integrity 137 guarantees usually association with TCP need to be provided in the 138 face of possible active wiretapping attacks. Using the terminology 139 established in RFC 3552 [3], these peering sessions should be 140 afforded data origin and peer entity authentication and connection- 141 oriented integrity. 143 Security for subscriber traffic is outside the scope of this 144 document, and of BGP security in general. IETF standards for 145 subscriber data security, e.g., IPsec, TLS, and S/MIME should be 146 employed for such purposes. While adoption of BGP security measures 147 may preclude certain classes of attacks on subscriber traffic, these 148 measures are not a substitute for use of subscriber-based security 149 mechanisms of the sort noted above. 151 1.3. Areas to secure 153 There are two primary points where BGP may be secured; the data 154 payload of the protocol and the data semantics of the protocol. 156 The session between two BGP speakers can be secured such that the BGP 157 data received by the BGP speakers can be cryptographically verified 158 to have been transmitted by the peer BGP speaker and not a replay of 159 previously transmitted legitimate data. There are several existing 160 IETF standards to choose from to ensure that this system functions 161 with greater effectiveness than the current system. An example might 162 be IPsec. Some in the Operator community have expressed concerns 163 that a requiring cryptographic validation could open another vector 164 for a denial-of-service attack by flooding the processor with bogus 165 packets which must be cryptographically invalidated before being 166 discarded. 168 There are also several questions we can ask about the information 169 contained within a received UPDATE. 171 o Is the originating Autonomous System authorized to propagate the 172 prefix we have received? 174 o Does the AS_PATH, received via an UPDATE, represent a valid path 175 through the network? 177 The verification of AS_PATH validity falls into two distinct 178 categories. These categories are ordered from least to most 179 rigorous. 181 o Does the AS_PATH specified actually exist as a path in the network 182 topology and, based on the AS_PATH, is it possible to traverse 183 that path to reach a given prefix? This AS_PATH Feasibility Check 184 will be referred to later in this document. 186 o Has the UPDATE actually traveled the path? 188 2. Underlying Assumptions regarding BGP 190 In order to properly identify security requirements it is important 191 to articulate the fundamental aspects of BGP as related to security 192 requirements. The following list presents the basic parameters and 193 application concepts of BGP that are assumed by this document. 195 o Peer Communication: BGP traffic travels over TCP between peers, so 196 BGP speakers assume the data delivery guarantees of TCP in a 197 benign environment. This includes ordered, error-free delivery of 198 application traffic from a peer identified by an IP address, plus 199 integrity of the control aspects of TCP. From a security 200 perspective, these guarantees need to be enforced in the context 201 of possible active wiretapping. 203 o Routing and Reachability: BGP is a protocol used to convey routing 204 and reachability information both internal and external to an 205 Autonomous System. Typically, interior BGP (iBGP) is used to 206 distribute prefix reachability information in conjunction with an 207 Interior Gateway Protocol (IGP) and is used by a distinct network 208 administrative entity to convey internal routing policy regarding 209 external and internal information. Exterior BGP (eBGP) is 210 typically used to distribute route/prefix reachability information 211 between two distinct routing entities and is used to signal eBGP 212 preferences and policy decisions. 214 o Inter-AS UPDATE Message assumptions: When an AS distributes 215 reachability information to a peer it is done with the intent of 216 affecting routing decisions by the peer. For example, with regard 217 to a block of addresses, AS-A may send peer AS-B a less specific 218 advertisement and peer AS-C a "more" specific advertisement. This 219 prefix distribution decision may have been made to provide a means 220 for failure resolution between AS-A and AS-C, i.e., to provide a 221 backup path for the addresses in question. However, it should be 222 noted that while AS-A tries to influence the routing decisions of 223 AS-B and downstream ASes, AS-A is only providing inputs to a local 224 decision by AS-B, a decision that is very much influenced by 225 AS-B's local policy over which AS-A has no control. Update 226 messages are sent between AS peers with the tacit authorization 227 for those messages to be forwarded to others. A notable exception 228 to this assumption is the use of policy-based mechanisms between 229 peers such as the NO-EXPORT community. It is important to note 230 that an UPDATE message itself generally is not re-transmitted. 231 Instead, the specific UPDATE message is regenerated continually as 232 it passes from BGP speaker to BGP speaker. Furthermore, UPDATE 233 messages have no mechanism for freshness (e.g. timestamps or 234 sequence numbers). This indicates that messages may appear valid 235 at any point in the life of a BGP peering session. While the 236 AS_PATH information is typically transitive it is, currently, not 237 clearly mandated and many times is modified for various 238 utilitarian reasons. 240 o It is important to note that while preferences regarding routing 241 can be explicitly managed with direct peers it is markedly more 242 difficult to influence routing decisions by ASes that are not 243 directly adjacent. 245 o Inter-AS withdrawal message assumptions: The processing model of 246 BGP RFC4271 [1] indicates that only the peer advertising NLRI 247 information may withdraw it. There are several instances where a 248 withdrawal may occur. Typical reasons for withdrawal include the 249 determination of a better path, peer session failure, or local 250 policy change. There is no specified mechanism for indicating to 251 a peer the reason for a route withdrawal. Each withdrawal 252 received via a valid peering session must be taken at face value. 253 There is no existing method to ensure that an AS will properly 254 respond to a withdrawal message, e.g. withdraw the route and send 255 such announcement to its neighbors. Nor do mechanisms exist to 256 ensure that old UPDATES are not re-propagated after a route was 257 withdrawn before it is legitimately re-advertised. 259 o AS_PATH assumptions: Aside from the use of AS_SET, the AS_PATH is 260 typically considered to be an ordered list of the Autonomous 261 Systems that an UPDATE has traversed. In most cases the rightmost 262 AS in the list is the origin AS, or at least the AS responsible 263 for the announcement of the NLRI information contained in the 264 UPDATE. Specifications state that the AS routing graph MUST be 265 loop free. This indicates that UPDATES received from an external 266 peer which contain the local AS will be rejected. Prepending one 267 or more instances of an AS number on inbound advertisements (where 268 the external peer's AS number is prepended) and outbound 269 advertisements (where the local AS number is prepended) is a 270 commonly used method to bias routing. Prepending a peer AS number 271 on inbound UPDATEs is employed for biasing internal routing and 272 forwarding management while prepending one's own AS number on 273 outbound advertisement is typically used to bias forwarding and 274 routing changes in external networks. The latter practice is 275 explicitly permitted by the BGP specification while the former is 276 not. Some operators, insert a remote AS number in an UPDATE, in 277 order to cause the UPDATE to be dropped by that AS so that traffic 278 will not traverse a given path. Though this practice appears to 279 be unintended in the design in BGP, anecdotal evidence is that its 280 use is not totally insignificant. While such a practice can be 281 beneficial to legitimate operators, it presents a strong potential 282 for misuse. A proposed security system SHOULD address how to 283 either address this concern or give specific information on this 284 topic for consideration by the Operational community. 286 o Route Origination: BGP speakers may originate routes based either 287 configured internal data or via data received from peers via 288 UPDATES. An Autonomous System SHOULD only originate a prefix to 289 its external peers if that prefix has been allocated to the 290 administrators of that system, or if authorized by the prefix 291 holder. 293 o Originating a route without the ability to forward the traffic 294 associated with that route is, in most cases, in conflict with the 295 intent of the BGP specification, notable exceptions include: 297 * Deployments that make use of route servers which are separate 298 from forwarding devices 300 * Deployments that use the propagation of prefixes in order to 301 effectively block high bandwidth attacks (e.g. DDoS) against 302 specific IP addresses (and the associated oversubscription of 303 resources) 305 o Aggregation and de-aggregation: According to RFC4271 [1], if a BGP 306 speaker chooses to aggregate a set of more specific prefixes into 307 a less specific prefix then the ATOMIC_AGGREGATE attribute SHOULD 308 be set. This creates a significant potential loophole in an 309 attempt to secure BGP based on the RFC specifications because some 310 origination information is removed (i.e. the more-specific 311 information which triggered the generation of the aggregate). 313 3. Operational Requirements 315 We have determined, through discussion with several large 316 internetwork operators and equipment vendors, that the following 317 attributes are important to the ongoing performance of interdomain 318 routing systems such as BGP. 320 3.1. Convergence speed 322 Convergence speed is a major concern to many operators of large scale 323 internetworking systems. Networks, and internetworks, are carrying 324 ever increasing amounts of information that is time and delay 325 sensitive; increasing convergence times can adversely affect the 326 usability of the network, and the ability of an internetwork to grow. 327 BGP's convergence speed, with a security system in operation, SHOULD 328 be equivalent to BGP running without the security system in 329 operation. This includes the preservation of optimizations currently 330 used to produce acceptable convergence speeds on current hardware, 331 including UPDATE packing, peer groups, etc. Two types of 332 verification MAY be offered for the NLRI and the AS_PATH in order to 333 allow for a selection of optimizations: 335 o Contents of the UPDATE message SHOULD be authenticated in real- 336 time as the UPDATE message is processed. 338 o The route information base MAY be authenticated periodically or in 339 an event-driven manner by scanning the route-table data and 340 verifying the originating AS and the validity of the AS_PATH list. 342 All BGP implementations that implement security MUST utilize at least 343 one of the above methods for validating routing information. Real 344 time verification is preferred in order to prevent transitive 345 failures based on periodic or event-driven scan intervals. See the 346 section on "Local controls ..." below for more discussion. 348 It is recognized that achieving these goals might prove very 349 difficult or even impossible. 351 3.2. Incremental deployment 353 It will not be feasible to deploy a newly secured BGP protocol 354 throughout the public Internet instantaneously. It also may not be 355 possible to deploy a such a protocol to all routers in a large AS at 356 one time. Because of this, there are several requirements that any 357 proposed mechanism to secure BGP must consider. 359 o A BGP security mechanism MUST enable each BGP speaker to configure 360 use of the security mechanism on a per-peer basis. 362 o A BGP security mechanism MUST provide backward compatibility in 363 the message formatting, transmission, and processing of routing 364 information carried through a mixed security environment. Message 365 formatting in a fully secured environment MAY be handled in a non- 366 backward compatible fashion though care must be taken to ensure 367 when traversing intermediate routers which don't support the new 368 format. 370 o In an environment where both secured and non-secured systems are 371 interoperating a mechanism MUST exist for secured systems to 372 identify whether an originator intended the information to be 373 secured. 375 3.3. Conditions for initialization 377 A key factor in the robust nature of the existing internal and 378 external relationships maintained in today's Internet is the ability 379 to maintain and return to a significantly converged state without the 380 need to rely on systems external to the routing system (the equipment 381 that is performing the forwarding). In order to ensure the rapid 382 initialization and/or return to service of failed nodes it is 383 important to reduce reliance on external systems to the greatest 384 extent possible. Therefore, proposed systems SHOULD NOT require 385 connections to external systems, beyond those directly involved in 386 peering relationships, in order to return to full service. Proposed 387 systems MAY require post initialization synchronization with external 388 systems in order to synchronize security information. 390 3.4. Local controls for secure UPDATE acceptance 392 Each secured environment (e.g. public Internet vs. private 393 internetwork) may have different levels of requirements in terms of 394 what is acceptable or unacceptable. In environments that require 395 strict security it may not be acceptable to temporarily route to a 396 destination while waiting for security verification to be performed. 397 However, in many environments the rapidity of route installation may 398 be of paramount importance, e.g. in order to facilitate the common 399 occurrence of route withdrawal due to network failure. Based on the 400 two divergent requirements, the following criteria apply: 402 o The security system MUST support a range of possible outputs for 403 local determination of the trust level for a specific route so 404 that routing preference and policy can be applied to its inclusion 405 in the RIB. Any given route should be trustable to a locally 406 configured degree, based on the completeness of security 407 information with a received UPDATE and other factors. 409 o The security system SHOULD allow the operator to determine whether 410 speed of convergence is more important than security or security 411 is more important than the speed of convergence. This facilitates 412 the incremental deployment of security on systems not designed to 413 support increased processing requirements imposed by the security 414 system. 416 3.5. Processing on Routers 418 The introduction of mechanisms to improve routing security will 419 generally increase the processing performed by a router. The 420 increased processing typically will result from additional checks 421 performed to determine the validity of UPDATEs, especially if these 422 checks entail cryptographic operations. Since currently deployed 423 routers generally do not have hardware to accelerate cryptographic 424 operations, these operations could impose a significant processing 425 burden under some circumstances. Thus proposed solutions should be 426 evaluated carefully with regard to the processing burden they may 427 impose, since deployment may be impeded if network operators perceive 428 that a specific solution will impose an unacceptable processing 429 burden. 431 In particular, the solution must not require that heavy processing is 432 required on all the BGP routers. Even heavy processing on all 433 routers originating a prefix seems very undesirable, as well as 434 requiring such in all eBGP routers. Thus, requiring heavy processing 435 in anything except separate network components or one or two routers 436 would strongly discourage deployment. 438 On the other hand, while "low processing on routers" security model 439 must be supported, it would be acceptable to have extensions for the 440 "basic" support, which could be locally deployed by those parties 441 which find it necessary or economically justifiable. 443 Some statement as to the expected metrics and scaling as a function 444 of prefixes, peers, NLRI, etc. MUST be included with any proposed 445 solution. 447 3.6. Configuration on Routers 449 It is undesirable to have long or very detailed configuration on the 450 routers, especially it needs to be synchronized on all of them. Long 451 configuration makes operating the device more difficult, and having 452 to do very detailed configuration may hinder the adoption of the 453 security solution; it should be possible to "just start using it" if 454 possible. 456 As above, a statement as to the expected configuration burden as a 457 function of routers, peers, NLRI, ASNs, etc. MUST be included with 458 any proposed solution. Additionally, some consideration SHOULD be 459 given and statement made as to frequency of changes in the case of 460 dynamic data. 462 4. Infrastructure Requirements 464 BGP security mechanisms MAY make use of a security infrastructure to 465 distribute authenticated data that is an input to routing decisions. 466 Such data may be needed to verify whether a given AS is authorized to 467 originate an advertisement for a specified prefix, whether an given 468 organization is the recognized holder of a block of address space or 469 of an AS number, etc. Any infrastructure used to distribute data in 470 support of BGP security is subject to the following criteria: 472 o It MUST be resilient to attacks on the integrity of the data it 473 contains. 475 o It MUST enable network operators to verify the origin of the data. 477 o It MUST be sufficiently available so as to not degrade the 478 existing pace of network operations. 480 o It SHOULD not introduce new organizational entities that have to 481 be trusted in order to establish the authenticity of the data. 483 5. The Trust Model 485 In discussion with the operations community, concerns have emerged 486 regarding the viability of a security system that requires agreement 487 on a trust model dependent on a single root. Current operational 488 practice has many providers engaging in bilateral agreements that 489 grant primacy to local policy choices. The viability of a solution 490 may well rest on the business imperatives of the provider community 491 which may be unwilling to surrender their perceived autonomy or 492 unable to come to communal agreement on this topic. 494 In other environments, deployments may require an authority which has 495 been decided by law or other institutional mandate. Moreover, these 496 two deployment types (single-rooted hierarchy or arbitrary 497 association) may "touch" (i.e. be part of the same co-extensive BGP 498 topology). 500 Solutions MUST account for these differing types of deployments. 502 If two internetworks using differing trust models are interconnected 503 they MUST be able to interoperate using locally determined levels of 504 trust to compensate for differences in their trust models. Some 505 acknowledgement is made that this requirement might render it 506 difficult to discern an attack from a difference in trust model or 507 implementation. Any proposed solution MUST mitigate this risk. 509 6. The AS_PATH Attribute and NLRI Authentication 511 BGP distributes routing information across the Internet (between BGP 512 speakers) using BGP UPDATE messages. The UPDATE message contains 513 withdrawn routes, path attributes and NLRI (Network Layer 514 Reachability Information, synonymous with advertised prefix). For 515 the remainder of this section, we will focus on the AS_PATH Attribute 516 and the NLRI. Attributes such as MED are not transitive and, as 517 such, are protected by BGP session security. 519 The AS_PATH for specific prefixes may be protected in any proposed 520 security system in four ways: 522 o Authorization of Originating AS: For the purposes of authorization 523 of the originating AS, verifiable means that it MUST be possible 524 to verify that the origin AS has been authorized to originate the 525 route by the prefix holder(s). 527 o Announcing AS Check: For all BGP peers, a BGP Implementation MUST 528 ensure that the first element of the AS_PATH list corresponds to 529 the locally configured AS of the peer from which the UPDATE was 530 received. 532 o AS_PATH Feasibility Check: The AS_PATH list MUST correspond to a 533 valid list of autonomous systems according to the first 534 verification category listed in the "Areas to Secure" Section 535 above. 537 o Update Transit Check: Routing information carried through BGP 538 SHOULD include information that can be used to verify the 539 readvertisement or modification by each autonomous system through 540 which the UPDATE has passed. This check is somewhat more rigorous 541 than the "valid list of autonomous systems" above. 543 All of these checks SHOULD be made available to network operators. 544 Each network operator will decide, on a local basis, which of these 545 checks to enable. 547 There are many ways in which a differential between the speed of 548 prefix/AS path attribute propagation and the information validating 549 the prefix/AS_PATH attribute information can be exploited to attack 550 the routing system on a transient basis. These types of attacks 551 primarily exploit the time it takes to follow the withdrawal of a 552 route via an UPDATE. As a result of this potential for temporary 553 disruption, BGP security solutions MUST be capable of distributing 554 security information at the same rate as the BGP announcements and 555 withdrawals propagate. 557 All data needed by BGP routers to evaluate the validity of an 558 advertisement MUST be made available to the routers in a timeframe 559 consistent with the rate at which advertsisements characteristics 560 change. Two examples are: 562 o the distribution of information about the AS(es) authorized to 563 advertise a given block of IP addresses (or an address space), 565 o the distribution of information about connectivity between 566 autonomous systems and about autonomous system policies. 568 Note that in today's operational Internet, the first two pieces of 569 information, or their analogues, are not a part of the BGP routing 570 system per se (e.g. information in Routing or Address registries.) 571 They are consulted by operators on an irregular basis and are not 572 consulted in real time by the routing system. Policy information is 573 explicitly carried in the routing system and inconsistently expressed 574 and consulted by operators. However, the ability to change the 575 connectivity in real time is an important feature of the current 576 Internet. 578 7. Address Allocation and Advertisement 580 As part of the regular operation of the Internet, addresses allocated 581 to one organization may be, and are quite commonly, advertised by 582 different organizations. Common reasons for this practice include 583 multi-homing and route reduction for the purposes of resource 584 conservation (e.g. aggregation). There are two modes of delegation: 586 o A BGP speaker and listener have chosen to restrict the number of 587 received prefixes for the listener. The listener has chosen to 588 honor route announcements sent in a summary fashion by the 589 speaker. 591 o Address space that is being delegated is part of a larger 592 allocation that is held by an autonomous system. The holder then 593 delegates the smaller block to another AS for purposes of 594 advertisement. This mode is commonly observed in multi-homing. 596 These two modes lead to a single common requirement: Any BGP Security 597 solution MUST support the ability of an address block holder to 598 declare (in a secure fashion) the AS(es) that the holder authorizes 599 to originate routes to its address block(s) or any portion thereof 600 regardless of the relationship of the entities. 602 An associated delegation criteria is the requirement to allow for 603 non-BGP stub networks. As a result, all secured BGP implementations 604 MUST allow for the contemporaneous origination of a route for a 605 prefix by more than one AS. 607 8. Logging 609 In order to facilitate auditing and troubleshooting, a logging 610 capability MUST be implemented that will indicate both negative and 611 positive event behaviors. This data SHALL be for consumption of the 612 AS operating the device which is producing the logs. Further, the 613 information MAY be combined with data from other is ASes or devices 614 with different implementations within the same AS for purposes of 615 event correlation and tracking. Here follow some considerations in 616 this regard: 618 o The data generated by logging may be very large depending on the 619 number of peers, the number of prefixes received, the 620 authentication model used, and routing policies. As such, 621 efficient data structures and storage mechanisms MUST be developed 622 to allow for an effective means of reproducing incidents and 623 outages 625 o Path and NLRI attributes MUST be logged using a standard format. 626 The format MUST be scalable with the amount of data logged and the 627 frequency of log generation. The frequency of log generation 628 should be controllable by the operator. The logging mechanisms 629 for the tracked information MUST be standardized across all 630 platforms. Logging ability both on and off line is considered 631 highly desirable. 633 9. NLRI and Path Attribute Tracking 635 The ability for a receiver to know the identity of each AS that 636 originates and/or forwards a routing UPDATE is a desirable trait. In 637 order to rapidly identify attack points and parties at fault for 638 route table disruption, it is important to be able to track and log 639 prefix origination information along with associated security 640 information. 642 This capability can be afforded by implementation of the 643 aforementioned directive that any security system SHOULD provide a 644 method to allow the receiver of an UPDATE to verify that the 645 originator is actually authorized to originate the update, and that 646 the AS's listed in the AS_PATH actually forwarded the update. 648 10. Transport Layer Protection 650 Transport protection is an important aspect of BGP routing protocol 651 security. The potential to create a linked transport/NLRI/AS_PATH 652 authentication mechanism should not be overlooked and may provide for 653 the accelerated deployment of a BGP security system. Current 654 security mechanisms for BGP transport (e.g. TCP-MD5 [5] and GTSM 655 [7]) are inadequate and require significant operator interaction to 656 maintain a respectable level of security. 658 Transport protection systems MAY function as a component of the BGP 659 routing protocol security mechanism. This includes the use of the 660 same key generation/management systems as the rest of the security 661 system. 663 Any proposed security mechanism MUST include provisions for securing 664 both internal BGP and external BGP peering sessions. 666 11. Key Management 668 Current implementations and deployments of TCP-MD5 [5] exhibit 669 serious shortcomings with regard of key management as described in 670 RFC 3562 [6]. 672 Key maintenance can be especially onerous for operators. The number 673 of keys required and the maintenance of keys (issue/revoke/renew) has 674 had an additive effect as a barrier to deployment. Thus automated 675 means of managing keys, to reduce operational burdens, MUST be 676 available throughout BGP security systems. These security systems 677 MUST be resistant to compromise of session-level or device-level 678 keys, i.e., the security implications of such compromises MUST be 679 limited. 681 12. References 683 12.1. Normative References 685 [1] Rekhter, Li, and Hares, "RFC 4271 - A Border Gateway Protocol 4 686 (BGP-4)", October 2005. 688 12.2. Informative References 690 [2] Fraser, "RFC 2196 - Site Security Handbook", September 1997. 692 [3] Rescorla, Korver, and Internet Architecture Board, "RFC 3552 - 693 Guidelines for Writing RFC Text on Security Considerations", 694 July 2003. 696 [4] Rekhter and Li, "RFC 1771 - A Border Gateway Protocol 4 697 (BGP-4)", March 1995. 699 [5] Heffernan, "RFC 2385 - Protection of BGP Sessions via the TCP 700 MD5 Signature Option", August 1998. 702 [6] Leech, "RFC 3562 - Key Management Considerations for the TCP MD5 703 Signature Option", July 2003. 705 [7] Gill, Heasley, and Meyer, "RFC 3682 - The Generalized TTL 706 Security Mechanism (GTSM)", February 2004. 708 1. Acknowledgements 710 The following individuals contributed to the development and review 711 of this draft. Steve Kent, Russ White, Sandy Murphy, Jeff Haas, Bora 712 Akyol, Susan Hares, Mike Tibodeau, Thomas Renzy, Kaarthik Sivakumar, 713 Tao Wan, Radia Perlman, Pekka Savola and Merike Kaeo. 715 This draft was developed based on conversations with various network 716 operators including Chris Morrow, Jared Mauch, Tim Battles, and Ryan 717 McDowell. 719 Authors' Addresses 721 Blaine Christian (editor) 722 KMC Telecom Solutions 723 1545 U.S. Highway 206 724 Bedminster, NJ 07921 725 US 727 Tony Tauber (editor) 728 Comcast 729 27 Industrial Avenue 730 Chelmsford, MA 01824 731 US 733 Email: ttauber@1-4-5.net 735 Intellectual Property Statement 737 The IETF takes no position regarding the validity or scope of any 738 Intellectual Property Rights or other rights that might be claimed to 739 pertain to the implementation or use of the technology described in 740 this document or the extent to which any license under such rights 741 might or might not be available; nor does it represent that it has 742 made any independent effort to identify any such rights. Information 743 on the procedures with respect to rights in RFC documents can be 744 found in BCP 78 and BCP 79. 746 Copies of IPR disclosures made to the IETF Secretariat and any 747 assurances of licenses to be made available, or the result of an 748 attempt made to obtain a general license or permission for the use of 749 such proprietary rights by implementers or users of this 750 specification can be obtained from the IETF on-line IPR repository at 751 http://www.ietf.org/ipr. 753 The IETF invites any interested party to bring to its attention any 754 copyrights, patents or patent applications, or other proprietary 755 rights that may cover technology that may be required to implement 756 this standard. Please address the information to the IETF at 757 ietf-ipr@ietf.org. 759 Disclaimer of Validity 761 This document and the information contained herein are provided on an 762 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 763 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 764 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 765 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 766 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 767 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 769 Copyright Statement 771 Copyright (C) The Internet Society (2006). This document is subject 772 to the rights, licenses and restrictions contained in BCP 78, and 773 except as set forth therein, the authors retain all their rights. 775 Acknowledgment 777 Funding for the RFC Editor function is currently provided by the 778 Internet Society.