Internet Engineering Task Force (IETF) O. Borchert Internet-Draft D. Montgomery Intended status: Standards Track USA NIST Expires: March 29, 2021 D. Kopp DE-IX September 25, 2020 BGPsec Validation State Signaling draft-sidrops-bgpsec-validation-signaling-05 Abstract This document defines a new BGP non-transitive extended community to carry the BGPsec path validation state. BGP speakers that receive this community string can use the embedded BGPsec validation state in conjunction with configured local policies to influence their decision process. The ability to accept and act on BGPsec path validation state from a neighbor allows for a reduction of path validation processing load and/or increased resilience in the event that a router is temporarily unable to perform local path validation. Status of This Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Borchert, et al. Expires March 29, 2021 [Page 1]
Internet Draft BGPsec Validation State Signaling September 25, 2020 Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. Suggested Reading . . . . . . . . . . . . . . . . . . . . . . 3 3. BGPsec Validation State Extended Community . . . . . . . . . . 3 3.1. Error Handling at Peers . . . . . . . . . . . . . . . . . . 5 4. Deployment Considerations . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . . 7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Borchert, et al. Expires March 29, 2021 [Page 2]
Internet Draft BGPsec Validation State Signaling September 25, 2020 1. Introduction This document defines a new BGP non-transitive extended community to carry the BGPsec path validation state. BGP speakers that receive this community string can use the embedded BGPsec validation state in conjunction with configured local policies to influence their decision process. The ability to accept and act on BGPsec path validation state from a neighbor allows for a reduction of path validation processing load and/or increased resilience in the event that a router is temporarily unable to perform local path validation. 1.1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. Suggested Reading It is assumed that the reader is familiar with BGPsec [RFC8205]. 3. BGPsec Validation State Extended Community The BGPsec validation state extended community is a non-transitive extended community [RFC4360] with the following encoding: 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0x43 | TBD | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |Validationstate| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The value of the high-order octet of the extended Type field is 0x43, which indicates it is non-transitive. The value of the low-order octet of the extended Type field as assigned by IANA is TBD. The Reserved field MUST be set to 0 and ignored upon the receipt of this community. The last octet of the extended community is an unsigned integer that gives the BGPsec route's path validation state, see [RFC8205] and [BORCHERT]. Borchert, et al. Expires March 29, 2021 [Page 3]
Internet Draft BGPsec Validation State Signaling September 25, 2020 The validation state field can assume the following values: +-------+---------------------------------+ | Value | Meaning | +-------+---------------------------------+ | 0 | Validation state = "Unverified" | | 1 | Validation state = "Valid" | | 2 | Validation state = "Not Valid" | +-------+---------------------------------+ If the router supports the extension as defined in this document, it SHOULD attach the BGPsec path validation state extended community to BGPsec UPDATE messages sent to BGP peers by mapping the locally computed validation state into the last octet of the extended community. Operational behavior is governed by Section 6 of [RFC4360]. Note, if a BGPsec speaker attaches this community to an UPDATE that was not explicitly validated at this router, the signaled validation state MUST be set to "Unverified". A receiving BGPsec enabled router SHOULD use the received BGPsec path validation state in situations where a locally computed BGPsec path validation result is not currently available. In the absence of the extended community, the receiving BGPsec enabled router MUST NOT make any assumption about the peer's validation state of the UPDATE. A locally computed validation state for an UPDATE takes precedence over the received validation state. Implementations MUST provide a configuration mechanism to allow the use of this community (both sending and receiving) to be disabled on a per peer basis. By default, routers SHOULD enable use of this community on all iBGP sessions. Implementations MUST NOT send more than one instance of the BGPsec validation state extended community. Implementations MUST NOT send the extended community if not in a BGPsec UPDATE. Implementations MUST drop (without processing) the BGPsec path validation state extended community if received over a BGP session where either the usage is not enabled or it is not part of a BGPsec UPDATE. Borchert, et al. Expires March 29, 2021 [Page 4]
Internet Draft BGPsec Validation State Signaling September 25, 2020 3.1. Error Handling at Peers If more than one instance of the extended community is received, or if the value received is greater than the largest specified value above (Section 3), then the implementation MUST disregard all instances of this community and MUST apply a strategy similar to "Attribute discard" [RFC7606] Section 2 by discarding the erroneous community and logging the error for further analysis. 4. Deployment Considerations As specified in [RFC8205] (Section 5) "a BGPsec speaker MAY temporarily defer validation of incoming UPDATE messages. The treatment of such UPDATE messages, whose validation has been deferred, is a matter of local policy". Furthermore, one can envision that the operator of a BGPsec router decides to defer local BGPsec validation when a validation state value is learned via BGP. The router then will use the validation result learned via the community string and apply it to the route. In case the peer sent the validation state "unverified", the receiving router SHOULD perform BGPsec path validation as described in [RFC8205] (Section 5.2). If the received validation state of a route differs from a BGPsec validation state locally computed according to [RFC8205], then the locally computed BGPsec validation state MUST be used and the received validation state MUST be ignored. 5. IANA Considerations IANA shall assign a new value from the "BGP Opaque Extended Community" type registry from the non-transitive range, to be called "BGPsec Path Validation State Extended Community". Borchert, et al. Expires March 29, 2021 [Page 5]
Internet Draft BGPsec Validation State Signaling September 25, 2020 6. Security Considerations Security considerations such as those described in [RFC4272] continue to apply. Because this document introduces an extended community that will generally be used to affect route selection, the analysis in Section 4.5 ("Falsification") of [RFC4593] is relevant. These issues are neither new nor unique to the validation extended community. The security considerations provided in [RFC8205] apply equally to this application of BGPsec path validation. In addition, this document describes a scheme where router A outsources validation to some router B. If this scheme is used, the participating routers should have the appropriate trust relationship -- B should trust A either because they are under the same administrative control or for some other reasons as explained earlier. The security properties of the TCP connection between the two routers should also be considered. See [RFC7454] (Section 5.1) for advice regarding protection of the TCP connection. 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc- editor.org/info/rfc2119>. [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, February 2006, <https://www.rfc-editor.org/info/rfc4360>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc- editor.org/info/rfc8174>. [RFC8205] Lepinski, M., Ed., and K. Sriram, Ed., "BGPsec Protocol Specification", RFC 8205, DOI 10.17487/RFC8205, September 2017, <https://www.rfc-editor.org/info/rfc8205>. Borchert, et al. Expires March 29, 2021 [Page 6]
Internet Draft BGPsec Validation State Signaling September 25, 2020 7.2. Informative References [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <https://www.rfc- editor.org/info/rfc4271>. [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 4272, DOI 10.17487/RFC4272, January 2006, <https://www.rfc-editor.org/info/rfc4272>. [RFC4593] Barbir, A., Murphy, S., and Y. Yang, "Generic Threats to Routing Protocols", RFC 4593, DOI 10.17487/RFC4593, October 2006, <https://www.rfc-editor.org/info/rfc4593>. [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, February 2015, <https://www.rfc-editor.org/info/rfc7454>. [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. Patel, "Revised Error Handling for BGP UPDATE Messages", RFC 7606, DOI 10.17487/RFC7606, August 2015, <https://www.rfc-editor.org/info/rfc7606>. [RFC8097] Mohapatra, P., Patel, K., Scudder, J., Ward, D., and R. Bush, "BGP Prefix Origin Validation State Extended Community", RFC 8097, DOI 10.17487/RFC8097, March 2017, <https://www.rfc-editor.org/info/rfc8097>. [BORCHERT] Borchert, O., Montgomery, D., "BGPsec Validation State Unverified", draft-borchert-sidrops-bgpsec-validation- state-unverified-03, <https://tools.ietf.org/html/draft- borchert-sidrops-bgpsec-state-unverified-03> Borchert, et al. Expires March 29, 2021 [Page 7]
Internet Draft BGPsec Validation State Signaling September 25, 2020 Acknowledgements The authors wish to thank P. Mohapatra, K. Patel, J. Scudder, D. Ward, and R. Bush for producing [RFC8097], which this document is based on. The authors would also like to acknowledge the valuable review, discussions, and suggestions from K. Sriram and N. Hilliard on this document. Authors' Addresses Oliver Borchert National Institute of Standards and Technology (NIST) 100 Bureau Drive Gaithersburg, MD 20899 United States of America Email: oliver.borchert@nist.gov Doug Montgomery National Institute of Standards and Technology (NIST) 100 Bureau Drive Gaithersburg, MD 20899 United States of America Email: dougm@nist.gov Daniel Kopp DE-CIX Management GmbH Lichtstrasse 43i Cologne 50825 Germany Email: daniel.kopp@de-cix.net Borchert, et al. Expires March 29, 2021 [Page 8]