In una comunicazione del server Web del browser, che decide quale protocollo di crittografia utilizzare [duplicato]

6

Il mio browser IE ha SSLv3.0, TLS 1.0,1.1 e 1.2 abilitati nelle impostazioni avanzate.

E (sono stato informato dal mio amministratore del server) il mio server web può crittografare i dati in SSLv3.0 e TLS 1.0

Ora quale sistema (server o browser) decide quale protocollo utilizzare. So che TLS 1.0 è usato. Ma ora devo decidere quale sistema prende la decisione.

    
posta nJoshi 13.11.2014 - 21:15
fonte

2 risposte

11

Il server sceglie quale suite di crittografia utilizzare per stabilire il canale sicuro.

Il client (browser) pone i protocolli e gli algoritmi di crittografia che accetterà. Il server sceglie quello che ritiene più sicuro (basato sul proprio elenco di protocolli accettabili) e che viene utilizzato per il canale sicuro. Se il server non vede alcuna suite di crittografia che ritiene adatta, la connessione viene rifiutata.

Vedi Come funziona SSL / TLS per ulteriori informazioni.

    
risposta data 13.11.2014 - 21:19
fonte
13

Per completare la risposta di @raz, devi essere a conoscenza degli Protocol Downgrade Attacks . I browser come IE inviano la loro versione massima supportata e quindi il server sceglie (nel tuo caso, IE dice "So fino a TLS 1.2" e il server risponde con "faremo TLS 1.0"). Tuttavia, i browser sanno che esistono server bacati là fuori, che avranno semplicemente un ictus epilettico quando il client dice "So fino a TLS 1.2". Se la connessione si interrompe, il browser proverà di nuovo, dicendo "Conosco fino a TLS 1.1". In caso di errore, riprova con "I know up to TLS 1.0". Sempre in caso di errore, il client tenterà nuovamente, rivendicando solo il supporto SSL 3.0.

Il problema con questo comportamento è che un utente malintenzionato può semplicemente interrompere i tentativi di connessione che tentano di fare altro che SSL 3.0. Dal punto di vista del client, questo apparirà come un server bacato che non può tollerare nient'altro che SSL 3.0. Dal punto di vista del server, questo apparirà come un vecchio client che conosce solo SSL 3.0. Il risultato netto è che client e server utilizzeranno SSL 3.0, anche se entrambi supportano TLS 1.0.

Riepilogo: sebbene, nominalmente, in SSL / TLS che il client propone e scelga il server, il comportamento try-again-with-lower-version della maggior parte dei browser implica che, in pratica, il client propone ma l'attaccante sceglie. Che è sfortunato.

Ecco perché dovresti disabilitare il supporto SSL 3.0 nel tuo browser.

    
risposta data 13.11.2014 - 22:34
fonte

Leggi altre domande sui tag