Skip to content

Commit ff34eef

Browse files
authored
Update draft-piraux-tcp-ao-tls.md
Update for IETF123
1 parent dfdd568 commit ff34eef

File tree

1 file changed

+16
-23
lines changed

1 file changed

+16
-23
lines changed

draft-piraux-tcp-ao-tls.md

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,20 @@ venue:
2121
type: "Working Group"
2222
2323
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

2726
author:
2827
-
2928
name: Maxime Piraux
30-
organization: UCLouvain & WELRI
29+
organization: UCLouvain
3130
3231
-
3332
name: Olivier Bonaventure
3433
organization: UCLouvain & WELRI
3534
3635
-
3736
name: Thomas Wirtgen
38-
organization: UCLouvain & WELRI
37+
organization: UCLouvain
3938
4039

4140

@@ -47,15 +46,8 @@ normative:
4746
RFC8126:
4847

4948
informative:
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
7971
connection, including the SYNs. Such a protection is important for some specific
8072
services, but many applications would benefit from the integrity protection
8173
offered 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

8778
This document proposes a way to derive a MKT from the TLS secure handshake {{RFC8446}}.
8879
Before the TLS handshake completes, this document defines default keys which
@@ -92,8 +83,8 @@ subsequent packets past the TLS handshake. This
9283
prevents packet injection attacks that could result in the failure of the TLS
9384
connection.
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

9889
This document is organised as follows. We provide a brief overview of
9990
Opportunistic 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,
116107
but using a MKT with a default key specified in this document.
117108
Then, during the TLS handshake,
118109
both 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
120111
send and use their peer MKT to verify the TCP packets they receive.
121112
Thus, the beginning of the connection is not protected against
122113
packet modifications and packet injection attacks. The real protection only
@@ -137,13 +128,13 @@ for validating clients packet.
137128
The server replies with TLS ServerHello and TLS EncryptedExtensions
138129
messages that are sent in packets using the default TCP-AO MKT.
139130
To 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
141132
protect the packets it will send.
142133
It then installs the new key in its TCP-AO MKT.
143134
Upon reception of these messages, the client can derive the TLS and
144135
TCP-AO keys. It installs the TCP-AO keys in its MKT and sends the Finished
145136
message 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~
149140
Client Server
@@ -291,6 +282,8 @@ Later versions of this document will also specify the interactions between this
291282
mode of enabling TCP-AO and other TLS mechanisms, such as using pre-shared keys
292283
and 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
299292
to send TCP-AO segments. {{Section 7.7 of RFC5925}} provides recommendations to
300293
mitigate 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"
303296
alert that abruptly closes the TLS session when a decryption error occurs. For
304297
instance, injected packets will fail the TCP-AO authentication and be ignored
305298
by the receiver instead. This also prevents sessionless resets at the TLS level,

0 commit comments

Comments
 (0)