Ho letto Ivan Ristic, Bulletproof SSL e TLS. È stato detto dopo 2 RTT, il client inizia a inviare i dati dell'applicazione come per es. Richiedi GET.
Ma ho visto durante l'analisi dei pacchetti tramite wireshark che in alcuni siti i client iniziano a inviare l'applicazione insieme al messaggio ClientFinished cioè dopo 1 RTT, mentre in alcuni casi non lo fa e inizia a inviare i dati dell'applicazione dopo 2 RTT cioè dopo aver ricevuto ServerFinished Messaggio.
Penso che non sia necessario attendere fino a ServerFinished per l'invio dei dati dell'applicazione poiché il client ha già la chiave, quindi può iniziare a inviare i dati dell'applicazione.
In quali casi il client invia i dati dell'applicazione prima del messaggio ServerFinished e in quali casi dopo il messaggio ServerFinished?
Se 1 RTT era già presente in TLS 1.2, allora perché c'è così fuzz su 1 RTT in TLS 1.3? A proposito, questa non è la mia domanda principale, rispondi se vuoi.
Copiato da RFC
Client Server
ClientHello -------->
ServerHello
Certificate*
ServerKeyExchange*
CertificateRequest*
<-------- ServerHelloDone
Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished -------->
[ChangeCipherSpec]
<-------- Finished
Application Data <-------> Application Data
Figure 1. Message flow for a full handshake