Domande sul processo di handshaking TLS

5

Sto cercando di capire come funziona TLS. Supponendo che io abbia un client java che utilizza TLSv1 per comunicare al server che supporta TLSv1.2, il client può parlare con il server con successo?

Quando un server supporta TLSv1.2, significa che è in grado di accettare connessioni TLSv1, TLSv1.1 e TLSv1.2 o accetta semplicemente TLSv1.2?

    
posta arjunj 11.11.2015 - 16:35
fonte

2 risposte

8

Generalmente un server non è configurato per supportare solo una versione. Il server può essere configurato per accettare tutte le versioni, anche le cose più basse come SSLv3. Durante la connessione iniziale tra il client e il server, negozieranno e determineranno la versione di protocollo più alta supportata da entrambi.

Detto questo, se un server accetta solo 1.2 e il client conosce solo 1.0, non sarà in grado di negoziare una connessione.

    
risposta data 11.11.2015 - 16:41
fonte
6

Nel protocollo , il client invia la versione massima che supporta, quindi sceglie il server. Le versioni attualmente definite sono 3.0, 3.1, 3.2 e 3.3 (SSL 3.1 è TLS 1.0, SSL 3.2 è TLS 1.1 e SSL 3.3 è TLS 1.2). Questo metodo di negoziazione della versione del protocollo presuppone che il client supporti un'intera gamma continua di versioni di protocollo, vale a dire tutte le versioni dall'inizio fino a quella che indica nella sua ClientHello . Non c'è modo, in SSL / TLS standard per il client, ad esempio, dire che accetta TLS 1.0 e TLS 1.2 ma non TLS 1.1.

Poiché il server indica semplicemente quale versione utilizzerà, il server è libero nelle sue scelte di supporto. Quando un server è "configurato per supportare TLS 1.2", significa che il server supporterà la versione del protocollo, ma non dirà se supporterà anche le versioni precedenti.

Solitamente , i server che "supportano TLS 1.2" sono anche in grado di utilizzare TLS 1.1 e TLS 1.0. La maggior parte di questi usati per supporta SSL 3.0 ma questo supporto sta scomparendo perché SSL 3.0 ha un difetto di protocollo non risolvibile . Un'ulteriore tendenza è quella di guardare a TLS 1.0 con qualche sospetto (principalmente a causa dell'attacco BEAST, anche se non funziona più) e alcuni server stanno iniziando a smettere di supportarlo pure. Alcuni addirittura rifiutano TLS 1.1 perché tollerano solo le suite di crittografia "GCM", che non esistono in TLS prima di TLS 1.2.

    
risposta data 11.11.2015 - 17:27
fonte

Leggi altre domande sui tag