idnits 2.17.1 draft-sidrops-bgpsec-validation-signaling-01.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 an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 219 has weird spacing: '... to the valid...' -- The document date (November 18, 2019) is 1621 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 8097' is mentioned on line 117, but not defined == Missing Reference: 'RFC6811' is mentioned on line 136, but not defined == Unused Reference: 'RFC4271' is defined on line 267, but no explicit reference was found in the text -- No information found for draft-borchert-sidr-bgpsec-validation-state-unverified - is the name correct? -- Possible downref: Normative reference to a draft: ref. 'BORCHERT' Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force (IETF) O. Borchert 3 Internet-Draft D. Montgomery 4 Updates: 8097 (if approved) USA NIST 5 Intended status: Standards Track D. Kopp 6 Expires: May 21, 2020 DE-IX 7 November 18, 2019 9 BGPsec Validation State Signaling 10 draft-sidrops-bgpsec-validation-signaling-01 12 Abstract 14 This document updates RFC 8097 by adding the BGPsec path validation 15 state to the reserved portion of the extended community in RFC 8097. 16 BGP speakers that receive this community string can use the embedded 17 BGPsec validation state and configure local policies that allow it 18 being used to influence their decision process. This is especially 19 helpful because Section 5 of RFC 8205 specifically allows putting 20 BGPsec path validation temporarily on hold. This allows reducing the 21 load of validation particularly from IBGP learned routes or EBGP 22 learned routes when warranted. 24 Status of This Memo 26 This Internet-Draft is submitted to IETF in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF), its areas, and its working groups. Note that 31 other groups may also distribute working documents as 32 Internet-Drafts. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 The list of current Internet-Drafts can be accessed at 40 http://www.ietf.org/1id-abstracts.html 42 The list of Internet-Draft Shadow Directories can be accessed at 43 http://www.ietf.org/shadow.html 45 Copyright Notice 47 Copyright (c) 2019 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 63 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 64 2. Suggested Reading . . . . . . . . . . . . . . . . . . . . . . 3 65 3. Validation State Extended Community . . . . . . . . . . . . . 3 66 3.1. Error Handling at Peers . . . . . . . . . . . . . . . . . . 4 67 3.2. Backwards Compatibility to RFC8097 . . . . . . . . . . . . 4 68 4. Deployment Considerations . . . . . . . . . . . . . . . . . . 5 69 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 70 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 71 6.1. Normative References . . . . . . . . . . . . . . . . . . . 6 72 8.2. Informative References . . . . . . . . . . . . . . . . . . 7 73 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 8 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 76 1. Introduction 78 This document updates the BGP non-transitive extended community as 79 specified in RFC 8097 to also carry BGPsec path validation state 80 information. BGP speakers that receive this community string can be 81 used used to configure local policies that use the signaled BGPsec 82 path validation state to influence their decision process. When used 83 in IBGP sessions, this new community can result in significant 84 reduction in the computational load imposed by BGPsec path 85 validation. When used in EBGP sessions, the new community can 86 provide utility to receivers that are unable to perform BGPsec 87 validation for themselves or put it temporarily on hold as specified 88 in [RFC8205] (Section 5) as well as provides important diagnostic 89 information about a peer's validation process. 91 1.1. Terminology 93 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 94 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 95 "OPTIONAL" in this document are to be interpreted as described in 96 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 97 capitals, as shown here. 99 2. Suggested Reading 101 It is assumed that the reader understands BGPsec [RFC8205]. 103 3. Validation State Extended Community 105 The validation state extended community is a non-transitive extended 106 community [RFC4360] with the following encoding: 108 0 1 2 3 109 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 110 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 111 | 0x43 | 0x0 | Reserved | 112 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 113 | Reserved |Path |Origin | 114 | |validationstate|validationstate| 115 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 117 As specified in [RFC 8097] (Section 2.), the value of the high-order 118 octet of the extended Type field is 0x43, which indicates it is non- 119 transitive. The value of the low-order octet of the extended Type 120 field as assigned by IANA is 0x00. The Reserved field MUST be set to 121 0 by the sender and ignored upon the receipt of this community. 123 The second to last octet is an unsigned integer that gives the 124 route's BGPsec path validation state as specified in [RFC8205] and 125 [BORCHERT]. It can assume the following values: 127 +-------+---------------------------------+ 128 | Value | Meaning | 129 +-------+---------------------------------+ 130 | 0 | Validation state = "Unverified" | 131 | 1 | Validation state = "Valid" | 132 | 2 | Validation state = "Not valid" | 133 +-------+---------------------------------+ 134 As specified in RFC 8097, The last octet of the extended community 135 is an unsigned integer that gives the route's origin validation state 136 [RFC6811]. It can assume the following values: 138 +-------+--------------------------------+ 139 | Value | Meaning | 140 +-------+--------------------------------+ 141 | 0 | Validation state = "valid" | 142 | 1 | Validation state = "not found" | 143 | 2 | Validation state = "invalid" | 144 +-------+--------------------------------+ 146 If the router is configured to support the extension as defined in 147 this document, it SHOULD attach the path/prefix-origin validation 148 state extended community to UPDATE messages sent to BGP peers by 149 mapping the validation states to the appropriate fields of the 150 extended community as outlined above. This SHOULD be done 151 automatically for IBGP peers and configurable for EBGP peers. 152 Receiving BGP and BGPsec speakers SHOULD in the absence of local 153 BGPsec/RPKI data derive the path validation from the second to last 154 octet and the route origin validation from the last octet of the 155 extended community. 157 Implementations MUST provide a configuration mechanism to allow the 158 use of this community (both sending and receiving) to be disabled on 159 a per peer basis. By default, routers performing route origin 160 validation or path validation SHOULD enable use of this community on 161 all IBGP sessions. 163 By default, routers SHOULD disable the use of this community on all 164 EBGP sessions. Implementations MUST NOT send more than one instance 165 of the origin validation state extended community and MUST drop 166 (without processing) the path/origin validation state extended 167 community if received over an External BGP (EBGP) peering session 168 that has not be explicitly configured to enable processing. 170 3.1. Error Handling at Peers 172 If more than one instance of the extended community is received, or 173 if the value received for either origin validation or path validation 174 is greater than the largest specified value (Section 3.), then the 175 implementation MUST disregard all instances and MUST apply a strategy 176 similar to attribute discard [RFC7606] by discarding the erroneous 177 community and logging the error for further analysis. 179 3.2. Backwards Compatibility to RFC8097 180 RFC 8097 originally specified five (5) octets as reserved. These five 181 octets are to be ignored by implementations that receive the 182 community string as specified in RFC 8097. Therefore, drafts such as 183 this one that update RFC 8097 MUST use zero (0) for values whose 184 meaning can be read the same regardless if created by a legacy router 185 or a newer router that implements the respective draft. 187 As an example, using the value "0" for BGPsec path validation 188 "unverified" accomplishes exactly that. Routers that do not implement 189 BGPsec path validation do not validate and if they only implement 190 RFC 8097 label the path validation state field correctly as 191 "Unverified" and can be correctly read by routers that do implement 192 this draft. 194 Routers that do BGPsec path validation and talk to legacy routers 195 that do not still can use the path validation value because these 196 legacy routers do ignore the path validation field. 198 4. Deployment Considerations 200 As specified in [RFC8205] (Section 5) "a BGPsec speaker MAY 201 temporarily defer validation of incoming UPDATE messages. The 202 treatment of such UPDATE messages, whose validation has been 203 deferred, is a matter of local policy". 205 Furthermore, one can envision that the operator of a BGPsec router 206 decides to defer local BGPsec validation when a validation state 207 value is learned via IBGP or a trusted EBGP peer. The router then 208 will use the validation result learned via the community string and 209 apply it to the route. In case the peer did send the validation 210 state "unverified" for BGPsec, the receiving router SHOULD perform 211 BGPsec path validation as described in [RFC8205] (Section 5.2). 213 5. Security Considerations 215 Security considerations such as those described in [RFC4272] continue 216 to apply. Because this document introduces an extended community 217 that will generally be used to affect route selection, the analysis 218 in Section 4.5 ("Falsification") of [RFC4593] is relevant. These 219 issues are neither new nor unique to the validation extended 220 community. 222 The security considerations provided in [RFC8205] apply equally to 223 this application of BGPsec path validation. In addition, this 224 document describes a scheme where router A outsources validation to 225 some router B. If this scheme is used, the participating routers 226 should have the appropriate trust relationship -- B should trust A 227 either because they are under the same administrative control or for 228 some other reasons as explained earlier. The security properties of 229 the TCP connection between the two routers should also be considered. 230 See [RFC7454] (Section 5.1) for advice regarding protection of the 231 TCP connection. 233 6. References 235 6.1. Normative References 237 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 238 Requirement Levels", BCP 14, RFC 2119, DOI 239 10.17487/RFC2119, March 1997, . 242 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 243 Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, 244 February 2006, . 246 [RFC8097] Mohapatra, P., Patel, K., Scudder, J., Ward, D., and R. 247 Bush, "BGP Prefix Origin Validation State Extended 248 Community", RFC 8097, DOI 10.17487/RFC8097, March 2017, 249 . 251 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in 252 RFC 2119 Key Words", BCP 14, RFC 8174, DOI 253 10.17487/RFC8174, May 2017, . 256 [RFC8205] Lepinski, M., Ed., and K. Sriram, Ed., "BGPsec Protocol 257 Specification", RFC 8205, DOI 10.17487/RFC8205, September 258 2017, . 260 [BORCHERT] Borchert, O., Montgomery, D., "BGPsec Validation State 261 Unverified", draft-borchert-sidr-bgpsec-validation-state- 262 unverified-02, 265 8.2. Informative References 267 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 268 Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 269 10.17487/RFC4271, January 2006, . 272 [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", 273 RFC 4272, DOI 10.17487/RFC4272, January 2006, 274 . 276 [RFC4593] Barbir, A., Murphy, S., and Y. Yang, "Generic Threats to 277 Routing Protocols", RFC 4593, DOI 10.17487/RFC4593, 278 October 2006, . 280 [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations 281 and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, 282 February 2015, . 284 [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. 285 Patel, "Revised Error Handling for BGP UPDATE Messages", 286 RFC 7606, DOI 10.17487/RFC7606, August 2015, 287 . 289 Acknowledgements 291 The authors wish to thank P. Mohapatra, K. Patel, 292 J. Scudder, D. Ward, and R. Bush for producing [RFC8097], 293 which this document is based on. The authors would also 294 like to acknowledge the valuable review and suggestions 295 from K. Sriram on this document. 297 Authors' Addresses 299 Oliver Borchert 300 National Institute of Standards and Technology (NIST) 301 100 Bureau Drive 302 Gaithersburg, MD 20899 303 United States of America 305 Email: oliver.borchert@nist.gov 307 Doug Montgomery 308 National Institute of Standards and Technology (NIST) 309 100 Bureau Drive 310 Gaithersburg, MD 20899 311 United States of America 313 Email: dougm@nist.gov 315 Daniel Kopp 316 DE-CIX Management GmbH 317 Lichtstrasse 43i 318 Cologne 50825 319 Germany 321 Email: daniel.kopp@de-cix.net