idnits 2.17.1 draft-ietf-savi-framework-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. 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 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 separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 11, 2011) is 4822 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 3 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Wu 3 Internet-Draft J. Bi 4 Intended status: Informational Tsinghua Univ. 5 Expires: August 15, 2011 M. Bagnulo 6 UC3M 7 F. Baker 8 Cisco 9 C. Vogt, Ed. 10 Ericsson 11 February 11, 2011 13 Source Address Validation Improvement Framework 14 draft-ietf-savi-framework-02 16 Abstract 18 The Source Address Validation Improvement method was developed to 19 complement ingress filtering with finer-grained, standardized IP 20 source address validation. This document describes and motivates the 21 design of the SAVI method. 23 Status of this Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on August 15, 2011. 40 Copyright Notice 42 Copyright (c) 2011 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 This document may contain material from IETF Documents or IETF 56 Contributions published or made publicly available before November 57 10, 2008. The person(s) controlling the copyright in some of this 58 material may not have granted the IETF Trust the right to allow 59 modifications of such material outside the IETF Standards Process. 60 Without obtaining an adequate license from the person(s) controlling 61 the copyright in such materials, this document may not be modified 62 outside the IETF Standards Process, and derivative works of it may 63 not be created outside the IETF Standards Process, except to format 64 it for publication as an RFC or to translate it into languages other 65 than English. 67 Table of Contents 69 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 70 2. Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 71 3. Deployment Options . . . . . . . . . . . . . . . . . . . . . . 6 72 4. Scalability Optimizations . . . . . . . . . . . . . . . . . . 7 73 5. Reliability Optimizations . . . . . . . . . . . . . . . . . . 9 74 6. Mix Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 10 75 7. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 10 76 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 79 1. Introduction 81 Since IP source addresses are used by hosts and network entities to 82 determine the origin of a packet and as a destination for return 83 data, spoofing of IP source addresses can enable impersonation, 84 concealment, and malicious traffic redirection. Unfortunately, the 85 Internet architecture does not prevent IP source address spoofing. 86 Since the IP source address of a packet generally takes no role in 87 forwarding the packet, it can be selected arbitrarily by the sending 88 host without jeopardizing packet delivery. Extra methods are 89 necessary for IP source address validation, to augment packet 90 forwarding with an explicit check of whether a given packet's IP 91 source address is legitimate. 93 IP source address validation can happen at different granularity: 94 Ingress filtering [BCP38], a widely deployed standard for IP source 95 address validation, functions at the coarse granularity of networks. 96 It verifies that the prefix of an IP source address routes to the 97 network from which the packet was received. An advantage of ingress 98 filtering is simplicity: The decision of whether to accept or to 99 reject an IP source address can be made solely based on the 100 information available from routing protocols. However, the 101 simplicity comes at the cost of not being able to validate IP source 102 addresses at a finer granularity, due to the aggregated nature of the 103 information available from routing protocols. Finer-grained IP 104 source address validation would be helpful to enable IP-source- 105 address-based authentication, authorization, and host localization, 106 as well as to efficiently identify misbehaving hosts. Partial 107 solutions [BA2007] exist for finer-grained IP source address 108 validation, but are proprietary and hence often unsuitable for 109 corporate procurement. 111 The Source Address Validation Improvement method was developed to 112 complement ingress filtering with standardized IP source address 113 validation at the maximally fine granularity of individual IP 114 addresses: It prevents hosts attached to the same link from spoofing 115 each other's IP addresses. To facilitate deployment in networks of 116 various kinds, the SAVI method was designed to be modular and 117 extensible. This document describes and motivates the design of the 118 SAVI method. 120 2. Model 122 To enable network operators to deploy fine-grained IP source address 123 validation without a dependency on supportive functionality on hosts, 124 the SAVI method was designed to be purely network-based. A SAVI 125 instance is located on the path of hosts' packets, enforcing the 126 hosts' use of legitimate IP source addresses according to the 127 following three-step model: 129 1. Identify which IP source addresses are legitimate for a host, 130 based on monitoring packets exchanged by the host. 132 2. Bind a legitimate IP address to a link layer property of the 133 host's network attachment. This property, called a "binding 134 anchor", must be verifiable in every packet that the host sends, 135 and harder to spoof than the host's IP source address itself. 137 3. Enforce that the IP source addresses in packets match the binding 138 anchors to which they were bound. 140 This model allows a SAVI instance to be located anywhere on the link 141 to which the hosts attach, hence enabling different locations for a 142 SAVI instance. One way to locate a SAVI instance is in the hosts' 143 default router. IP source addresses are then validated in packets 144 traversing the default router, yet the IP source addresses in packets 145 exchanged locally on the link may bypass validation. Another way to 146 locate a SAVI instance is in a switch between the hosts and their 147 default router. Thus, packets may undergo IP source address 148 validation even if exchanged locally on the link. 150 The closer a SAVI instance is located to the hosts, the more 151 effective the SAVI method is. This is because each of the three 152 steps of the SAVI model can best be accomplished in a position close 153 to the host: 155 o Identifying a host's legitimate IP source addresses is most 156 efficient close to the host, because the likelihood that the 157 host's packets bypass a SAVI instance, and hence cannot be 158 monitored, increases with the distance between the SAVI instance 159 and the host. 161 o Selecting a binding anchor for a host's IP source address is 162 easiest close to the host, because many link layer properties are 163 unique for a given host only on a link segment directly attaching 164 to the host. 166 o Enforcing a host's use of a legitimate IP source address is most 167 reliable when pursued close to the host, because the likelihood 168 that the host's packets bypass a SAVI instance, and hence do not 169 undergo IP source address validation, increases with the distance 170 between the SAVI instance and the host. 172 The preferred location of SAVI instances is therefore close to hosts, 173 such as in switches that directly attach to the hosts whose IP source 174 addresses are being validated. 176 3. Deployment Options 178 The model of the SAVI method, as explained in Section 2, is 179 deployment-specific in two ways: 181 o The identification of legitimate IP source addresses is dependent 182 on the IP address assignment method in use on a link, since it is 183 through assignment that a host becomes the legitimate user of an 184 IP source address. 186 o Binding anchors are dependent on the technology used to build the 187 link on which they are used, as binding anchors are link layer 188 properties of a host's network attachment. 190 To facilitate the deployment of the SAVI method in networks of 191 various kinds, the SAVI method is designed to support different IP 192 address assignment methods, and to function with different binding 193 anchors. Naturally, both the IP address assignment methods in use on 194 a link and the available binding anchors have an impact on the 195 functioning and the strength of IP source address validation. The 196 following two sub-sections explain this impact, and describe how the 197 SAVI method accommodates this. 199 3.1. IP Address Assignment Methods 201 Since the SAVI method traces IP address assignment packets, it 202 necessarily needs to incorporate logic that is specific to particular 203 IP address assignment methods. However, developing SAVI method 204 variants for each IP address assignment method is alone not 205 sufficient, since multiple IP address assignment methods may co-exist 206 on a given link. The SAVI method hence comes in multiple variants: 207 for links with Stateless Address Autoconfiguration, for links with 208 DHCP, for links with Secure Neighbor Discovery, and for links that 209 use any combination of IP address assignment methods. 211 The reason to develop SAVI method variants for each single IP address 212 configuration method, in addition to the variant that handles all IP 213 address assignment methods, is to minimize the complexity of the 214 common case: Many link deployments today either are constrained to a 215 single IP address assignment methods or, equivalently from the 216 perspective of the SAVI method, separate IP address assignment 217 methods into different IP address prefixes. The SAVI method for such 218 links can be simpler than the SAVI method for links with multiple IP 219 address assignment methods per IP address prefix. 221 3.2. Binding Anchors 223 The SAVI method supports a range of binding anchors: 225 o The IEEE extended unique identifier, EUI-48 or EUI-64, of a host's 226 interface. 228 o The port on an Ethernet switch to which a host attaches. 230 o The security association between a host and the base station on 231 wireless links. 233 o The combination of a host interface's link-layer address and a 234 customer relationship in cable modem networks. 236 o An ATM virtual channel, a PPPoE session identifier, or an L2TP 237 session identifier in a DSL network. 239 o A tunnel that connects to a single host, such as an IP-in-IP 240 tunnel, a GRE tunnel, or an MPLS label-switched path. 242 The various binding anchors differ significantly in the security they 243 provide. IEEE extended unique identifiers, for example, fail to 244 render a secure binding anchor because they can be spoofed with 245 little effort. And switch ports alone may be insufficient because 246 they may connect to more than a single host, such as in the case of 247 concatenated switches. 249 Given this diversity in the security provided, one could define a set 250 of possible binding anchors, and leave it up to the administrator to 251 choose one or more of them. Such a selection of binding anchors 252 would, of course, have to be accompanied by an explanation of the 253 pros and cons of the different binding anchors. In addition, SAVI 254 devices may have a default binding anchor depending on the lower 255 layers. Such a default could be to use switch ports when available, 256 and MAC addresses otherwise. Or to use MAC addresses, and switch 257 ports in addition if available. 259 4. Scalability Optimizations 261 The preference to locate a SAVI instance close to hosts implies that 262 multiple SAVI instances must be able to co-exist in order to support 263 large links. Although the model of the SAVI method is independent of 264 the number of SAVI instances per link, co-existence of multiple SAVI 265 instances without further measures can lead to higher-than-necessary 266 memory requirements: Since a SAVI instance creates bindings for the 267 IP source addresses of all hosts on a link, bindings are replicated 268 if multiple SAVI instances co-exist on the link. High memory 269 requirements, in turn, increase the cost of a SAVI instance. This is 270 problematic in particular for SAVI instances that are located on a 271 switch, since it may significantly increase the cost of such a 272 switch. 274 To reduce memory requirements for SAVI instances that are located on 275 a switch, the SAVI method enables the suppression of binding 276 replication on links with multiple SAVI instances. This requires 277 manual disabling of IP source address validation on switch ports that 278 connect to other switches running a SAVI instance. Each SAVI 279 instance is then responsible for validating IP source addresses only 280 on those ports to which hosts attach either directly, or via switches 281 without a SAVI instance. On ports towards other switches running a 282 SAVI instance, IP source addresses are not validated. The switches 283 running SAVI instances thus form a "protection perimeter". The IP 284 source addresses in packets passing the protection perimeter are 285 validated by the ingress SAVI instance, but no further validation 286 takes place as long as the packets remain within, or leave the 287 protection perimeter. 289 .............. 290 protection perimeter --> : +--------+ : 291 +---+ +---+ : | SAVI | : 292 | A | | B | <-- hosts : | switch | : 293 +---+ +---+ : +--------+ : 294 ...|......|.............................: | : 295 : +--------+ +--------+ +--------+ : 296 : | SAVI |----------| legacy | | SAVI | : 297 : | switch | | switch |----------| switch | : 298 : +--------+ +--------+ +--------+ : 299 : | ...............................|........: 300 : +--------+ : +--------+ 301 : | SAVI | : | legacy | 302 : | switch | : | switch | 303 : +--------+ : +--------+ 304 :............: | | 305 +---+ +---+ 306 hosts --> | C | | D | 307 +---+ +---+ 309 Figure 1: Protection perimeter concept 311 Figure 1 illustrates the concept of the protection perimeter. The 312 figure shows a link with six switches, of which four, denoted "SAVI 313 switch", run a SAVI instance. The protection perimeter created by 314 the four SAVI instances is shown as a dotted line in the figure. IP 315 source address validation is enabled on all switch ports on the 316 protection perimeter, and it is disabled on all other switch ports. 317 Four hosts, denoted A through D in the figure, attach to the 318 protection perimeter. 320 In the example of figure Figure 1, the protection perimeter 321 encompasses one of the legacy switches, located in the middle of the 322 depicted link topology. This enables a single, unpartitioned 323 protection perimeter. A single protection perimeter minimizes memory 324 requirements for the SAVI instances because every binding is kept 325 only once, namely, by the SAVI instance that attaches to the host 326 being validated. Excluding the legacy switch from the protection 327 perimeter would result in two smaller protection perimeters to the 328 left and to the right of the depicted link topology. The memory 329 requirements for the SAVI instances would then be higher: Since IP 330 source address validation would be activated on the two ports 331 connecting to the legacy switch, the SAVI instances adjacent to the 332 legacy switch would replicate all bindings from the respectively 333 other protection perimeter. The reason why it is possible to include 334 the legacy switch in the protection perimeter is because the depicted 335 link topology guarantees that packets cannot enter the protection 336 perimeter via this legacy switch. Without this guarantee, the legacy 337 switch would have to be excluded from the protection perimeter in 338 order to ensure that packets entering the protection perimeter 339 undergo IP source address validation. 341 5. Reliability Optimizations 343 The explicit storage of legitimate IP addresses in the form of 344 bindings implies that failure to create a binding, or the premature 345 removal of bindings, can lead to loss of legitimate packets. There 346 are three situations in which this can happen: 348 o Legitimate IP address configuration packets, which should trigger 349 the creation of a binding in a SAVI instance, are lost before 350 reaching the SAVI instance. 352 o A SAVI instance loses a binding, for example, due to a restart. 354 o The link topology changes, resulting in hosts to communicate 355 through SAVI instances that do not have a binding for those hosts' 356 IP addresses. 358 To limit the disruption that missing bindings for legitimate IP 359 addresses can have, the SAVI method includes a mechanism for reactive 360 binding creation based on regular packets. This mechanism 361 supplements the proactive binding creation based on IP address 362 configuration packets. Reactive binding creation occurs when a SAVI 363 instances recognizes excessive drops of regular packets originating 364 from the same IP address. The SAVI instance then verifies whether 365 said IP address is unique on the link. How the verification is 366 carried out depends on the IP address configuration method that the 367 SAVI instance supports: The SAVI method variant for Stateless 368 Address Autoconfiguration and for Secure Neighbor Discovery verifies 369 an IP address through the Duplicate Address Detection procedure. The 370 SAVI method variant for DHCP verifies an IP address through a DHCP 371 Lease Query message exchange with the DHCP server. If verification 372 indicates that the IP address is unique on the link, the SAVI 373 instance creates a binding for the IP address. Otherwise, no binding 374 is created, and packets sent from the IP address continue to be 375 dropped. 377 6. Mix Scenario 379 While multiple assignment methods can be used on the same link, the 380 SAVI device may have to deal with a mix of binding discovery methods. 381 if the address prefix used for each assignment method is different, 382 mix scenario can handle the same as scenario with only one assignment 383 method. If different address assignment methods are used to assign 384 addresses from the same prefix, additional considerations are needed 385 because one binding mechanism may create a binding violating an 386 existing binding from another binding mechanism, e.g., binding from 387 SAVI-FCFS may violate binding from SAVI-DHCP. Thus, the collision 388 between different SAVI mechanisms in mix scenario must be handled in 389 case more than one address assignment method is used to assign 390 addresses from the same prefix. 392 Prioritization relationship between different address assignment 393 methods is used as the basis to solve possible collisions. Current 394 standard documents of address assignment methods have implied the 395 prioritization relationship in general cases. However, considering 396 in some scenarios, default prioritization level may not be quite 397 suitable. Configurable prioritization level should be supported in a 398 document of SAVI solution for the mix scenario. 400 7. Acknowledgment 402 The author would like to thank the SAVI working group for a thorough 403 technical discussion on the design and the framework of the SAVI 404 method, as captured in this document, in particular Erik Nordmark, 405 Guang Yao, Eric Levy-Abegnoli, and Alberto Garcia. Thanks also to 406 Torben Melsen for reviewing this document. 408 This document was generated using the xml2rfc tool. 410 8. References 412 [BA2007] Baker, F., "Cisco IP Version 4 Source Guard", IETF Internet 413 draft (work in progress), November 2007. 415 [BCP38] Paul, P. and D. Senie, "Network Ingress Filtering: 416 Defeating Denial of Service Attacks which employ IP Source 417 Address Spoofing", RFC 2827, BCP 38, May 2000. 419 Authors' Addresses 421 Jianping Wu 422 Computer Science, Tsinghua University 423 Beijing 100084 424 China 426 Email: jianping@cernet.edu.cn 428 Jun Bi 429 Network Research Center, Tsinghua University 430 Beijing 100084 431 China 433 Email: junbi@tsinghua.edu.cn 435 Marcelo Bagnulo 436 Universidad Carlos III de Madrid 437 Avenida de la Universidad 30 438 Leganes, Madrid 28911 439 Spain 441 Email: marcelo@it.uc3m.es 442 Fred Baker 443 Cisco Systems 444 Santa Barbara, CA 93117 445 United States 447 Email: fred@cisco.com 449 Christian Vogt (editor) 450 Ericsson 451 200 Holger Way 452 San Jose, CA 95134 453 United States 455 Email: christian.vogt@ericsson.com