[openssl.org #1711] DTLS: Handshake does not detect missing/incomplete records in flight.

View: New views
1 Messages — Rating Filter:   Alert me  

Parent Message unknown [openssl.org #1711] DTLS: Handshake does not detect missing/incomplete records in flight.

by David Woodhouse via RT :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

This is somewhat related to RT #1709

In the case where one record within the flight is lost, the DTLS state
machine will
continue to move forward without detecting it.

This is observed when the MTU is low and the cert was fragmented into
multiple records.
Let's say one fragment of the client's cert is lost, when the server
receives the subsequent ClientKeyExchange, CertificateVerifym
ChangeCipherSpec and Finish, it will happily compute the checksum, complains
and terminate the connection.

The right approach would be to wait for the peer to retransmit and make sure
all fragments had been reassmbled before computing checksum.

I understand that much of the DTLS code was borrowed from TLS where there is
no out-of-order or missing packets...

To reproduce, simply add a random packet dropper between the socket and
DTLS.

Thanks,
Alex.


Hi,

This is somewhat related to RT #1709

In the case where one record within the flight is lost, the DTLS state machine will
continue to move forward without detecting it.

This is observed when the MTU is low and the cert was fragmented into multiple records.
Let's say one fragment of the client's cert is lost, when the server receives the subsequent ClientKeyExchange, CertificateVerifym ChangeCipherSpec and Finish, it will happily compute the checksum, complains and terminate the connection.

The right approach would be to wait for the peer to retransmit and make sure all fragments had been reassmbled before computing checksum.

I understand that much of the DTLS code was borrowed from TLS where there is no out-of-order or missing packets...

To reproduce, simply add a random packet dropper between the socket and DTLS.

Thanks,
Alex.
LightInTheBox - Buy quality products at wholesale price