@@ -21,21 +21,20 @@ venue:
2121 type : " Working Group"
22222323 arch : " https://mailarchive.ietf.org/arch/browse/tcpm/"
24- github : " obonaventure/draft-tcp-ao-tls"
25- latest : " https://obonaventure.github.io/draft-tcp-ao-tls/draft-piraux-tcp-ao-tls.html"
24+ github : " IPNetworkingLab/draft-tcp-ao-tls"
2625
2726author :
2827 -
2928 name : Maxime Piraux
30- organization : UCLouvain & WELRI
29+ organization : UCLouvain
31303231 -
3332 name : Olivier Bonaventure
3433 organization : UCLouvain & WELRI
35343635 -
3736 name : Thomas Wirtgen
38- organization : UCLouvain & WELRI
37+ organization : UCLouvain
39384039
4140
@@ -47,15 +46,8 @@ normative:
4746 RFC8126 :
4847
4948informative :
50- CONEXT24 :
51- author :
52- - ins : T. Wirtgen
53- - ins : N. Rybowski
54- - ins : C. Pelsser
55- - ins : O. Bonaventure
56- title : The Multiple Benefits of a Secure Transport for BGP
57- seriesinfo : Proceedings of the 20th International Conference on emerging Networking EXperiments and Technologies (CoNEXT'24)
58- date : December 2024
49+ CONEXT24 : DOI.10.1145/3696406
50+ RFC4253 :
5951
6052--- abstract
6153
@@ -79,10 +71,9 @@ TCP-AO protects the integrity of all the packets exchanged during a TCP
7971connection, including the SYNs. Such a protection is important for some specific
8072services, but many applications would benefit from the integrity protection
8173offered by TCP-AO, notably against RST attacks that can happen later in the
82- connection. Unfortunately, from a deployment
83- viewpoint, for many applications that use long-lived TCP connections,
84- having an existing MKT on the client and the server before establishing a
85- connection is a severe limitation.
74+ connection. Unfortunately, from a deployment viewpoint, for many applications
75+ that use long-lived TCP connections, having an existing MKT on the client
76+ and the server before establishing a connection is a severe limitation.
8677
8778This document proposes a way to derive a MKT from the TLS secure handshake {{RFC8446}}.
8879Before the TLS handshake completes, this document defines default keys which
@@ -92,8 +83,8 @@ subsequent packets past the TLS handshake. This
9283prevents packet injection attacks that could result in the failure of the TLS
9384connection.
9485
95- This mechanism can be used to authenticate the TCP transport of BGP sessions when TLS
96- is used to secure their BGP messages as discussed in {{CONEXT24}}.
86+ This mechanism can be used to authenticate the TCP packets of BGP sessions when TLS
87+ is used as discussed in {{CONEXT24}}.
9788
9889This document is organised as follows. We provide a brief overview of
9990Opportunistic TCP-AO in section {{overview}}. Then section {{format}} discusses the
@@ -116,7 +107,7 @@ connection, i.e. the SYNs and all subsequent packets are authenticated,
116107but using a MKT with a default key specified in this document.
117108Then, during the TLS handshake,
118109both endpoints announce the parameters they will use for their MKT. When the
119- TLS handshake completes, they can use their MKT to protect the TCP packets they
110+ TLS handshake completes, they can use their own MKT to protect the TCP packets they
120111send and use their peer MKT to verify the TCP packets they receive.
121112Thus, the beginning of the connection is not protected against
122113packet modifications and packet injection attacks. The real protection only
@@ -137,13 +128,13 @@ for validating clients packet.
137128The server replies with TLS ServerHello and TLS EncryptedExtensions
138129messages that are sent in packets using the default TCP-AO MKT.
139130To finish the setting up of TCP-AO, the server includes the AO Extension in
140- in the sent EncryptedExtensions to announce the parameters it will use to
131+ the sent EncryptedExtensions to announce the parameters it will use to
141132protect the packets it will send.
142133It then installs the new key in its TCP-AO MKT.
143134Upon reception of these messages, the client can derive the TLS and
144135TCP-AO keys. It installs the TCP-AO keys in its MKT and sends the Finished
145136message protected with the new MKT. All the packets exchanged after the
146- Finished are protected using the MKT derived from the secure TLS handshake.
137+ Finished message are protected using the MKT derived from the secure TLS handshake.
147138
148139~~~~~~~~~~~~~~~~~~~~~~~~~~~
149140Client Server
@@ -291,6 +282,8 @@ Later versions of this document will also specify the interactions between this
291282mode of enabling TCP-AO and other TLS mechanisms, such as using pre-shared keys
292283and 0-RTT data, as well as other TCP extensions, such as TCP Fast Open.
293284
285+ A similar extension could be defined for other protocols that derive a
286+ security key such as SSH {{RFC4253}}.
294287
295288# Security Considerations
296289
@@ -299,7 +292,7 @@ legitimate connectionless resets, e.g. when an endpoint loses the required state
299292to send TCP-AO segments. {{Section 7.7 of RFC5925}} provides recommendations to
300293mitigate this effect.
301294
302- Using TCP-AO with TLS can also inhibits the triggering of the "bad_record_mac"
295+ Using TCP-AO with TLS can also inhibit the triggering of the "bad_record_mac"
303296alert that abruptly closes the TLS session when a decryption error occurs. For
304297instance, injected packets will fail the TCP-AO authentication and be ignored
305298by the receiver instead. This also prevents sessionless resets at the TLS level,
0 commit comments