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]