it-swarm-eu.dev

Come posso determinare il livello di crittografia di una connessione SSL

Se mi sono connesso a un https url, come posso determinare il livello di cifratura della connessione? La mia comprensione è che dopo la stretta di mano asimmetrica a chiave pubblica le informazioni vengono crittografate utilizzando una chiave simmetrica con una determinata forza ma non riesco a trovare quel numero (128 bit ecc.).

Per favore fatemi sapere se sto fraintendendo qualcosa anche con il processo.

Modifica: Il motivo per cui chiedo è che ho un modello per una dichiarazione di non responsabilità sulla sicurezza che contiene una dichiarazione Questo sito Web utilizza la crittografia a XX bit e vorrei riempirlo con il numero corretto.

27
Flash

La crittografia simmetrica SSL è il risultato di una negoziazione tra client e server. È possibile limitarlo dal lato server utilizzando i file di configurazione. Ad esempio, Configurazione SSL Apache include a

SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

Può essere sintonizzato per accettare solo le crittografie più potenti, ad esempio potresti voler richiedere solo:

SSLProtocol all -SSLv3 -SSLv2
SSLCipherSuite HIGH:MEDIUM

Altre variabili possono essere usate per fare più cose come l'autenticazione client o richiedere cifrature per directory.

Puoi anche manipolare la negoziazione dal lato client. Ad esempio, fai riferimento a questo link che parla un po 'della messa a punto delle impostazioni SSL di Firefox. Suppongo che anche altri browser abbiano dei modi per farlo.

Sembra che questa pagina dice che:

Il server decide sull'elenco di crittografia e algoritmi di compressione inviati dal client se continuare o annullare la sessione. Deve esserci almeno una corrispondenza in entrambe le liste, altrimenti la sessione fallirà. La combinazione di cifratura che ha preso il posto più alto nell'elenco del cliente verrà utilizzata per le comunicazioni future.

Sto cercando il protocollo ufficiale.

18
M'vy

SSL Labs hanno uno strumento SSL Server Test sul loro sito che testerà un sito abilitato a SSL e fornirà preziose informazioni sulla sua sicurezza (come la lunghezza della chiave), comprese le vulnerabilità note particolare per la configurazione.

13
lew

Hmm ci sono molti strumenti che puoi usare. Su un sistema Linux:

Avviare una singola connessione SSL al sito Web tramite il browser ecc.

Inserisci il comando:

ssldump -i eth0 -p 80

Ciò chiarirà l'handshake SSL al server web (scaricando il traffico SSL sull'interfaccia specifica). Il dump mostra la suite di crittografia utilizzata.

Cerca questo: cipherSuite TLS_RSA_WITH_RC4_128_SHA

Potrebbe essere necessario sostituire eth0 con il nome dell'interfaccia Ethernet predefinita.

10
user3645

SSL include una funzione nota come "negoziazione di ciphersuite". Il client presenta un elenco di ciphersuites che è disposto a utilizzare e il server seleziona il proprio preferito da tale elenco. Sebbene tu possa testare il tuo sito Web usando la tua copia di un browser, qualcun altro potrebbe utilizzare un browser diverso con una configurazione diversa e il tuo sito Web potrebbe utilizzare una suite di cifratura più debole per quella persona.

Dovresti controllare la documentazione del tuo server web per capire come configurare il tuo server web per usare solo quei cifrari che soddisfano le tue esigenze.

6
yfeldblum

Se stai utilizzando Chrome, e forse Firefox, puoi fare clic sugli elementi a sinistra di https: // xxx nella barra degli URL e controllarli. Ti dirà quale suite di crittografia è stata selezionata (come RC4 o AES) e la dimensione della chiave utilizzata.

Al momento sto usando Safari (nuovo MacBook Air) e non vedo immediatamente come farlo. Fare clic sull'icona del lucchetto in alto a destra mi mostra solo il certificato, ma non la forza della connessione corrente.

L'altro modo di farlo è con uno sniffer di pacchetti - la stessa cosa che SSL dovrebbe proteggere da. I primi pacchetti, in cui negoziano l'algoritmo e la forza della crittografia, non sono crittografati. Puoi vedere da loro quale forza hanno scelto per una connessione.

3

Volevo solo aggiungere alle risposte sopra che l'unico modo per ottenere il risultato di cui hai bisogno è avere il server non fare negoziazioni o fare ma usando solo alcune cifre della stessa lunghezza.

Ad esempio, in Apache, è possibile aggiungere

SSLRequire %{SSL_CIPHER_USEKEYSIZE} = 256

accettare solo 256 dimensioni chiave.

Ma fai attenzione, poiché questo probabilmente porterà i client a non essere in grado di connettersi se non offrono una suite di crittografia consentita dal server. Se segui questo percorso, dovresti monitorare gli errori di negoziazione ssl sul server per qualche tempo per fare delle stime.

2
john

Clientside:

Per Firefox esiste un'estensione: https://addons.mozilla.org/en-US/firefox/addon/cipherfox/

Fare clic con il tasto destro e selezionare "Visualizza informazioni sulla pagina".

Serverside:

vedere Come posso determinare il livello di crittografia di una connessione SSL

2
Tie-fighter

Su IE-8 dopo aver visitato un sito https è possibile selezionare File-> Proprietà e mostrerà il tipo di crittografia utilizzato. Per Firefow fai clic sull'icona del lucchetto a sinistra dell'URL e seleziona Altre informazioni.

0
user76905

Per aggiungere alla risposta @ Robert-David-Graham:

In Chrome quando fai clic sull'icona a forma di lucchetto, viene visualizzata la scheda Strumenti per sviluppatori> Sicurezza. Aggiorna la pagina per ottenere le informazioni di sicurezza per le origini della pagina. Quindi usa il tasto di navigazione sinistro per passare da la panoramica sull'origine principale (o qualsiasi altra origine). Qui vedrai Protocollo di connessione, Scambio chiavi e Suite di crittografia.

Sample LinkedIn home page security info

0
JohnC

La ciphersuite è scelta dal client e dal server.

Il client invia un elenco di ciphersuites accettabili al server ordinato per preferenza. Il server quindi ne sceglie uno e informa il client. Il server dovrebbe rispettare le preferenze dei client ma potrebbe non farlo (in Apache l'impostazione "SSLHonorCipherOrder" lo controlla).

La maggior parte dei browser fornirà un modo per vedere quale ciphersuite è in uso, ad esempio in Firefox fai clic sull'icona accanto alla barra degli indirizzi. Quindi fare clic sulla freccia laterale, quindi fare clic su ulteriori informazioni. Ad esempio da Google ottengo.

TLS_ECDHE_RSA_WITH_AES128_GCM_SHA256

Ci sono varie informazioni in quella stringa (cercala su Google se vuoi una spiegazione completa) ma il bit importante per questa domanda è "AES128-GCM". Questo ti dice che l'algoritmo di crittografia è AES 128 (quindi crittografia a 128 bit) in modalità GCM.

Il motivo per cui lo chiedo è che ho un modello per una dichiarazione di non responsabilità sulla sicurezza che contiene una dichiarazione Questo sito Web utilizza la crittografia a XX bit e vorrei riempirlo con il numero corretto.

Il pericolo con ciò che proponi è che l'algoritmo di crittografia selezionato dipenderà dal client. Ad esempio, l'algoritmo di crittografia meno male supportato dallo stack SSL/TLS in windows XP (usato da IE, tra le altre cose) è 3DES che è considerato avere un livello di sicurezza effettivo di 112 bit.

0
Peter Green