Come posso determinare il livello di crittografia di una connessione SSL

25

Se mi sono connesso a un url https , come posso determinare la potenza di cifratura della connessione? La mia comprensione è che dopo l'handshake asimmetrico a chiave pubblica le informazioni vengono crittografate usando una chiave simmetrica con una determinata intensità 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 lo chiedo è che ho un modello per una dichiarazione di non responsabilità che contiene una dichiarazione Questo sito Web utilizza la crittografia XX-bit e mi piacerebbe riempilo con il numero corretto.

    
posta Flash 25.07.2011 - 03:35
fonte

10 risposte

17

La crittografia simmetrica SSL è il risultato di una negoziazione tra client e server. È possibile restringere dal lato server utilizzando i file di configurazione. Ad esempio, configurazione SSL di apache include un

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 utilizzate per fare più cose come l'autenticazione del client o richiedono crittografie per directory.

Puoi anche manipolare la negoziazione dal lato client. Come per un esempio, fai riferimento a questo link che parla un po 'di tuning delle impostazioni SSL di Firefox. Presumo che anche altri browser abbiano modi per farlo.

Sembra che questa pagina dice quello:

The server decides upon the list of cryptography and compression algorithms sent by the client whether to continue or cancel the session. There must be at least one match in both lists, otherwise the session will fail. The cipher combination which took the highest place in the client's list will be used for future communication.

Sto cercando il protocollo ufficiale.

    
risposta data 25.07.2011 - 09:55
fonte
13

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

    
risposta data 25.07.2011 - 03:48
fonte
9

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

Avvia una singola connessione SSL al sito web tramite il browser, ecc ....

Immettere il comando:

ssldump -i eth0 -p 80

Questo eluciderà l'handshake SSL al server web (scaricando il traffico SSL sull'interfaccia specifica). Il dump mostra la suite di cifratura utilizzata.

Cerca questo: cipherSuite TLS_RSA_WITH_RC4_128_SHA

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

    
risposta data 26.07.2011 - 02:04
fonte
6

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

Dovresti controllare la documentazione del tuo server web per capire come configurare il tuo web server per utilizzare solo quelle cipherrite che soddisfano le tue esigenze.

    
risposta data 25.07.2011 - 05:07
fonte
3

Se utilizzi Chrome e forse Firefox, puoi fare clic su elementi a sinistra del collegamento nella barra degli indirizzi e controllarlo. Ti dirà quale suite di cifratura è stata selezionata (come RC4 o AES) e la dimensione della chiave utilizzata.

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

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

    
risposta data 27.07.2011 - 18:48
fonte
2

Volevo solo aggiungere alle risposte di cui sopra che l'unico modo per ottenere il risultato necessario è che il server non esegua la negoziazione o esegua solo alcune cifrature della stessa lunghezza.

Ad esempio, in apache, è possibile aggiungere

SSLRequire %{SSL_CIPHER_USEKEYSIZE} = 256

per accettare solo 256 dimensioni della chiave.

Ma attenzione, perché 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, devi monitorare gli errori di negoziazione ssl sul server per un po 'di tempo per fare delle stime.

    
risposta data 28.07.2011 - 13:05
fonte
2

Clientside:

Per Firefox c'è un'estensione: link

Anche fare clic con il tasto destro del mouse e selezionare "Visualizza informazioni sulla pagina".

Serverside:

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

    
risposta data 29.07.2011 - 04:09
fonte
0

Su IE-8 dopo aver esplorato un sito https, puoi selezionare Proprietà File > e mostrerà il tipo di crittografia utilizzata. Per Firefow fai clic sull'icona del lucchetto a sinistra dell'URL e seleziona Ulteriori informazioni.

    
risposta data 20.05.2015 - 15:55
fonte
0

Per aggiungere a @ Robert-David-Graham rispondi:

In Chrome quando fai clic sull'icona del lucchetto, Strumenti per gli sviluppatori > Viene visualizzata la scheda Sicurezza. Aggiorna la pagina per ottenere le informazioni sulla sicurezza per le origini della pagina. Quindi usa il tasto sinistro per passare dalla Panoramica all'Origine Principale (o qualsiasi altra origine). Qui vedrai Protocollo di connessione, Scambio chiavi e Cipher Suite.

    
risposta data 12.09.2016 - 18:04
fonte
0

La ciphersuite viene scelta dal client e dal server.

Il client invia una lista di ciphersuites accettabili al server ordinato per preferenza. Il server sceglie quindi uno e informa il client. Si suppone che il server rispetti le preferenze dei client ma potrebbe non farlo (in Apache l'impostazione "SSLHonorCipherOrder" controlla questo).

La maggior parte dei browser fornirà un modo per vedere cosa è in uso ciphersuite, ad esempio in firefox si fa clic sull'icona accanto alla barra degli indirizzi. Quindi fare clic sulla freccia obliqua, 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 (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.

The reason I ask is that I have a template for a security disclaimer that contains a statment This website uses XX-bit encryption and I'd like to fill that with the correct number.

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

    
risposta data 12.09.2016 - 19:03
fonte

Leggi altre domande sui tag