2626author :
2727 -
2828 name : Thomas Wirtgen
29- organization : Unaffiliated
29+ organization : Unaffiliated
3030 email : thomas.wirtgen@gmail.com
3131 -
3232 name : Olivier Bonaventure
@@ -66,8 +66,8 @@ transport-layer integrity protection against spoofing and reset attacks,
6666it does not provide confidentiality, cryptographic peer identity, or
6767scalable key management. This document specifies a method for
6868establishing a secure BGP session by running BGP over a TLS 1.3
69- session. The underlying TCP transport MUST be protected using TCP-AO.
70- An "Implicit TLS" model on TCP port 179 is specified as the preferred
69+ session. The underlying TCP transport MUST be protected using TCP-AO.
70+ An "Implicit TLS" model on TCP port 179 is specified as the preferred
7171mechanism.
7272
7373--- middle
@@ -77,7 +77,7 @@ mechanism.
7777The Border Gateway Protocol (BGP) {{RFC4271}} relies on TCP to
7878establish BGP sessions between routers. A recent draft
7979{{I-D.retana-idr-bgp-quic}} has proposed replacing TCP with the QUIC
80- protocol {{RFC9000}}. QUIC provides several features compared to TCP,
80+ protocol {{RFC9000}}. QUIC provides several advantages over TCP,
8181including security, support for multiple streams, and datagram
8282transport.
8383
@@ -95,16 +95,16 @@ TCP-AO SHOULD be used to protect BGP transport traffic.
9595TLS {{RFC8446}} introduces authenticated peer identities,
9696confidentiality of routing messages, and cryptographic agility aligned
9797with modern compliance requirements. The widespread deployment of TLS
98- creates an interest in using Mutual TLS (mTLS) to secure BGP sessions.
99- TLS complements TCP-AO : TCP-AO authenticates the entire TCP segment,
100- covering both the TCP header and payload, to provide integrity and
101- peer authentication at the transport layer. mTLS additionally encrypts
98+ creates an interest in using Mutual TLS (mTLS) to secure BGP sessions.
99+ TLS complements TCP-AO : TCP-AO authenticates the entire TCP segment,
100+ covering both the TCP header and payload, to provide integrity and
101+ peer authentication at the transport layer. mTLS additionally encrypts
102102and authenticates the application data (the TCP payload), and
103103authenticates both BGP endpoints.
104104
105105This document describes how to establish a secure BGP session using
106106mTLS. The underlying TCP transport MUST be protected using TCP-AO
107- {{RFC5925}} with pre-shared key authentication or deriving TCP-AO
107+ {{RFC5925}} with pre-shared key authentication or deriving TCP-AO
108108keys from the TLS handshake as described in {{I-D.piraux-tcp-ao-tls}}.
109109
110110# Conventions and Definitions
@@ -118,10 +118,10 @@ placed starting from the high-order bits of each byte.
118118
119119A BGP over TLS/TCP-AO session is established in two phases :
120120
121- 1. A TCP connection is established on port 179. The integrity of the
121+ 1. A TCP connection is established on port 179. The integrity of the
122122TCP segments is protected by using TCP-AO.
123123
124- 2. A TLS session is established over THIS TCP connection.
124+ 2. A TLS session is established over this TCP connection.
125125
126126With mandatory TCP-AO as the underlying transport protection, TCP port
127127179 continues to provide authenticated transport establishment. This
@@ -206,15 +206,15 @@ version.
206206
207207# # Connection Establishment Failures
208208
209- An active BGP peer MUST attempt over a TLS-protected TCP-AO
210- connection and never over plaintext TCP. Any failure within the TLS
211- layer is abstracted from the BGP Finite State Machine (FSM), which
212- observes only a generic connection failure event. TLS error alerts
213- are defined in Section 6.2 of {{RFC8446}}. The active BGP peer should
214- continue attempting the TLS establishment. After the configured number
215- of failed attempts, it may proceed based on the local policy decisions
209+ An active BGP peer MUST connect over a TLS-protected TCP-AO
210+ connection and never over plaintext TCP. Any failure within the TLS
211+ layer is abstracted from the BGP Finite State Machine (FSM), which
212+ observes only a generic connection failure event. TLS error alerts
213+ are defined in Section 6.2 of {{RFC8446}}. The active BGP peer should
214+ continue attempting the TLS establishment. After the configured number
215+ of failed attempts, it may proceed based on the local policy decisions
216216described in [Operational Considerations](#operational-considerations),
217- using TCP-AO authentication only.
217+ using TCP-AO authentication only.
218218
219219~~~
220220TCP connected (TCP-AO authenticated)
@@ -227,11 +227,11 @@ TCP connected (TCP-AO authenticated)
227227
228228# ## TLS ClientHello received by a non-TLS peer
229229
230- A non-TLS peer reads the TLS ClientHello (0x16 0x03 0x01 ...)
231- as a BGP message header. As per Section 6.1 of {{RFC4271}}, the
232- 16-octet Marker MUST be all 0xFF; because the record begins with 0x16,
233- the check fails immediately. As per Section 4.5 of {{RFC4271}}, the
234- BGP connection is closed immediately after the NOTIFICATION message
230+ A non-TLS peer reads the TLS ClientHello (0x16 0x03 0x01 ...)
231+ as a BGP message header. As per Section 6.1 of {{RFC4271}}, the
232+ 16-octet Marker MUST be all 0xFF; because the record begins with 0x16,
233+ the check fails immediately. As per Section 4.5 of {{RFC4271}}, the
234+ BGP connection is closed immediately after the NOTIFICATION message
235235is sent.
236236
237237~~~
@@ -412,8 +412,8 @@ payload injection attacks.
412412
413413It is RECOMMENDED that an opportunistic TCP-AO approach be used, as
414414described in {{I-D.piraux-tcp-ao-tls}}. A router attempts to connect
415- using TCP-AO with a default key; once the TLS handshake completes, the
416- routers derive a new TCP-AO key from the TLS key.
415+ using TCP-AO with a default key; once the TLS handshake completes, it
416+ derives a new TCP-AO key from the TLS key.
417417
418418# IANA Considerations
419419
@@ -433,7 +433,7 @@ Reference : This document
433433> **Editor's Note:** Earlier revisions of this draft requested
434434> allocation of a dedicated TCP port (TBD1) for "botls" from the
435435> "Service Name and Transport Protocol Port Number Registry". That
436- > request has been WITHDRAWN in favour of reusing TCP port 179 with the
436+ > request has been WITHDRAWN in favor of reusing TCP port 179 with the
437437> Implicit TLS model described in this document. Accordingly, no new
438438> transport port is requested.
439439
0 commit comments