idnits 2.17.1 draft-ietf-sidr-roa-validation-06.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 251: '... prefix, SHOULD NOT be used in a rou...' RFC 2119 keyword, line 264: '...ion, an AS 0 ROA SHOULD have a maxLeng...' RFC 2119 keyword, line 270: '...ion, an AS 0 ROA SHOULD be the only RO...' RFC 2119 keyword, line 272: '...nt. An AS 0 ROA MAY coexist with ROAs...' RFC 2119 keyword, line 281: '...e routing object SHOULD be re-tested f...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 154 has weird spacing: '...atching non-...' -- 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 (May 8, 2010) is 5073 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 1 error (**), 0 flaws (~~), 2 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: November 9, 2010 May 8, 2010 7 Validation of Route Origination using the Resource Certificate PKI and 8 ROAs 9 draft-ietf-sidr-roa-validation-06.txt 11 Abstract 13 This document defines the semantics of a Route Origin Authorization 14 in terms of the context of an application of the Resource Public Key 15 Infrastructure to validate the origination of routes advertised in 16 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 November 9, 2010. 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 . . . . . . . . . . . . . . . 6 56 5. Route Validation Lifetime . . . . . . . . . . . . . . . . . . . 7 57 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 58 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 59 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 60 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 61 9.1. Normative References . . . . . . . . . . . . . . . . . . . 8 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 attribute [RFC4271], if present. 113 Otherwise the route's origin AS cannot be determined. 115 In terms of validation of a route in the context of a routing 116 environment, the address prefix value and the origin AS are used in 117 the ROA validation operation. 119 It is assumed here that a Relying Party (RP) has access to a local 120 cache of the complete set of valid ROAs when performing validation of 121 a route. (Valid ROAs are defined as ROAs that are determined to be 122 syntactically correct and are signed using a signature that can be 123 verified using the RPKI, as described in [I-D.ietf-sidr-roa-format].) 124 The RP needs to match a route to one or more candidate valid ROAs in 125 order to determine a validation outcome, which, in turn, can be used 126 to determine the appropriate local actions to perform on the route. 128 This approach to route origination validation uses a model of 129 "positive" attestations, with an associated inference that route that 130 cannot be validated within the RPKI framework would conventionally be 131 interpreted by a RP as "invalid". However, the considerations of 132 accommodating environments of partial adoption of the use of ROAs, 133 where only a subset of validly advertised address prefixes have 134 associated published ROAs within the structure of the RPKI, imply 135 some modification to this model of positive attestation. In the 136 context of route validation it is assumed that once an address prefix 137 is described in a ROA, then this ROA specifically encompasses all 138 address prefixes that are more specific than that described in the 139 ROA. Thus, any route for more specific address prefix than that 140 described by any valid ROA that does not itself have a matching valid 141 ROA is considered to be "invalid". However, routes objects for 142 address prefixes that are not fully described by any single ROA, 143 i.e., those route objects whose address prefixes may be an aggregate 144 of address prefixes described in a valid ROA, or have address 145 prefixes where there is no intersection with any ROA, and are not 146 matched by any ROA and are not a more specific of any ROA, cannot be 147 reliably classified as "invalid" in a partial deployment scenario. 148 Such routes have a validation outcome of "unknown". 150 The validation condition of a route with a prefix and an origin AS 151 when using single ROA for validation is summarized in the following 152 table: 154 Prefix matching non-matching 155 AS AS 156 +---------+-------------+ 157 Covering | unknown | unknown | 158 Aggregate | | | 159 +---------+-------------+ 160 match ROA | valid | invalid | 161 prefix | | | 162 +---------+-------------+ 163 More | invalid | invalid | 164 Specific | | | 165 than ROA | | | 166 +---------+-------------+ 168 In an environment of a collection of ROAs, a route is considered to 169 be "valid" if any ROA provides a "valid" outcome. It is considered 170 to be "invalid" if one (or more) ROAs provide an "invalid" outcome 171 and no ROAs provide a "valid" outcome. It is considered to be 172 "unknown" when no ROA produces either a "valid" or an "invalid" 173 outcome. 175 Route validation is defined by the following procedure: 177 1. Select all valid ROAs that include a ROAIPAddress value that 178 either matches, or is a covering aggregate of, the address 179 prefix in the route. This selection forms the set of 180 "candidate ROAs." 182 2. If the set of candidate ROAs is empty, then the validation 183 procedure stops with an outcome of "unknown". 185 3. If the route's origin AS can be determined and any of the set 186 of candidate ROAs has an asID value that matches the origin AS 187 in the route, and the route object's address prefix matches a 188 ROAIPAddress in the ROA (where "match" is defined as where the 189 route object's address precisely matches the ROAIPAddress, or 190 where the ROAIPAddress includes a maxLength element, and the 191 route's address prefix is a more specific prefix of the 192 ROAIPAddress, and the route's address prefix length value is 193 less than or equal to the ROAIPAddress maxLength value) then 194 the validation procedure stops with an outcome of "valid". 196 4. Othewise, the validation procedure stops with an outcome of 197 "invalid". 199 3. Applying Validation Outcomes to Route Selection 201 Within the framework of the abstract model of the operation of inter- 202 domain routing using BGP [RFC4271], a received prefix announcement 203 from a routing peer is compared to all announcements for this prefix 204 received from other routing peers and a route selection procedure is 205 used to select the "best" route from this candidate set. 207 The route validation outcome, described in Section 2, of "unknown", 208 "valid" or "invalid" may be used as part of the determination of the 209 local degree of preference, in which case the local order of 210 preference is as follows: 211 "valid" is to be preferred over 212 "unknown", which itself is to be preferred over 213 "invalid". 215 It is a matter of local routing policy as to the actions to be 216 undertaken by a routing entity in processing routes with "unknown" 217 validation outcomes. Due to considerations of partial use of ROAs in 218 heterogeneous environments, such as in the public Internet, it is 219 advised that local policy settings should not result in "unknown" 220 validation outcomes being considered as sufficient grounds to reject 221 a route outright from further consideration as a local "best" route. 223 It is a matter of local routing policy as to whether "invalid" routes 224 are considered to be ineligible for further consideration in a route 225 selection process. A possible consideration here is one of potential 226 circularity of dependence. If the authoritative publication point of 227 the repository of ROAs, or that of any certificate used in relation 228 to an address prefix, is located at an address that lies within the 229 address prefix described in a ROA, then the repository can only be 230 accessed by the RP once a route for the prefix has been accepted by 231 the RP's local routing domain. It is also noted that the propagation 232 time of RPKI objects may be different to the propagation time of 233 routes, and that routes may be learned by an RP's routing system 234 before the RP's local RPKI repository cache picks up the associated 235 ROAs and recognises them as valid within the RPKI. 237 4. Disavowal of Routing Origination 239 A ROA is a positive attestation that a prefix holder has authorized 240 an AS to originate a route for this prefix into the inter-domain 241 routing system. It is possible for a prefix holder to construct an 242 authorization where no valid AS has been granted any such authority 243 to originate a route for an address prefix. This is achieved by 244 using a ROA where the ROA's subject AS is one that must never be used 245 in any routing context. Specifically, AS 0 is reserved by the IANA 246 such that it may be used to identify non-routed networks 247 [IANA.AS-Registry]. 249 A ROA with a subject of AS 0 is an attestation by the holder of a 250 prefix that the prefix described in the ROA, and any more specific 251 prefix, SHOULD NOT be used in a routing context. 253 The route validation procedure, described in Section 2, will provide 254 a "valid" outcome if any ROA matches the address prefix and origin 255 AS, even if other valid ROAs would provide an "invalid" validation 256 outcome if used in isolation. Consequently, an AS 0 ROA has a lower 257 preference than any other ROA that has a routeable AS as its subject. 258 This allows a prefix holder to use an AS 0 ROA to declare a default 259 condition that any route that is equal to, or more specific than the 260 prefix to be considered to be invalid, while also allowing other 261 concurrently issued ROAs to describe valid origination authorizations 262 for more specific prefixes. 264 By convention, an AS 0 ROA SHOULD have a maxLength value of 32 for 265 IPv4 addresses and a maxlength value of 128 for IPv6 addresses, 266 although in terms of route validation the same outcome would be 267 achieved with any valid maxLength value, or even if the maxLength 268 element were to be omitted from the ROA. 270 Also by convention, an AS 0 ROA SHOULD be the only ROA issued for a 271 given address prefix, although again this is not a strict 272 requirement. An AS 0 ROA MAY coexist with ROAs that have different 273 subject AS values, although in such cases the presence of the AS 0 274 ROA does not alter the route validation outcome in any way. 276 5. Route Validation Lifetime 278 The "lifetime" of a validation outcome refers to the time period 279 during which the original validation outcome can be still applied. 280 The implicit assumption here is that when the validation lifetime 281 expires the routing object SHOULD be re-tested for validity. 283 The validation lifetime for a ROA is controlled by the Valid times 284 specified in the End Entity (EE) Certificate used to sign the ROA, 285 and the valid times of those certificates in the certification path 286 used to validate the EE Certificate. A ROA validation "expires" at 287 the Validity To field of the signing EE certificate, or at such a 288 time when there is no certification path that can validate the ROA. 289 A ROA issuer may elect to prematurely invalidate a ROA by revoking 290 the EE certificate that was used to sign the ROA. 292 6. Security Considerations 294 ROA issuers should be aware of the validation implication in issuing 295 a ROA, in that a ROA implicitly invalidates all route objects that 296 have more specific prefixes with a prefix length greater than 297 maxLength, and all originating AS's other than the AS listed in the 298 collection of ROAs for this prefix. 300 A conservative operational practice would be to ensure the issuing of 301 ROAs for all more specific prefixes with distinct origination AS's 302 prior to the issuing of ROAs for larger encompassing address blocks, 303 in order to avoid inadvertent invalidation of valid routes during ROA 304 generation. 306 ROA issuers should also be aware that if they generate a ROA for one 307 origin AS, then if the address prefix holder authorises multiple AS's 308 to originate routes for a given address prefix, then is necessary for 309 a ROA be generated for every such authorized AS. 311 7. IANA Considerations 313 [There are no IANA Considerations.] 315 8. Acknowledgements 317 The authors would like to acknowledge the helpful contributions of 318 John Scudder and Stephen Kent in preparing this document, and also 319 the contributions of many members of the SIDR Working Group in 320 response to presentations of this material in SIDR WG sessions. The 321 authors also acknowledge prior work undertaken by Tony Bates, Randy 322 Bush, Tony Li, and Yakov Rekhter as the validation outcomes described 323 here reflect the authentication outcomes and semantics of origin AS 324 verification described in [exI-D.bates]. 326 9. References 328 9.1. Normative References 330 [I-D.ietf-sidr-arch] 331 Lepinski, M. and S. Kent, "An Infrastructure to Support 332 Secure Internet Routing", draft-ietf-sidr-arch (work in 333 progress), October 2009. 335 [I-D.ietf-sidr-roa-format] 336 Lepinski, M., Kent, S., and D. Kong, "An Infrastructure to 337 Support Secure Internet Routing", 338 draft-ietf-sidr-roa-format (work in progress), 339 October 2009. 341 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 342 Addresses and AS Identifiers", RFC 3779, June 2004. 344 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 345 Protocol 4 (BGP-4)", RFC 4271, January 2006. 347 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 348 Housley, R., and W. Polk, "Internet X.509 Public Key 349 Infrastructure Certificate and Certificate Revocation List 350 (CRL) Profile", RFC 5280, May 2008. 352 9.2. Informative References 354 [IANA.AS-Registry] 355 IANA, "IANA Autonomous System Number Registry", 356 March 2010. 358 [exI-D.bates] 359 Bates, T., Bush, R., Li, T., and Y. Rekhter, "DNS-based 360 NLRI origin AS verification in BGP", 361 draft-bates-bgp4-nlri-orig-verif-00.txt (work in 362 progress), January 1998. 364 Authors' Addresses 366 Geoff Huston 367 Asia Pacific Network Information Centre 369 Email: gih@apnic.net 371 George Michaelson 372 Asia Pacific Network Information Centre 374 Email: ggm@apnic.net