idnits 2.17.1 draft-ietf-sidr-roa-validation-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) 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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- 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 (August 4, 2009) is 5378 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 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: February 5, 2010 August 4, 2009 7 Validation of Route Origination in BGP using the Resource Certificate 8 PKI 9 draft-ietf-sidr-roa-validation-02.txt 11 Status of this Memo 13 This Internet-Draft is submitted to IETF in full conformance with the 14 provisions of BCP 78 and BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on February 5, 2010. 34 Copyright Notice 36 Copyright (c) 2009 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents in effect on the date of 41 publication of this document (http://trustee.ietf.org/license-info). 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. 45 Abstract 47 This document defines an application of the Resource Public Key 48 Infrastructure to validate the origination of routes advertised in 49 the Border Gateway Protocol. The proposed application is intended to 50 fit within the requirements for adding security to inter-domain 51 routing, including the ability to support incremental and piecemeal 52 deployment, and does not require any changes to the specification of 53 BGP. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Validation Outcomes of a BGP Route Object . . . . . . . . . . . 3 59 3. Applying Validation Outcomes to BGP Route Selection . . . . . . 4 60 4. Further Considerations . . . . . . . . . . . . . . . . . . . . 5 61 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 62 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 63 7. Changes -01 to -02 . . . . . . . . . . . . . . . . . . . . . . 7 64 8. Normative References . . . . . . . . . . . . . . . . . . . . . 8 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 67 1. Introduction 69 This document defines an application of the Resource Public Key 70 Infrastructure (RPKI) to validate the origination of routes 71 advertised in the Border Gateway Protocol (BGP) [RFC4271]. 73 The RPKI is based on Resource Certificates. Resource Certificates 74 are X.509 certificates that conform to the PKIX profile [RFC5280], 75 and to the extensions for IP addresses and AS identifiers [RFC3779]. 76 A Resource Certificate describes an action by an issuer that binds a 77 list of IP address blocks and Autonomous System (AS) numbers to the 78 Subject of a certificate, identified by the unique association of the 79 Subject's private key with the public key contained in the Resource 80 Certificate. The PKI is structured such that each current Resource 81 Certificate matches a current resource allocation or assignment. 82 This is described in [I-D.ietf-sidr-arch]. 84 Route Origin Authorizations (ROAs) are digitally signed objects that 85 bind an address to an AS number, signed by the address holder. A ROA 86 provides a means of verifying that an IP address block holder has 87 authorized an AS to originate route objects in the inter-domain 88 routing environment for that address block. ROAs are described in 89 [I-D.ietf-sidr-roa-format]. ROAs are intended to fit within the 90 requirements for adding security to inter-domain routing, including 91 the ability to support incremental and piecemeal deployment. 93 This document describes the semantic interpretation of a valid ROA, 94 with particular reference to application in BGP relating to the 95 origination of route objects. The document does not describe any 96 application of a ROA to validation of the AS Path. 98 This proposed application does not require any changes to the 99 specification of BGP protocol elements. The application may be used 100 as part of BGP's local route selection algorithm [RFC4271]. 102 2. Validation Outcomes of a BGP Route Object 104 A BGP "Route Object" is an address prefix and a set of attributes. 105 In terms of validation of the Route Object the prefix value and the 106 origin AS attribute are used in the validation operation. 108 If the route object is an aggregate and the AS Path contains an AS 109 Set, then the origin AS is considered to be the AS described as the 110 AGGREGATOR [RFC4271] of the route object. 112 ROA validation is described in [I-D.ietf-sidr-roa-format], and the 113 outcome of the validation operation is that the ROA is valid in the 114 context of the RPKI, or validation has failed. 116 It is assumed here that ROAs are managed and distributed 117 independently of the operation of BGP itself, and a local BGP speaker 118 has access to a local cache of the complete set of ROAs and the RPKI 119 data set when performing a validation operation. 121 A BGP route object does not refer to a specific ROA that should be 122 used by a Relying Party (RP) to validate the origination information 123 contained in the route object, nor does it refer to the set of 124 certificates that the RP should use to validate the ROA's digital 125 signature. The RP needs to match a route object to one or more 126 candidate valid ROAs in order to determine the appropriate local 127 actions to perform on the route object. 129 To validate a route object the RP would undertake the following 130 steps: 132 1. Select all valid ROAs that include a ROAIPAddress value that 133 either matches, or is a covering aggregate of, the address prefix 134 in the route object. 135 2. If the set of candidate ROAs is empty the validation process 136 stops with an outcome of "unknown". 137 3. If any ROA has an asID value that matches the originating AS in 138 the route object, and either the route object's address prefix 139 precisely matches an address in the ROA, or the route object's 140 address prefix is a more specific prefix of the address in the 141 ROA and the prefix length value is less than or equal to the 142 ROAIPAddress's maxLength value, then the validation process stops 143 with an outcome of "valid". 144 4. Otherwise, the validation outcome is "invalid". 146 3. Applying Validation Outcomes to BGP Route Selection 148 Within the framework of the abstract model of BGP operation, a 149 received prefix announcement from a peer is compared to all 150 announcements for this prefix received from other peers and a route 151 selection procedure is used to select the "best" route object from 152 this candidate set, which is then used locally by installing it in 153 the loc-RIB [RFC4271], and is announced to peers as the local "best" 154 route. 156 It is proposed here that the ROA validation outcome of "unknown", 157 "valid" or "invalid" be used as part of the determination of the 158 local degree of preference as defined in section 9.1.1 of the BGP 159 specification [RFC4271]. 161 The proposed addition to the local degree of preference is "valid" is 162 to be preferred over "unknown" over "invalid". 164 It is a matter of local BGP selection policy in setting whether 165 "invalid" route objects are discarded from further consideration in 166 the route selection process, however the following consideration 167 should be taken into account in such a situation. 169 The consideration here is one of potential circularity of dependence. 170 If the authoritative publication point of the repository of ROAs or 171 any certificates used in relation to an address prefix is stored at a 172 location that lies within the address prefix described in a ROA, then 173 the repository can only be accessed once a route for the prefix has 174 been accepted by the local routing domain. It is also noted that the 175 propagation time of RPKI objects may be different to the propagation 176 time of route objects in BGP, and that route objects may be received 177 before the relying party's local repository cache picks up the 178 associated ROAs and recognises them as valid within the RPKI. 180 For these reasons it is advised that local policy settings should not 181 result in "unknown" validation outcomes being considered as 182 sufficient grounds to reject a route object outright from 183 consideration as a local "best" route. 185 A local policy setting may be considered such that "invalid" 186 validation outcomes would be sufficient grounds to reject the route 187 object. However, due to the considerations of circular dependence 188 and differing propagation times as noted above, a local policy 189 setting may be considered that would involve the use of a local timer 190 to accept the route as feasible for an interim period of time until 191 there is an acceptable level of assurance that all reasonable efforts 192 to obtain a valid ROA for the object have been undertaken. 194 4. Further Considerations 196 This document provides a description of how ROAs could be used by a 197 BGP speaker. 199 It is noted that the proposed procedure requires no changes to the 200 operation of BGP. However, there are a number of considerations 201 about this approach to origination validation that are relevant to 202 the operation of a BGP speaker that are not specified here. 204 These considerations include: 206 o It is not specified when validation of an advertised prefix should 207 be performed by a BGP speaker. It is considered to be a matter of 208 local policy whether it is strictly required to perform validation 209 at a point prior to loading the object into the Adj-RIB-In 210 structure [RFC4271], or once the object has been loaded into Adj- 211 RIB-In, or at a later time that is determined by a local 212 configuration setting. It is also not specified whether 213 origination validation should be performed each time a route 214 object is updated by a peer even when the origin AS has not 215 altered. 217 o The lifetime of a validation outcome is not specified here. This 218 specifically refers to the time period during which the original 219 validation outcome can be still applied, at the expiration of 220 which the routing object should be re-tested for validity. It is 221 a matter of local policy setting as to whether a validation 222 outcome be regarded as valid until the route object is withdrawn 223 or further updated, or whether validation of a route object should 224 occur at more frequent intervals. 226 o It is a matter of local configuration as to whether ROA validation 227 is performed on a per-AS basis rather than a per-BGP speaker, and 228 the appropriate mechanisms to support a de-coupled framework of 229 validation of ROAs and the loading of outcomes into BGP speakers 230 are not considered here. 232 5. Security Considerations 234 This approach to origination validation uses a model of positive 235 security, where information that cannot be validated within the RPKI 236 framework is intended to interpreted by a RP as invalid. 238 However, the considerations of accommodating environments of partial 239 adoption, where only a subset of valid route objects have associated 240 ROAs within the structure of the RPKI imply some modification to the 241 model of positive security. Here it is assumed that once an address 242 prefix is described in a ROA, then this ROA "protects" all address 243 prefixes that are more specific than that described in the ROA. 244 Thus, any more specific address prefix and originating AS combination 245 of a valid ROA, that does not have a matching valid ROA is considered 246 to be "invalid". 248 The match condition of a route object against a single ROA is 249 summarized in the following table: 251 Prefix match AS mismatch AS 252 +---------+-------------+ 253 Covering | unknown | unknown | 254 Aggregate | | | 255 +---------+-------------+ 256 match ROA | valid | invalid | 257 prefix | | | 258 +---------+-------------+ 259 More | invalid | invalid | 260 Specific | | | 261 than ROA +---------+-------------+ 263 In an environment of a collection of ROAs, a route object is 264 considered "valid" if any ROA provides a "valid" outcome, and 265 "invalid" if one or more ROAs provide an "invalid" outcome and no 266 ROAs provide a "valid" outcome. The "unknown" outcome occurs when no 267 ROA produces a "valid" or an "invalid" outcome. 269 6. IANA Considerations 271 [There are no IANA considerations in this document.] 273 7. Changes -01 to -02 275 Following WG review of the means of specification of denial in 276 routing authorizations in the context of the RPKI at IETF 74 and IETF 277 75, it appears that there is no general WG support for the use of an 278 explicit denial object (termed a 'BOA'). The alternative approach, 279 explored in previous iterations of this draft, used a more restricted 280 interpretation of a ROA that yielded only "valid" or "unknown" 281 outcomes (by using "unknown" where "invalid" is used in this revision 282 of the document). To allow for "invalid" outcomes the draft used the 283 BOA to undertake the role of a 'disavow' constraint, where a route 284 object was considered to be "invalid" if it was the subject of a 285 valid BOA and was not considered to be "valid" by any valid ROA. The 286 reasons advanced to support the dropping of the BOA was the increased 287 complexity of RP systems through the use of a second object in route 288 validation, a potentially confusing mismatch in the interpretation 289 scope between the ROA and the BOA, where the ROA's scope was limited 290 to set of prefixes described in the ROA, while the BOA's scope 291 included all possible more specifics of the prefixes listed in the 292 BOA, and the ability to reconstruct the semantic equivalent of a BOA 293 through the use of a ROA that used a restricted-use AS as its asID. 294 Accordingly, this draft has been revised to remove all references to 295 the use of an explicit denial object and uses the implicit semantics 296 of denial in a ROA object. 298 There appears to be no WG interest in consideration of validation in 299 a "linked" model, where a ROA is bound to the route object that it is 300 intended to validate. Accordingly this section of the text has also 301 been dropped from this version. 303 8. Normative References 305 [I-D.ietf-sidr-arch] 306 Lepinski, M. and S. Kent, "An Infrastructure to Support 307 Secure Internet Routing", draft-ietf-sidr-arch (work in 308 progress), July 2009. 310 [I-D.ietf-sidr-roa-format] 311 Lepinski, M., Kent, S., and D. Kong, "An Infrastructure to 312 Support Secure Internet Routing", 313 draft-ietf-sidr-roa-format (work in progress), July 2009. 315 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 316 Addresses and AS Identifiers", RFC 3779, June 2004. 318 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 319 Protocol 4 (BGP-4)", RFC 4271, January 2006. 321 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 322 Housley, R., and W. Polk, "Internet X.509 Public Key 323 Infrastructure Certificate and Certificate Revocation List 324 (CRL) Profile", RFC 5280, May 2008. 326 Authors' Addresses 328 Geoff Huston 329 Asia Pacific Network Information Centre 331 Email: gih@apnic.net 333 George Michaelson 334 Asia Pacific Network Information Centre 336 Email: ggm@apnic.net