• R
    DTLS/SCTP Finished Auth Bug · b9ef52b0
    Robin Seggelmann 提交于
    PR: 2808
    
    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.
    (cherry picked from commit 9fb523adce6fd6015b68da2ca8e4ac4900ac2be2)
    b9ef52b0
d1_clnt.c 22.2 KB