se SSL v3 è disabilitato su www.google.com, perché l'output di openssl suggerisce che venga utilizzato SSL v3?

5

Strumenti di controllo come il collegamento

segnala che SSL v3 è disabilitato su www.google.com (come ti aspetteresti, con i difetti di sicurezza che sono stati scoperti in SSL v3, un'azienda come Google non dimenticherà di disattivarla).

Ma poi, come mai quando mi collego ad esso con openssl e grep l'output per "ssl":

openssl s_client -state -connect www.google.com:443 | grep -i "ssl"

l'output fa riferimento a SSLv3 più volte?

SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=1 /C=US/O=Google Trust Services/CN=Google Internet Authority G3
verify error:num=20:unable to get local issuer certificate
verify return:0
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
SSL handshake has read 2450 bytes and written 447 bytes
New, TLSv1/SSLv3, Cipher is AES128-SHA
SSL-Session:

Vedo il riferimento a "TLSv1 / SSLv3". Ho sentito che "TLS utilizza i certificati SSL" anche se non capisco i dettagli, ma ciò significa che questa connessione utilizza il protocollo TLS ma che utilizza i certificati SSL SSLv3 , ed è per questo che vedo tutti i riferimenti a SSLv3 anche se non stiamo usando il protocollo SSLv3?

(Presumo che si tratti più di una domanda concettuale che di una domanda di programmazione, motivo per cui la sto postando qui invece di Stack Overflow.)

    
posta Bennett 23.05.2018 - 16:55
fonte

1 risposta

8

Questi messaggi provengono da SSL_state_string_long e molti di questi sono stati aggiornati in versione 1.1.0 da "SSLv3 [messaggio]" a " SSLv3 / TLS [messaggio] ", quindi suppongo che OpenSSL utilizzi lo stesso codice per gli handshake SSL 3 e TLS e si sta utilizzando una versione precedente alla 1.1.0 in cui i messaggi non erano ancora stati aggiornati per tener conto di ciò .

Puoi vedere qui e qui per 1.0.2 che TLS utilizza molte funzioni ssl3, scambiando solo quelle che sono incompatibili. Questo è stato spostato in 1.1.0 in modo che tutte le implementazioni siano in methods.c .

    
risposta data 23.05.2018 - 20:54
fonte

Leggi altre domande sui tag