idnits 2.17.1 draft-ietf-sidrops-rpki-rov-timing-00.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 : ---------------------------------------------------------------------------- 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 date (May 26, 2020) is 1393 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-12) exists of draft-ietf-sidrops-8210bis-00 ** Obsolete normative reference: RFC 6486 (Obsoleted by RFC 9286) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). 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 & Arrcus, Inc. 4 Intended status: Informational J. Borkenhagen 5 Expires: November 27, 2020 AT&T 6 T. Bruijnzeels 7 NLnet Labs 8 J. Snijders 9 NTT 10 May 26, 2020 12 Timing Parameters in the RPKI based Route Origin Validation Supply Chain 13 draft-ietf-sidrops-rpki-rov-timing-00 15 Abstract 17 This document explores, and makes recommendations for, timing of 18 Resource Public Key Infrastructure publication of ROV data, their 19 propagation, and their use in Relying Parties and routers. 21 Requirements Language 23 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 24 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 25 "OPTIONAL" in this document are to be interpreted as described in BCP 26 14 [RFC2119] [RFC8174] when, and only when, they appear in all 27 capitals, as shown here. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on November 27, 2020. 46 Copyright Notice 48 Copyright (c) 2020 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (https://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 64 2. Related Work . . . . . . . . . . . . . . . . . . . . . . . . 4 65 3. Certification Authority Publishing . . . . . . . . . . . . . 4 66 4. Relying Party Fetching . . . . . . . . . . . . . . . . . . . 4 67 5. Router Updating . . . . . . . . . . . . . . . . . . . . . . . 5 68 6. Effect on Routing . . . . . . . . . . . . . . . . . . . . . . 5 69 7. Alternative Technologies . . . . . . . . . . . . . . . . . . 5 70 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 71 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 72 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 73 10.1. Normative References . . . . . . . . . . . . . . . . . . 6 74 10.2. Informative References . . . . . . . . . . . . . . . . . 7 75 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 7 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 78 1. Introduction 80 This document explores, and makes recommendations for, timing of 81 Resource Public Key Infrastructure (RPKI) publication of ROV data, 82 their propagation, and their use in Relying Parties (RP), caches and 83 routers. 85 The RPKI supply chain from CAs to reach routers has a structure as 86 follows: 88 Cerification Authorities: The authoritative data of the RPKI are 89 published by a distributed set of Certification Authorities (CAs) 90 at the IANA, RIRs, NIRs, and ISPs (see [RFC6481]). 92 Publication Points: The CAs publish their authoritative data in 93 publicly accessible repositories which have a Publication Point 94 (PP) for each CA. 96 Relying Parties: Relying Parties are a local (to the routers) set of 97 one or more collected and verified caches of RPKI data which are 98 collected from the PPs. 100 Currently RPs can pull from other RPs, thereby creating a somewhat 101 complex topology. 103 Routers: Validating routers fetch data from local RP caches using 104 the RPKI to Router Protocol, [I-D.ietf-sidrops-8210bis]. Routers 105 are clients of the caches. Validating routers MUST have a trust 106 relationship with, and a trusted transport channel to, any RP(s) 107 they use. [I-D.ietf-sidrops-8210bis] specifies mechanisms for the 108 router to assure itself of the authenticity of the cache(s) and to 109 authenticate itself to cache(s). 111 As Resource Public Key Infrastructure based Route Origin Validation 112 (ROV) becomes deployed in the Internet, the quality of the routing 113 control plane, and hence timely and accurate delivery of packets in 114 the data plane, increasingly depend on prompt and accurate 115 propagation of the RPKI data from the originating Certification 116 Authorities (CAs), to Relying Parties (RPs), to Border Gateway 117 Protocol (BGP) speaking routers. 119 Origin Validation based on stale ROAs allows accidental or 120 intentional mis-origination; announcement of a prefix by an AS which 121 does not have the authority to do so. While delays in ROA 122 propagation to ROV in routers can cause loss of good traffic. 123 Therefore minimizing propagation time of data from CAs to routers is 124 critical. 126 Before the data can start on the CA to router supply chain, the 127 resource holder (operator) MUST create or delete the relevant ROA(s) 128 through the CA's operational interface(s). The operator is 129 responsible for anticipating their future needs for ROAs, be aware of 130 the propagation time from creating ROAs to effect on routing, and 131 SHOULD create, delete, or modify ROAs sufficiently in advance of any 132 needs in the routing system. 134 There are questions of how frequently a CA publishes, how often an RP 135 pulls, and how often routers pull from their RP(s). Overall, the 136 router(s) SHOULD react within an hour of ROA publication. 138 For CAs publishing to PPs, a few seconds to a minute seems easily 139 achieved with reasonable software. See Section 3. 141 Relying Party validating caches periodically retrieve data from CA 142 publication points. RPs using rsync to poll publication points every 143 ten minutes would be a burden today, given the load it would put on 144 publication services, cf. one notorious repository which is 145 structured against specification. RPs using RRDP impose no such 146 load. As the infrastructure moves from rsync to RRDP 147 [I-D.sidrops-bruijnzeels-deprecate-rsync], RRDP is designed for very 148 frequent polling as long as Relying Parties use the "If-Modified- 149 Since" header and there is a caching infrastructure. For rsync, an 150 hour would be the longest acceptable window. See Section 4. 152 For the BGP speaking router(s) pulling from the RP(s), five minutes 153 to an hour is a wide window. But, the RPKI-Rtr protocol does have 154 the Serial Notify PDU, the equivalent of DNS Notify, where the cache 155 tells the router that it has new data. See Section 5. 157 We discuss each of these in detail below. 159 2. Related Work 161 It is assumed that the reader understands BGP, [RFC4271], the RPKI 162 [RFC6480], RPKI Manifests [RFC6486], Route Origin Authorizations 163 (ROAs), [RFC6482], the RPKI Repository Delta Protocol (RRDP) 164 [RFC8182], The Resource Public Key Infrastructure (RPKI) to Router 165 Protocol [I-D.ietf-sidrops-8210bis], RPKI-based Prefix Validation, 166 [RFC6811], and Origin Validation Clarifications, [RFC8481]. 168 3. Certification Authority Publishing 170 A principal constraint on publication timing is ensuring the CRL and 171 Manifest ([RFC6486]) are atomically correct with respect to the other 172 repository data. With rsync, the directory must be atomically 173 correct before it becomes current. RRDP ([RFC8182]) is similar, the 174 directory must be atomically correct before it is published. 176 4. Relying Party Fetching 178 rsync puts a load on RPKI publication point servers. Therefore 179 relying party caches have been discouraged from fetching more 180 frequently than on the order of an hour. Times as long as a day were 181 even suggested. We conclude that RPs using rsync SHOULD pull from CA 182 publication points once an hour. 184 With RRDP ([RFC8182]), such constraints are no longer relevant. 185 [RFC8182] makes clear that polling as frequently as once a second is 186 acceptable iff Relying Parties use the "If-Modified-Since" header and 187 there is caching. In such circumstances, the RRDP polling interval 188 MUST be no more than ten minutes. We strongly recommend the 189 migration from rsync to RRDP in 190 [I-D.sidrops-bruijnzeels-deprecate-rsync]. 192 A number of timers are embedded in the X.509 RPKI data which should 193 also be considered. E.g., CRL publication commitments, expiration of 194 EE certificates pointing to Manifests, and the Manifests themselves. 195 Some CA operators commonly indicate new CRL information should be 196 available in the next 24 hours. These 24-hour sliding timers, 197 combined with fetching RPKI data once a day, cause needless 198 brittleness in the face of transient network issues between the CA 199 and RP. 201 5. Router Updating 203 The rate of change of ROA data is estimated to remain small, on the 204 order of a few ROAs a minute, but with bursts. Therefore, the 205 routers may update from the (presumed local) relying party cache(s) 206 quite frequently. Note that [I-D.ietf-sidrops-8210bis] recommends a 207 polling interval of one hour. This timing is conservative because 208 caches can send a Serial Notify PDU to tell routers when there are 209 new data to be fetched. 211 A router SHOULD respond with a Serial Query when it receives a Serial 212 Notify from a cache. If a router can not respond appropriately to a 213 Serial Notify, then it MUST send a periodic Serial Query no less 214 frequently than once an hour. 216 6. Effect on Routing 218 Once a router has received an End of Data PDU from a cache, the 219 effect on Route Origin Validation MUST be a matter of seconds to a 220 minute. The router MAY allow incoming VRPs to affect Origin 221 Validation as they arrive instead of waiting for the End of Data PDU. 222 See [I-D.ietf-sidrops-8210bis] for some cautions regarding the 223 arrival sequence of VRPs. 225 7. Alternative Technologies 227 Should the supply chain include components or technologies other than 228 those in IETF documents, the end effect SHOULD be the same; the 229 router(s) SHOULD react to invalid AS origins within the same overall 230 time constraint, an hour at most from ROA creation at the CA 231 publication point to effect in the router. 233 8. Security Considerations 235 Despite common misconceptions and marketing, Route Origin Validation 236 is not a security protocol. It is intended to catch operational 237 errors, and is easily gamed and attacked. 239 If an attacker can add, delete, or modify RPKI data, either in 240 repositories or in flight, they can affect routing and thereby steer 241 or damage traffic. The RPKI system design does much to deter these 242 attacks. But the 'last mile' from the cache to the router uses 243 transport, as opposed to object, security and is vulnerable. This is 244 discussed in [I-D.ietf-sidrops-8210bis]. 246 Similarly, if an attacker can delay prompt propagation of RPKI data 247 on the supply chain described in this document, they can affect 248 routing, and therefore traffic flow, to their advantage. 250 9. IANA Considerations 252 None 254 10. References 256 10.1. Normative References 258 [I-D.ietf-sidrops-8210bis] 259 Bush, R. and R. Austein, "The Resource Public Key 260 Infrastructure (RPKI) to Router Protocol, Version 2", 261 draft-ietf-sidrops-8210bis-00 (work in progress), March 262 2020. 264 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 265 Requirement Levels", BCP 14, RFC 2119, 266 DOI 10.17487/RFC2119, March 1997, 267 . 269 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 270 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 271 DOI 10.17487/RFC4271, January 2006, 272 . 274 [RFC6481] Huston, G., Loomans, R., and G. Michaelson, "A Profile for 275 Resource Certificate Repository Structure", RFC 6481, 276 DOI 10.17487/RFC6481, February 2012, 277 . 279 [RFC6482] Lepinski, M., Kent, S., and D. Kong, "A Profile for Route 280 Origin Authorizations (ROAs)", RFC 6482, 281 DOI 10.17487/RFC6482, February 2012, 282 . 284 [RFC6486] Austein, R., Huston, G., Kent, S., and M. Lepinski, 285 "Manifests for the Resource Public Key Infrastructure 286 (RPKI)", RFC 6486, DOI 10.17487/RFC6486, February 2012, 287 . 289 [RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. 290 Austein, "BGP Prefix Origin Validation", RFC 6811, 291 DOI 10.17487/RFC6811, January 2013, 292 . 294 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 295 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 296 May 2017, . 298 [RFC8182] Bruijnzeels, T., Muravskiy, O., Weber, B., and R. Austein, 299 "The RPKI Repository Delta Protocol (RRDP)", RFC 8182, 300 DOI 10.17487/RFC8182, July 2017, 301 . 303 [RFC8481] Bush, R., "Clarifications to BGP Origin Validation Based 304 on Resource Public Key Infrastructure (RPKI)", RFC 8481, 305 DOI 10.17487/RFC8481, September 2018, 306 . 308 10.2. Informative References 310 [I-D.sidrops-bruijnzeels-deprecate-rsync] 311 Bruijnzeels, T., Bush, R., and G. Michaelson, "Resource 312 Public Key Infrastructure (RPKI) Repository Requirements", 313 draft-sidrops-bruijnzeels-deprecate-rsync-01 (work in 314 progress), April 2020. 316 [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support 317 Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, 318 February 2012, . 320 Appendix A. Acknowledgements 322 The authors wish to thank Massimiliano Stucchi. 324 Authors' Addresses 326 Randy Bush 327 Internet Initiative Japan & Arrcus, Inc. 328 5147 Crystal Springs 329 Bainbridge Island, Washington 98110 330 United States of America 332 Email: randy@psg.com 334 Jay Borkenhagen 335 AT&T 336 200 Laurel Avenue South 337 Middletown, NJ 07748 338 United States of America 340 Email: jayb@att.com 342 Tim Bruijnzeels 343 NLnet Labs 345 Email: tim@nlnetlabs.nl 346 URI: https://www.nlnetlabs.nl/ 348 Job Snijders 349 NTT Ltd. 350 Theodorus Majofskistraat 100 351 Amsterdam 1065 SZ 352 The Netherlands 354 Email: job@ntt.net