Perché il client non invia i dati prima della risposta del server nella ripresa della sessione TLS?

3

Mi riferisco alla figura qui .

Poiché il client conosce già la chiave di sessione e solo il server autenticato può decrittografare il ticket di sessione, perché il client non può iniziare a inviare i dati delle applicazioni crittografate immediatamente dopo Client Hello, senza attendere la risposta Finished del server?

    
posta Chandru 24.06.2015 - 19:09
fonte

2 risposte

2

Il client conosce il segreto principale della sessione, ma non sono ancora le chiavi (plurale!) che sono derivate usando i nonces da ClientHello e ServerHello, quindi il cliente deve aspettare (roundtrip e) la prima risposta del server comunque. Vedi link e / o link .

Questo evita anche ULTERIORI cambiamenti alla macchina a stati, che sebbene non noti quando 4507 è stato scritto hanno effettivamente dimostrato di essere una fonte di vulnerabilità cfr. FREAK e altro al link .

    
risposta data 26.06.2015 - 02:00
fonte
4

Con identificatori di sessione

Non è garantito che il server memorizzi l'identificatore di sessione. Potrebbe essere caduto dalla cache, o un altro server potrebbe gestire la richiesta se SSL non è stato terminato con il servizio di bilanciamento del carico.

Il client deve sapere che il server può riprendere la sessione prima di inviare qualsiasi dato, altrimenti sarà necessario ripetere l'intero processo di handshake.

Con ticket di sessione

Anche con Session Tickets non è garantito che il server possa riprendere la sessione. La chiave di sessione potrebbe essere cambiata o la richiesta potrebbe colpire un altro server con una chiave di sessione diversa e configurata in modo errato.

Pertanto, il client deve attendere il messaggio FINISHED prima di procedere.

    
risposta data 25.06.2015 - 11:57
fonte

Leggi altre domande sui tag