idnits 2.17.1 draft-ietf-sidr-roa-validation-08.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 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 288: '...ent. An AS0-ROA MAY coexist with ROAs...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 161 has weird spacing: '... Route mat...' -- 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 (October 15, 2010) is 4942 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-10) exists of draft-ietf-sidr-pfx-validate-00 Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Secure Inter-Domain Routing (SIDR) G. Huston 3 Internet-Draft G. Michaelson 4 Intended status: Informational APNIC 5 Expires: April 18, 2011 October 15, 2010 7 Validation of Route Origination using the Resource Certificate PKI and 8 ROAs 9 draft-ietf-sidr-roa-validation-08.txt 11 Abstract 13 This document defines the semantics of a Route Origin Authorization 14 (ROA) in terms of the context of an application of the Resource 15 Public Key Infrastructure to validate the origination of routes 16 advertised in the Border Gateway Protocol. 18 Status of this Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on April 18, 2011. 35 Copyright Notice 37 Copyright (c) 2010 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. ROA Validation Outcomes for a Route . . . . . . . . . . . . . . 3 54 3. Applying Validation Outcomes to Route Selection . . . . . . . . 6 55 4. Disavowal of Routing Origination . . . . . . . . . . . . . . . 7 56 5. Route Validation Lifetime . . . . . . . . . . . . . . . . . . . 7 57 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 58 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 59 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 60 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 61 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 62 9.2. Informative References . . . . . . . . . . . . . . . . . . 9 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 65 1. Introduction 67 This document defines the semantics of a Route Origin Authorization 68 (ROA) in terms of the context of an application of the Resource 69 Public Key Infrastructure (RPKI) [I-D.ietf-sidr-arch] to validate the 70 origination of routes advertised in the Border Gateway Protocol (BGP) 71 [RFC4271]. 73 The RPKI is based on a hierarchy of Resource Certificates that are 74 aligned to the Internet number resource allocation structure. 75 Resource Certificates are X.509 certificates that conform to the PKIX 76 profile [RFC5280], and to the extensions for IP addresses and AS 77 identifiers [RFC3779]. A Resource Certificate describes an action by 78 an issuer that binds a list of IP address blocks and Autonomous 79 System (AS) numbers to the Subject of a certificate, identified by 80 the unique association of the Subject's private key with the public 81 key contained in the Resource Certificate. The RPKI is structured 82 such that each current Resource Certificate matches a current 83 resource allocation or assignment. This is further described in 84 [I-D.ietf-sidr-arch]. 86 ROAs are digitally signed objects that bind an address to an AS 87 number, signed by the address holder. A ROA provides a means of 88 verifying that an IP address block holder has authorized a particular 89 AS to originate routes in the inter-domain routing environment for 90 that address block. ROAs are described in 91 [I-D.ietf-sidr-roa-format]. ROAs are intended to fit within the 92 requirements for adding security to inter-domain routing. 94 This document describes the semantic interpretation of a ROA, with 95 particular reference to application in inter-domain routing relating 96 to the origination of routes, and the intended scope of the authority 97 that is conveyed in the ROA. 99 2. ROA Validation Outcomes for a Route 101 A "route" is unit of information that associates a set of 102 destinations described by an IP address prefix with a set of 103 attributes of a path to those destinations, as defined in section 1.1 104 of [RFC4271]. 106 A route's "origin AS" is defined as follows: If the final path 107 segment of the AS_PATH is of type AS_SEQUENCE, the "origin AS" is the 108 first element of the sequence (i.e. the AS in the rightmost position 109 with respect to the position of octets in the protocol message). If 110 the final path segment of the AS_PATH is of type AS_SET, indicating 111 that the route is an aggregate, then the origin AS is taken as the AS 112 component of the AGGREGATOR path attribute [RFC4271], if present. If 113 the AGGREGATOR path attribute is missing, then the origin AS is the 114 first AS element of the last path segment of type AS_SEQUENCE (i.e. 115 this would conventionally be the AS in the rightmost position of the 116 AS_SEQUENCE path segment immediately preceding the final AS_SET path 117 segment in the protocol message). Otherwise the route's origin AS 118 cannot be determined. 120 In terms of validation of a route in the context of a routing 121 environment, the address prefix value and the origin AS are used in 122 the ROA validation operation. 124 It is assumed here that a Relying Party (RP) has access to a local 125 cache of the complete set of valid ROAs when performing validation of 126 a route. (Valid ROAs are defined as ROAs that are determined to be 127 syntactically correct and are signed using a signature that can be 128 verified using the RPKI, as described in [I-D.ietf-sidr-roa-format].) 129 The RP needs to match a route to one or more candidate valid ROAs in 130 order to determine a validation outcome, which, in turn, can be used 131 to determine the appropriate local actions to perform on the route. 133 This approach to route origination validation uses a generic model of 134 "positive" attestation that has an associated inference that routes 135 that cannot be validated within the RPKI framework would 136 conventionally be interpreted by a RP as "invalid". However, the 137 considerations of accommodating environments of partial adoption of 138 the use of ROAs, where only a subset of validly advertised address 139 prefixes have associated published ROAs within the structure of the 140 RPKI, imply some modification to this model of positive attestation. 141 In the context of route validation it is assumed that once an address 142 prefix is described in a ROA, then this ROA specifically encompasses 143 all address prefixes that are more specific than that described in 144 the ROA. Thus, any route for a more specific address prefix than 145 that described by any valid ROA that does not itself have a matching 146 valid ROA can be considered to be "invalid". However, routes objects 147 for address prefixes that are not fully described by any single ROA, 148 i.e., those route objects whose address prefixes may be an aggregate 149 of address prefixes described in a valid ROA, or have address 150 prefixes where there is no intersection with any ROA, and are not 151 matched by any ROA and are not a more specific of any ROA, cannot be 152 reliably classified as "invalid" in a partial deployment scenario. 153 Such routes have a validation outcome of "unknown". 155 An abstract attribute of a route can be determined as the outcome of 156 this validation procedure, namely a "validity state" 157 [I-D.ietf-sidr-pfx-validate]. The "validity state" of a route, with 158 a prefix and an origin AS as defined above, when using single ROA for 159 determining this validity state is summarized in the following table: 161 Route matching non-matching 162 Prefix AS-> AS AS 163 V +---------+---------+ 164 Non- | unknown | unknown | 165 Intersecting | | | 166 +---------+---------+ 167 Covering | unknown | unknown | 168 Aggregate | | | 169 +---------+---------+ 170 match ROA | valid | invalid | 171 prefix | | | 172 +---------+---------+ 173 More | | | 174 Specific | invalid | invalid | 175 than ROA | | | 176 +---------+---------+ 178 Route's Validity State 180 In an environment of a collection of valid ROAs, a route's validity 181 state is considered to be "valid" if any ROA provides a "valid" 182 outcome. It's validity state is considered to be "invalid" if one 183 (or more) ROAs provide an "invalid" outcome and no ROAs provide a 184 "valid" outcome. Its validity state is considered to be "unknown" 185 (or, synonymously, "not found" [I-D.ietf-sidr-pfx-validate] when no 186 valid ROA can produce either a "valid" or an "invalid" validity state 187 outcome. 189 A route validity state is defined by the following procedure: 191 1. Select all valid ROAs that include a ROAIPAddress value that 192 either matches, or is a covering aggregate of, the address 193 prefix in the route. This selection forms the set of 194 "candidate ROAs." 196 2. If the set of candidate ROAs is empty, then the procedure 197 stops with an outcome of "unknown" (or, synonymously, "not 198 found", as used in [I-D.ietf-sidr-pfx-validate]). 200 3. If the route's origin AS can be determined and any of the set 201 of candidate ROAs has an asID value that matches the origin AS 202 in the route, and the route's address prefix matches a 203 ROAIPAddress in the ROA (where "match" is defined as where the 204 route's address precisely matches the ROAIPAddress, or where 205 the ROAIPAddress includes a maxLength element, and the route's 206 address prefix is a more specific prefix of the ROAIPAddress, 207 and the route's address prefix length value is less than or 208 equal to the ROAIPAddress maxLength value) then the procedure 209 halts with an outcome of "valid". 211 4. Otherwise, the procedure halts with an outcome of "invalid". 213 3. Applying Validation Outcomes to Route Selection 215 Within the framework of the abstract model of the operation of inter- 216 domain routing using BGP [RFC4271], a received prefix announcement 217 from a routing peer is compared to all announcements for this prefix 218 received from other routing peers and a route selection procedure is 219 used to select the "best" route from this candidate set. 221 The route's validity state, described in Section 2, of "valid", 222 "invalid" or "unknown" may be used as part of the determination of 223 the local degree of preference, in which case the local order of 224 preference is as follows: 225 "valid" is to be preferred over 226 "unknown", which is to be preferred over 227 "invalid". 229 It is a matter of local routing policy as to the actions to be 230 undertaken by a routing entity in processing those routes with 231 "unknown" validity states. Due to considerations of partial use of 232 ROAs in heterogeneous environments, such as in the public Internet, 233 it is advised that local policy settings should not result in 234 "unknown" validity state outcomes being considered as sufficient 235 grounds to reject a route outright from further consideration as a 236 local "best" route. 238 It is a matter of local routing policy as to whether routes with an 239 "invalid" validity state are considered to be ineligible for further 240 consideration in a route selection process. A possible consideration 241 here is one of potential circularity of dependence: If the 242 authoritative publication point of the repository of ROAs, or that of 243 any certificate used in relation to an address prefix, is located at 244 an address that lies within the address prefix described in a ROA, 245 then the repository can only be accessed by the RP once a route for 246 the prefix has been accepted by the RP's local routing domain. It is 247 also noted that the propagation time of RPKI objects may be different 248 to the propagation time of routes, and that routes may be learned by 249 an RP's routing system before the RP's local RPKI repository cache 250 picks up the associated ROAs and recognises them as having a validity 251 state of "valid" within the RPKI. 253 4. Disavowal of Routing Origination 255 A ROA is a positive attestation that a prefix holder has authorized 256 an AS to originate a route for this prefix into the inter-domain 257 routing system. It is possible for a prefix holder to construct an 258 authorization where no valid AS has been granted any such authority 259 to originate a route for an address prefix. This is achieved by 260 using a ROA where the ROA's subject AS is one that must not be used 261 in any routing context. Specifically, AS 0 is reserved by the IANA 262 such that it may be used to identify non-routed networks 263 [IANA.AS-Registry]. 265 A ROA with a subject of AS 0 (AS0-ROA) is an attestation by the 266 holder of a prefix that the prefix described in the ROA, and any more 267 specific prefix, should not be used in a routing context. 269 The route validation procedure, described in Section 2, will provide 270 a "valid" outcome if any ROA matches the address prefix and origin 271 AS, even if other valid ROAs would provide an "invalid" validation 272 outcome if used in isolation. Consequently, an AS0-ROA has a lower 273 relative preference than any other ROA that has a routable AS as its 274 subject. This allows a prefix holder to use an AS0-ROA to declare a 275 default condition that any route that is equal to, or more specific 276 than the prefix to be considered to be invalid, while also allowing 277 other concurrently issued ROAs to describe valid origination 278 authorizations for more specific prefixes. 280 By convention, an AS0-ROA should have a maxLength value of 32 for 281 IPv4 addresses and a maxlength value of 128 for IPv6 addresses, 282 although in terms of route validation the same outcome would be 283 achieved with any valid maxLength value, or even if the maxLength 284 element were to be omitted from the ROA. 286 Also by convention, an AS0-ROA should be the only ROA issued for a 287 given address prefix, although again this is not a strict 288 requirement. An AS0-ROA MAY coexist with ROAs that have different 289 subject AS values, although in such cases the presence or otherwise 290 of the AS0-ROA does not alter the route's validity state in any way. 292 5. Route Validation Lifetime 294 The "lifetime" of a validation outcome refers to the time period 295 during which the original validation outcome can be still applied. 296 The implicit assumption here is that when the validation lifetime 297 expires the routing object should be re-tested for validity. 299 The validation lifetime for a ROA is controlled by the Valid times 300 specified in the End Entity (EE) Certificate used to sign the ROA, 301 and the valid times of those certificates in the certification path 302 used to validate the EE Certificate. A ROA validation "expires" at 303 the Validity To field of the signing EE certificate, or at such a 304 time when there is no certification path that can validate the ROA. 305 A ROA issuer may elect to prematurely invalidate a ROA by revoking 306 the EE certificate that was used to sign the ROA. 308 6. Security Considerations 310 ROA issuers should be aware of the validation implication in issuing 311 a ROA, in that a ROA implicitly invalidates all routes that have more 312 specific prefixes with a prefix length greater than maxLength, and 313 all originating AS's other than the AS listed in the collection of 314 ROAs for this prefix. 316 A conservative operational practice would be to ensure the issuing of 317 ROAs for all more specific prefixes with distinct origination AS's 318 prior to the issuing of ROAs for larger encompassing address blocks, 319 in order to avoid inadvertent invalidation of valid routes during ROA 320 generation. 322 ROA issuers should also be aware that if they generate a ROA for one 323 origin AS, then if the address prefix holder authorises multiple AS's 324 to originate routes for a given address prefix, then is necessary for 325 a ROA be generated for every such authorized AS. 327 7. IANA Considerations 329 [There are no IANA Considerations.] 331 8. Acknowledgements 333 The authors would like to acknowledge the helpful contributions of 334 John Scudder and Stephen Kent in preparing this document, and also 335 the contributions of many members of the SIDR Working Group in 336 response to presentations of this material in SIDR WG sessions. The 337 authors also acknowledge prior work undertaken by Tony Bates, Randy 338 Bush, Tony Li, and Yakov Rekhter as the validation outcomes described 339 here reflect the authentication outcomes and semantics of origin AS 340 verification described in [exI-D.bates]. A number of validation 341 concepts relating to a route's "validity state" presented in 342 [I-D.ietf-sidr-pfx-validate], edited by Pradosh Mohapatra et al, have 343 be used in this document. 345 9. References 347 9.1. Normative References 349 [I-D.ietf-sidr-arch] 350 Lepinski, M. and S. Kent, "An Infrastructure to Support 351 Secure Internet Routing", draft-ietf-sidr-arch (work in 352 progress), October 2009. 354 [I-D.ietf-sidr-roa-format] 355 Lepinski, M., Kent, S., and D. Kong, "An Infrastructure to 356 Support Secure Internet Routing", 357 draft-ietf-sidr-roa-format (work in progress), 358 October 2009. 360 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 361 Addresses and AS Identifiers", RFC 3779, June 2004. 363 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 364 Protocol 4 (BGP-4)", RFC 4271, January 2006. 366 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 367 Housley, R., and W. Polk, "Internet X.509 Public Key 368 Infrastructure Certificate and Certificate Revocation List 369 (CRL) Profile", RFC 5280, May 2008. 371 9.2. Informative References 373 [I-D.ietf-sidr-pfx-validate] 374 Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. 375 Austein, "BGP Prefix Origin Validation", 376 draft-ietf-sidr-pfx-validate-00 (work in progress), 377 July 2010. 379 [IANA.AS-Registry] 380 IANA, "IANA Autonomous System Number Registry", 381 March 2010. 383 [exI-D.bates] 384 Bates, T., Bush, R., Li, T., and Y. Rekhter, "DNS-based 385 NLRI origin AS verification in BGP", 386 draft-bates-bgp4-nlri-orig-verif-00.txt (work in 387 progress), January 1998. 389 Authors' Addresses 391 Geoff Huston 392 Asia Pacific Network Information Centre 394 Email: gih@apnic.net 396 George Michaelson 397 Asia Pacific Network Information Centre 399 Email: ggm@apnic.net