With DTLS/SCTP the SCTP extension SCTP-AUTH is used to protect DATA and 
FORWARD-TSN chunks. The key for this extension is derived from the master 
secret and changed with the next ChangeCipherSpec, whenever a new key has been 
negotiated. The following Finished then already uses the new key. 
Unfortunately, the ChangeCipherSpec and Finished are part of the same flight as 
the ClientKeyExchange, which is necessary for the computation of the new 
secret. Hence, these messages are sent immediately following each other, 
leaving the server very little time to compute the new secret and pass it to 
SCTP before the finished arrives. So the Finished is likely to be discarded by 
SCTP and a retransmission becomes necessary. To prevent this issue, the 
Finished of the client is still sent with the old key.

Best regards
Robin





Attachment: dtls-sctp-finished-bug-1.0.1.patch
Description: Binary data

Reply via email to