BMPS: Transport Layer Security for BGP Monitoring Protocol
Internet-Draft draft-hmntsharma-bmp-over-tls-01
Hemant Sharma
Vodafone
hemant.sharma@vodafone.com
Steven Clarke
Vodafone
steven.clarke@vodafone.com
05 August 2024
Ops & Management
GROW
BMP Security
BMP over TLS
BMPS
The BGP Monitoring Protocol (BMP) defines the communication between a BMP station and multiple routers, referred to as network elements (NEs). This document describes BMP over TLS, which uses Transport Layer Security (TLS) to ensure secure transport between the NE and the BMP monitoring station. It updates [RFC7854] regarding BMP session establishment and termination.
Requirements Language
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.
Introduction
The BGP Monitoring Protocol (BMP), as defined in [RFC7854], facilitates communication between NEs and a BMP station. Keeping this communication secure is important because it includes sharing sensitive information about BGP peers and monitored prefixes.
The Section 11 of [RFC7854] , "Security Considerations" acknowledges that while routes in public networks are generally not confidential, BGP is also utilized in private L3VPN [RFC4364] networks where confidentiality is crucial. It highlights that without mutual authentication through secure transport mechanisms, the channel is vulnerable to various attacks and recommends using IPSec [RFC4303] in tunnel mode with pre-shared keys for enhanced security in such scenarios.
Additionally, a recent draft proposal, [draft-hmntsharma-bmp-tcp-ao], titled "TCP-AO Protection for BGP Monitoring Protocol (BMP)" suggests an alternative approach using the TCP Authentication Option [RFC5925]. This method authenticates the endpoints of the TCP session, thereby safeguarding its integrity. TCP-AO is beneficial in situations where full IPSec security may not be feasible, although unlike IPSec, it does not encrypt the session traffic.
Alternatively, Transport Layer Security (TLS), offers endpoint authentication, data encryption, and data integrity defined in The Transport Layer Security (TLS) Protocol Version 1.2 [RFC5246] and The Transport Layer Security (TLS) Protocol Version 1.3 [RFC8446].
This document describes how to utilize TLS to secure BMP sessions between a monitoring station (acting as the server) and a Network Element (acting as the client). Unlike BGP, where either side can act as the server, BMP's role distinction simplifies the implementation of TLS in a client-server model. Henceforth, the term BMP over TLS will be referred to as BMPS.
BMP over TLS (BMPS)
Operational Summary
The operation of BMPS is virtually the same as the original BMP specification defined in [RFC7854], but with an additional layer of security using TLS.
In BMPS, the BMP station functions as the TLS server, while NEs act as TLS clients. Following the completion of the TCP three-way handshake, as defined in Section 3.4 of [RFC793], each NE, functioning as a TLS client, initiates a TLS handshake with the BMP monitoring station, acting as the TLS server. Once the TLS connection is successfully established, NEs can immediately start transmitting BMP messages, as there is no separate BMP initiation or handshake phase.
The following steps summarize the operational flow of BMPS:
1. The NE initiates and completes a TCP handshake.
2. The NE initiates and completes a TLS handshake with the BMP monitoring station.
3. BMP messages are transmitted by the NE according to [RFC7854].
A BMPS session ends when the underlying TCP or TLS session is terminated for any reason.
The Section 3.2 of [RFC7854] states, "No BMP message is ever sent from the monitoring station to the router." To adhere to this standard, the monitoring station MUST listen on separate ports for BMP (non-TLS) and BMPS (TLS) sessions. This approach also offers a simplified "make before break" migration from BMP to BMPS.
Transport Layer Security
In regular TLS connections, the server has a TLS certificate along with a public/private key pair, whereas the client does not.
For BMP over TLS (BMPS), it is REQUIRED to implement mutual TLS (mTLS), wherein both the server (BMP station) and the client (network element) have certificates, and both sides authenticate each other using their respective public/private key pairs.
A self-signed "root" TLS certificate is REQUIRED for mTLS, allowing an organization to act as its own certificate authority. The certificates issued to both the BMP station and NEs should correspond to this root certificate.
The operational flow of BMP over TLS is similar to standard TLS operations:
1. The NE initiates the connection to the BMP station.
2. The station presents its TLS certificate.
3. The NE verifies the station's certificate.
4. The NE presents its TLS certificate.
5. The station verifies the NE's certificate.
6. The TLS connection is established.
7. The NE begins transmitting BMP data to the station over the encrypted TLS channel.
TLS version 1.3, defined in [RFC8446], streamlines the handshake process and supports more robust cipher suites compared to TLS version 1.2 [RFC5246], enhancing both speed and security. However, widespread support for TLS 1.3 remains limited, with many systems still primarily utilizing TLS 1.2.
The BMPS is REQUIRED to support TLS 1.2 or higher to ensure secure communication.
Operational Recommendations for BMPS
The BMP over TLS (BMPS) is RECOMMENDED as an alternative mechanism to safeguard BMP sessions in scenarios where alternative protections like IPSec may not be feasible or deployed.
Security Considerations
The BMPS implementation increases computational demands due to continuous encryption and decryption processes, resulting in high CPU utilization and potential vulnerability to denial-of-service attacks.
The TLS cipher suites that provide only data integrity validation without encryption SHOULD NOT be used by default.
The BMPS implementation SHOULD follow the best practices and recommendations for using TLS, as per the Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) as defined in [RFC7525].
IANA Considerations
This document has no IANA actions.
References
Normative References
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC5246]

