Skip to content

Commit 7b8ffd4

Browse files
authored
Update draft-wirtgen-bgp-tls.md
Update for IETF123
1 parent c44760f commit 7b8ffd4

File tree

1 file changed

+42
-27
lines changed

1 file changed

+42
-27
lines changed

draft-wirtgen-bgp-tls.md

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ docname: draft-wirtgen-bgp-tls-latest
55
category: exp
66

77
submissiontype: IETF # also: "independent", "editorial", "IAB", or "IRTF"
8-
number:
8+
number: 03
99
date:
1010
consensus: true
1111
v: 3
@@ -22,12 +22,12 @@ venue:
2222
type: "Working Group"
2323
2424
arch: "https://mailarchive.ietf.org/arch/browse/idr/"
25-
github: "obonaventure/draft-bgp-tls"
25+
github: "IPNetworkingLab/draft-bgp-tls"
2626

2727
author:
2828
-
2929
name: Thomas Wirtgen
30-
organization: UCLouvain & WELRI
30+
organization: UCLouvain
3131
3232
-
3333
name: Olivier Bonaventure
@@ -64,9 +64,24 @@ informative:
6464
RFC5082:
6565
RFC8446:
6666
RFC9000:
67-
68-
69-
67+
BGPOST: DOI.10.1145/3696406
68+
SURVEY: http://hdl.handle.net/2078.1/292356
69+
title: Survey on the Configuration of BGP routers
70+
author:
71+
-
72+
ins: T. Wirtgen
73+
name: Thomas Wirtgen
74+
date: 2024
75+
seriesinfo: Technical report, http://hdl.handle.net/2078.1/292356
76+
IPCERT:
77+
title: We've Issued Our First IP Address Certificate
78+
author:
79+
-
80+
ins: A. Gable
81+
name: Aaron Gable
82+
date: 2025
83+
seriesinfo: Blog https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate/
84+
7085
--- abstract
7186

7287
This document specifies the utilization of TCP/TLS to support BGP.
@@ -75,33 +90,36 @@ This document specifies the utilization of TCP/TLS to support BGP.
7590

7691
# Introduction
7792

78-
7993
The Border Gateway Protocol (BGP) {{RFC4271}} relies on the TCP protocol
80-
to establish BGP sessions between routers. A recent draft
81-
{{I-D.draft-retana-idr-bgp-quic}} has proposed to replace TCP with
94+
to establish BGP sessions between routers. There are ongoing discussions
95+
within the IETF {{I-D.draft-retana-idr-bgp-quic}} to replace TCP with
8296
the QUIC protocol {{RFC9000}}. QUIC brings many features compared to
8397
TCP including security, the support of multiple streams or datagrams.
8498

8599
From a security viewpoint, an important benefit of QUIC compared to TCP is
86100
that QUIC by design prevents injection attacks that are possible when
87101
TCP is used by BGP {{RFC4272}}. Several techniques can be used by BGP routers
88102
to counter this attacks {{RFC5082}} {{RFC5925}}. TCP-AO {{RFC5925}}
89-
authenticates the packets exchanged over a BGP session provides similar
90-
features as QUIC. However, it is notoriously difficult to configure the
91-
keys used to protect BGP sessions.
103+
authenticates the packets exchanged over a BGP session and provides similar
104+
features as QUIC. However, it a recent survey {{SURVEY}} indicates that it remains
105+
less used than TCP over MD5 {{RFC2385}}.
92106

93107
The widespread deployment of TLS {{RFC8446}} combined with the possibility of
94108
deriving TCP-AO keys from the TLS handshake {{I-D.draft-piraux-tcp-ao-tls}}
95-
creates an interest in using TLS to secure BGP sessions. This document
96-
describes how BGP can operate over TCP/TLS.
109+
creates an interest in using TLS to secure BGP sessions. While TLS is mainly
110+
used to interact with servers that have a certificate bound to a domain name,
111+
it is also possible to use TLS certificates bound to IP addresses {{IPCERT}}.
112+
Such certificates are very useful to use BGP over TLS/TCP.
97113

114+
This document
115+
describes how BGP can operate over TCP/TLS. Experience in implementing BGP
116+
over TLS/TCP {{BGPOST}} shows that this is less costly than porting a BGP implementation
117+
over QUIC.
98118

99119
# Conventions and Definitions
100120

101121
{::boilerplate bcp14-tagged}
102122

103-
104-
105123
This document uses network byte order (that is, big endian) values.
106124
Fields are placed starting from the high-order bits of each byte.
107125

@@ -123,33 +141,30 @@ Once the TLS handshake is established and finished, the BGP session is
123141
initiated as defined in {{RFC4271}} and the protocol operates in the
124142
same way as a classic BGP over TCP session. The difference is that the
125143
BGP session is now encrypted and authenticated using the TLS layer.
126-
As in {{I-D.draft-retana-idr-bgp-quic}}, the TLS authentication parameters used for this connection
127-
are out of the scope of this draft.
128-
144+
As in {{I-D.draft-retana-idr-bgp-quic}}, the TLS authentication
145+
parameters used for this connection are out of the scope of this draft.
129146

130147
# Security Considerations
131148

132-
This document improves the security of BGP sessions since the information exchanged over the
133-
session is now protected by using TLS.
149+
This document improves the security of BGP sessions since the information
150+
exchanged over the session is now protected by using TLS.
134151

135152
If TLS encounters a payload injection attack, it will generate an alert that immediately
136153
closes the TLS session. The BGP router SHOULD then attempt to reestablish the session.
137154
However, this will cause traffic to be interrupted during the connection re-establishement.
138155

139-
140156
If both BGP peer supports TCP-AO, the TLS stack is protected against payload injection and
141157
this attack can be avoided. When enabled, TCP-AO counters TCP injection
142158
attacks listed in {{RFC5082}}.
143159

144160
Furthermore, if the BGP router supports TCP-AO, we recommend an opportunistic
145161
TCP-AO approach as suggested in {{I-D.draft-piraux-tcp-ao-tls}}. The
146162
router will attempt to connect using TCP-AO with a default key. When the TLS
147-
handshake is finished, the routers will derive a new TCP-AO key using the TLS key.
163+
handshake is finished, the routers will securely derive a new TCP-AO key from the TLS key.
148164

149165
TCP-MD5 {{RFC2385}} MAY be used to protect the TLS session if TCP-AO is not available on the
150166
BGP router.
151167

152-
153168
# IANA Considerations
154169

155170
IANA is requested to assign a TCP port (TBD1) from the "Service Name and Transport
@@ -165,15 +180,15 @@ Protocol Port Number Registry" as follows:
165180
- Reference: this document
166181
- Unauthorized Use Reported: [email protected]
167182

168-
169183
It is suggested to use the same port as the one selected for BGP over QUIC
170184
{{I-D.draft-retana-idr-bgp-quic}}.
171185

172186
# Acknowledgments
173187
{:numbered="false"}
174188

175-
The authors thank
176-
Dimitri Safonov for the TCP-AO implementation in Linux.
189+
The authors thank Dimitri Safonov for the TCP-AO implementation in Linux.
190+
This work has been partially supported by the Walloon Region as part of the
191+
funding of the FRFS-WEL-T strategic axis.
177192

178193
# Change log
179194
{:numbered="false"}

0 commit comments

Comments
 (0)