idnits 2.17.1 draft-ietf-sidr-origin-ops-11.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 : ---------------------------------------------------------------------------- == There are 3 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The exact meaning of the all-uppercase expression 'MAY NOT' is not defined in RFC 2119. If it is intended as a requirements expression, it should be rewritten using one of the combinations defined in RFC 2119; otherwise it should not be all-uppercase. == The expression 'MAY NOT', while looking like RFC 2119 requirements text, is not defined in RFC 2119, and should not be used. Consider using 'MUST NOT' instead (if that is what you mean). Found 'MAY NOT' in this paragraph: When using a metric which is also influenced by other local policy, an operator should be careful not to create privilege upgrade vulnerabilities. E.g. if Local Pref is set depending on validity state, be careful that peer community signaling MAY NOT upgrade an Invalid announcement to Valid or better. -- The document date (October 9, 2011) is 4583 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational draft: draft-ietf-sidr-arch (ref. 'I-D.ietf-sidr-arch') == Outdated reference: A later version (-16) exists of draft-ietf-sidr-ghostbusters-14 == Outdated reference: A later version (-08) exists of draft-ietf-sidr-ltamgmt-02 == Outdated reference: A later version (-10) exists of draft-ietf-sidr-pfx-validate-02 == Outdated reference: A later version (-26) exists of draft-ietf-sidr-rpki-rtr-17 ** Downref: Normative reference to an Informational RFC: RFC 5781 Summary: 2 errors (**), 0 flaws (~~), 7 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group R. Bush 3 Internet-Draft Internet Initiative Japan 4 Intended status: BCP October 9, 2011 5 Expires: April 11, 2012 7 RPKI-Based Origin Validation Operation 8 draft-ietf-sidr-origin-ops-11 10 Abstract 12 Deployment of RPKI-based BGP origin validation has many operational 13 considerations. This document attempts to collect and present them. 14 It is expected to evolve as RPKI-based origin validation is deployed 15 and the dynamics are better understood. 17 Requirements Language 19 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 20 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 21 document are to be interpreted as described in RFC 2119 [RFC2119]. 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 April 11, 2012. 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 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Suggested Reading . . . . . . . . . . . . . . . . . . . . . . . 3 59 3. RPKI Distribution and Maintenance . . . . . . . . . . . . . . . 3 60 4. Within a Network . . . . . . . . . . . . . . . . . . . . . . . 5 61 5. Routing Policy . . . . . . . . . . . . . . . . . . . . . . . . 5 62 6. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 64 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 65 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7 66 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 67 10.1. Normative References . . . . . . . . . . . . . . . . . . . 8 68 10.2. Informative References . . . . . . . . . . . . . . . . . . 9 69 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9 71 1. Introduction 73 RPKI-based origin validation relies on widespread deployment of the 74 Resource Public Key Infrastructure (RPKI) [I-D.ietf-sidr-arch]. How 75 the RPKI is distributed and maintained globally is a serious concern 76 from many aspects. 78 The global RPKI is in very initial stages of deployment, there is no 79 single root trust anchor, initial testing is being done by the IANA 80 and the RIRs, and there is a technical testbed. It is thought that 81 origin validation based on the RPKI will be deployed incrementally 82 over the next year to five years. 84 Origin validation needs to be done only by an AS's border routers and 85 is designed so that it can be used to protect announcements which are 86 originated by large providers, upstreams and down-streams, and by 87 small stub/enterprise/edge routers. 89 Origin validation has been designed to be deployed on current routers 90 without significant hardware upgrade. It should be used in border 91 routers by operators from large backbones to small stub/entetprise/ 92 edge networks. 94 RPKI-based origin validation has been designed so that, with prudent 95 local routing policies, there is little risk that what is seen as 96 today's normal Internet routing is threatened by imprudent deployment 97 of the global RPKI, see Section 5. 99 2. Suggested Reading 101 It is assumed that the reader understands BGP, [RFC4271], the RPKI, 102 see [I-D.ietf-sidr-arch], the RPKI Repository Structure, see 103 [I-D.ietf-sidr-repos-struct], ROAs, see [I-D.ietf-sidr-roa-format], 104 the RPKI to Router Protocol, see [I-D.ietf-sidr-rpki-rtr], RPKI-based 105 Prefix Validation, see [I-D.ietf-sidr-pfx-validate], and Ghostbusters 106 Records, see [I-D.ietf-sidr-ghostbusters]. 108 3. RPKI Distribution and Maintenance 110 The RPKI is a distributed database containing certificates, CRLs, 111 manifests, ROAs, and Ghostbusters Records as described in 112 [I-D.ietf-sidr-repos-struct]. Policies and considerations for RPKI 113 object generation and maintenance are discussed elsewhere. 115 A local valid cache containing all RPKI data may be gathered from the 116 global distributed database using the rsync protocol, [RFC5781], and 117 a validation tool such as rcynic [rcynic]. 119 Validated caches may also be created and maintained from other 120 validated caches. Network operators SHOULD take maximum advantage of 121 this feature to minimize load on the global distributed RPKI 122 database. Of course, the recipient SHOULD re-validate the data. 124 As RPKI-based origin validation relies on the availability of RPKI 125 data, operators SHOULD locate caches close to routers that require 126 these data and services. A router can peer with one or more nearby 127 caches. 129 For redundancy, a router SHOULD peer with more than one cache at the 130 same time. Peering with two or more, at least one local and others 131 remote, is recommended. 133 If an operator trusts upstreams to carry their traffic, they MAY also 134 trust the RPKI data those upstreams cache, and SHOULD peer with those 135 caches. Note that this places an obligation on those upstreams to 136 maintain fresh and reliable caches. And, as usual, the recipient 137 SHOULD re-validate the data. 139 A transit provider or a network with peers SHOULD validate origins in 140 announcements made by upstreams, down-streams, and peers. They still 141 SHOULD trust the caches provided by their upstreams. 143 Before issuing a ROA for a super-block, an operator MUST ensure that 144 any sub-allocations from that block which are announced by other ASs, 145 e.g. customers, have correct ROAs in the RPKI. Otherwise, issuing a 146 ROA for the super-block will cause the announcements of sub- 147 allocations with no ROAs to be viewed as Invalid, see 148 [I-D.ietf-sidr-pfx-validate]. 150 Use of RPKI-based origin validation removes any need to originate 151 more specifics to protect against mis-origination of a less specific 152 prefix. Having a ROA for the covering prefix should protect it. 154 To aid translation of ROAs into efficient search algorithms in 155 routers, ROAs SHOULD be as precise as possible, i.e. match prefixes 156 as announced in BGP. E.g. software and operators SHOULD avoid use of 157 excessive max length values in ROAs unless operationally necessary. 159 One advantage of minimal ROA length is that the forged origin attack 160 does not work for sub-prefixes that are not covered by overly long 161 max length. E.g. if, instead of 10.0.0.0/16-24, one issues 162 10.0.0.0/16 and 10.0.42.0/24, a forged origin attack can not succeed 163 against 10.0.66.0/24. They must attack the whole /16, which is more 164 likely to be noticed. 166 Therefore, ROA generation software MUST use the prefix length as the 167 max length if the user does not specify a max length. 169 Operators SHOULD be conservative in use of max length in ROAs. E.g., 170 if a prefix will have only a few sub-prefixes announced, multiple 171 ROAs for the specific announcements SHOULD be used as opposed to one 172 ROA with a long max length. 174 An environment where private address space is announced in eBGP the 175 operator MAY have private RPKI objects which cover these private 176 spaces. This will require a trust anchor created and owned by that 177 environment, see [I-D.ietf-sidr-ltamgmt]. 179 Operators owning prefix P should issue ROAs for all ASs which may 180 announce P. 182 Operators issuing ROAs may have customers which announce their own 183 prefixes and ASs into global eBGP but who do not wish to go though 184 the work to manage the relevant certificates and ROAs. Operators 185 SHOULD offer to provision the RPKI data for these customers just as 186 they provision many other things for them. 188 While a an operator using RPKI data MAY choose any polling frequency 189 they wish for ensuring they have a fresh RPKI cache. However, if 190 they use RPKI data as an input to operational routing decisions, they 191 SHOULD ensure local cache freshness at least every four to six hours. 193 4. Within a Network 195 Origin validation need only be done by edge routers in a network, 196 those which border other networks/ASs. 198 A validating router will use the result of origin validation to 199 influence local policy within its network, see Section 5. In 200 deployment this policy should fit into the AS's existing policy, 201 preferences, etc. This allows a network to incrementally deploy 202 validation-capable border routers. 204 eBGP speakers which face more critical peers or up/down-streams are 205 candidates for the earliest deployment. Validating more critical 206 received announcements should be considered in partial deployment. 208 5. Routing Policy 210 Origin validation based on the RPKI marks a received announcement as 211 having an origin which is Valid, NotFound, or Invalid. See 213 [I-D.ietf-sidr-pfx-validate]. How this is used in routing SHOULD be 214 specified by the operator's local policy. 216 Local policy using relative preference is suggested to manage the 217 uncertainty associated with a system in early deployment, applying 218 local policy to eliminate the threat of unroutability of prefixes due 219 to ill-advised certification policies and/or incorrect certification 220 data. E.g. until the community feels comfortable relying on RPKI 221 data, routing on Invalid origin validity, though at a low preference, 222 MAY occur. 224 As origin validation will be rolled out incrementally, coverage will 225 be incomplete for a long time. Therefore, routing on NotFound 226 validity state SHOULD be done for a long time. As the transition 227 moves forward, the number of BGP announcements with validation state 228 NotFound should decrease. Hence an operator's policy SHOULD NOT be 229 overly strict, preferring Valid announcements, attaching a lower 230 preference to, but still using, NotFound announcements, and dropping 231 or giving very low preference to Invalid announcements. 233 Some may choose to use the large Local-Preference hammer. Others 234 might choose to let AS-Path rule and set their internal metric, which 235 comes after AS-Path in the BGP decision process. 237 When using a metric which is also influenced by other local policy, 238 an operator should be careful not to create privilege upgrade 239 vulnerabilities. E.g. if Local Pref is set depending on validity 240 state, be careful that peer community signaling MAY NOT upgrade an 241 Invalid announcement to Valid or better. 243 Announcements with Valid origins SHOULD be preferred over those with 244 NotFound or Invalid origins, if the latter are accepted at all. 246 Announcements with NotFound origins SHOULD be preferred over those 247 with Invalid origins. 249 Announcements with Invalid origins SHOULD NOT be used, but MAY be 250 used to meet special operational needs. In such circumstances, the 251 announcement SHOULD have a lower preference than that given to Valid 252 or NotFound. 254 6. Notes 256 Like the DNS, the global RPKI presents only a loosely consistent 257 view, depending on timing, updating, fetching, etc. Thus, one cache 258 or router may have different data about a particular prefix than 259 another cache or router. There is no 'fix' for this, it is the 260 nature of distributed data with distributed caches. 262 There is some uncertainty about the origin AS of aggregates and what, 263 if any, ROA can be used. The long range solution to this is the 264 deprecation of AS-SETs, see [I-D.wkumari-deprecate-as-sets]. 266 Operators who manage certificates SHOULD associate RPKI Ghostbusters 267 Records (see [I-D.ietf-sidr-ghostbusters]) with each publication 268 point they control. These are publication points holding the CRL, 269 ROAs, and other signed objects issued by the operator, and made 270 available to other ASs in support of routing on the public Internet. 272 7. Security Considerations 274 As the BGP origin AS of an update is not signed, origin validation is 275 open to malicious spoofing. Therefore, RPKI-based origin validation 276 is designed to deal only with inadvertent mis-advertisement. 278 Origin validation does not address the problem of AS-Path validation. 279 Therefore paths are open to manipulation, either malicious or 280 accidental. 282 As BGP does not ensure that traffic will flow via the paths it 283 advertises, the data plane may not follow the control plane. 285 Be aware of the class of privilege escalation issues discussed in 286 Section 5 above. 288 8. IANA Considerations 290 This document has no IANA Considerations. 292 9. Acknowledgments 294 The author wishes to thank Rob Austein, Steve Bellovin, Steve Kent, 295 Pradosh Mohapatra, Chris Morrow, Sandy Murphy, Keyur Patel, Heather 296 and Jason Schiller, John Scudder, Kotikalapudi Sriram, Maureen 297 Stillman, and Dave Ward. 299 10. References 300 10.1. Normative References 302 [I-D.ietf-sidr-arch] 303 Lepinski, M. and S. Kent, "An Infrastructure to Support 304 Secure Internet Routing", draft-ietf-sidr-arch-13 (work in 305 progress), May 2011. 307 [I-D.ietf-sidr-ghostbusters] 308 Bush, R., "The RPKI Ghostbusters Record", 309 draft-ietf-sidr-ghostbusters-14 (work in progress), 310 September 2011. 312 [I-D.ietf-sidr-ltamgmt] 313 Reynolds, M. and S. Kent, "Local Trust Anchor Management 314 for the Resource Public Key Infrastructure", 315 draft-ietf-sidr-ltamgmt-02 (work in progress), June 2011. 317 [I-D.ietf-sidr-pfx-validate] 318 Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. 319 Austein, "BGP Prefix Origin Validation", 320 draft-ietf-sidr-pfx-validate-02 (work in progress), 321 July 2011. 323 [I-D.ietf-sidr-repos-struct] 324 Huston, G., Loomans, R., and G. Michaelson, "A Profile for 325 Resource Certificate Repository Structure", 326 draft-ietf-sidr-repos-struct-09 (work in progress), 327 July 2011. 329 [I-D.ietf-sidr-roa-format] 330 Lepinski, M., Kent, S., and D. Kong, "A Profile for Route 331 Origin Authorizations (ROAs)", 332 draft-ietf-sidr-roa-format-12 (work in progress), 333 May 2011. 335 [I-D.ietf-sidr-rpki-rtr] 336 Bush, R. and R. Austein, "The RPKI/Router Protocol", 337 draft-ietf-sidr-rpki-rtr-17 (work in progress), 338 October 2011. 340 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 341 Requirement Levels", BCP 14, RFC 2119, March 1997. 343 [RFC5781] Weiler, S., Ward, D., and R. Housley, "The rsync URI 344 Scheme", RFC 5781, February 2010. 346 10.2. Informative References 348 [I-D.wkumari-deprecate-as-sets] 349 Kumari, W., "Deprecation of BGP AS_SET, AS_CONFED_SET.", 350 draft-wkumari-deprecate-as-sets-01 (work in progress), 351 September 2010. 353 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 354 Protocol 4 (BGP-4)", RFC 4271, January 2006. 356 [rcynic] "rcynic read-me", 357 . 359 Author's Address 361 Randy Bush 362 Internet Initiative Japan 363 5147 Crystal Springs 364 Bainbridge Island, Washington 98110 365 US 367 Phone: +1 206 780 0431 x1 368 Email: randy@psg.com