The Transport Layer Security (TLS) Protocol Version 1.2
T. Dierks
E. Rescorla
August 2008
RFC 5246
DOI 10.17487/RFC5246
[RFC7525]

Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)
Y. Sheffer
R. Holz
P. Saint-Andre
May 2015
RFC 7525
DOI 10.17487/RFC7525
[RFC7854]

BGP Monitoring Protocol (BMP)
J. Scudder, Ed.
R. Fernando
S. Stuart
June 2016
RFC 7854
DOI 10.17487/RFC7854
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174
[RFC8446]

The Transport Layer Security (TLS) Protocol Version 1.3
E. Rescorla
August 2018
RFC 8446
DOI 10.17487/RFC8446
Informative References
[RFC793]

Transmission Control Protocol
J. Postel
September 1981
RFC 793
DOI 10.17487/RFC0793
[RFC2818]

HTTP Over TLS
E. Rescorla
May 2000
RFC 2818
DOI 10.17487/RFC2818
[RFC4303]

IP Encapsulating Security Payload (ESP)
S. Kent
December 2005
RFC 4303
DOI 10.17487/RFC4303
[RFC4364]

BGP/MPLS IP Virtual Private Networks (VPNs)
E. Rosen
Y. Rekhter
February 2006
RFC 4364
DOI 10.17487/RFC4364
[RFC5925]

The TCP Authentication Option
J. Touch
A. Mankin
R. Bonica
June 2010
RFC 5925
DOI 10.17487/RFC5925
[RFC8253]

PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)
D. Lopez
O. Gonzalez de Dios
Q. Wu
D. Dhody
October 2017
RFC 8253
DOI 10.17487/RFC8253
[I-D.hmntsharma-bmp-tcp-ao]

TCP-AO Protection for BGP Monitoring Protocol (BMP)
Hemant Sharma
Vodafone
Jeffrey Haas
Juniper Networks
11 April 2024
Internet-Draft draft-hmntsharma-bmp-tcp-ao-03
[draft-hmntsharma-bmp-tcp-ao]

TCP-AO Protection for BGP Monitoring Protocol (BMP)
Hemant Sharma
Vodafone
Jeffrey Haas
Juniper Networks
11 April 2024
Internet-Draft draft-hmntsharma-bmp-tcp-ao-03
Acknowledgments
This document is the result of studying all the referenced RFCs and drawing some parallels from PCEPS [RFC8253], leading to the specification for BMP over TLS (BMPS).
We are grateful to the contributors of the RFCs listed in the References section. Their work has been instrumental in shaping and inspiring the development of this specification.