Re: [TLS] Lost last DTLS Flight
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [TLS] Lost last DTLS Flight
On Oct 27, 2008, at 6:40 PM, Eric Rescorla wrote:
At Mon, 27 Oct 2008 18:00:34 +0100,
Michael Tüxen wrote:
On Oct 27, 2008, at 4:24 PM, Eric Rescorla wrote:
At Mon, 27 Oct 2008 12:07:59 +0100,
Robin Seggelmann wrote:
We're still working on DTLS for SCTP and stumbled over a problem
with
the last flights specified in RFC 4347. The server receives
flight 5
(Certificate, ..., ChangeCipherSpec, Finished) from the client,
changes its state to FINISHED and sends its ChangeCipherSpec and
Finished (Flight 6). What happens if this flight gets lost? The
server already is in the FINISHED state and as there also is no
acknowledgement, so it won't be retransmitted. Hence, the client
keeps waiting for the flight to arrive and the connection is most
likely to fail.
You're right, this is a bug in the state machine. Nice catch.
ISTM that the way this actually needs to work is that the server
needs
to stay in WAITING until 2MSL has expired, in case it receives a
retransmitted Flight 5, in which case it retransmits Flight 6.
This means that the server will be in WAITING for approximately 30
seconds.
What happens when the receives application data during that time?
What happens if he want to transmit application during that time?
for example after the renegotiation?
There's no reason why it can't transmit or receive during this period,
though I agree we need to be sure the text says this.
Currently the text does not say anything about receiving application
data during the handshake. The OpenSSL library just discards them, as
far as I know...
So could we please add text about this?
The other point is:
Assume flight 6 is lost and the server sends data. What will the
client do with it, because it will use the new encryption data?
Normally it would use it only after it has received the messages from
flight 6 (ChangeCipherSpec and Finished. Should they be stored?
This might be a cornercase for UDP but it is *very* important for SCTP/
DTLS
since the application data is not in sequence with the TLS messages
and therefore application data might be received before the flight 6
messages although the flight 6 messages are sent before the
application data.
And DTLS/SCTP can not discard messages.
-Ekr
_______________________________________________
TLS mailing list
TLS at ietf.org
https://www.ietf.org/mailman/listinfo/tls
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.