Internet DRAFT - draft-sidrops-bgpsec-validation-signaling
draft-sidrops-bgpsec-validation-signaling
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]