Quale numero di bit utilizza un browser per generare una chiave?

2

La domanda viene dalla risposta accettata in questo thread: La mia comprensione di come funziona HTTPS (gmail per esempio)

    1. Il server Gmail invia al client un certificato. Il certificato include la chiave pubblica del server Gmail e alcune prove che questa chiave pubblica appartiene effettivamente a gmail.com.

    2. Il tuo browser verifica le prove nel certificato, per confermare che ha la chiave pubblica corretta per gmail.com.

    3. Il tuo browser sceglie una nuova chiave simmetrica K da utilizzare per la sua connessione a Gmail. Crittografa K sotto la chiave pubblica di Gmail.

    4. Gmail decodifica K utilizzando la sua chiave privata. Ora sia il tuo browser che il server Gmail conoscono K, ma nessun altro lo fa.

    5. Ogni volta che il tuo browser vuole inviare qualcosa a Gmail, lo crittografa sotto K; il server Gmail lo decifra al ricevimento. Ogni volta che il server Gmail vuole inviare qualcosa al tuo browser, lo crittografa sotto K. *

Per quanto riguarda questo passaggio, "il tuo browser sceglie una nuova chiave simmetrica K casuale", qual è il numero di bit in questa chiave che il browser genera?

Da un altro thread che ho postato (vedi: Capire il bit 2048 SSL e crittografia a 256 bit ), ho l'impressione che sia una chiave a 256 bit.

Come posso verificarlo?

    
posta JohnJ 30.08.2012 - 18:28
fonte

2 risposte

4

Come per lo standard SSL / TLS , i dettagli sanguinosi sono i seguenti: se la suite di crittografia su cui il client e il server sono d'accordo richiede lo scambio di chiavi basato su RSA, il client genera una stringa di 48 byte (384 bit), iniziando con la versione del protocollo oltre 2 byte, quindi 46 byte casuali (cioè 368 bit casuali) . Questo è il PreMasterSecret (vedi sezione 7.4.7.1). Questa è la stringa crittografata con la chiave pubblica del server.

Quando sia il server che il client hanno il segreto pre-master di 48 byte, usano il PRF (il tipo di funzione di hash descritto nella sezione 5) per calcolare in modo deterministico, dal segreto pre-master, la crittografia e chiavi di integrità utilizzate per proteggere i dati. Se la suite di crittografia richiede chiavi di crittografia a 256 bit, verranno generate quindi le chiavi di crittografia a 256 bit.

Per vedere dal browser Web (supponendo che il client SSL sia un browser Web), vedi questa risposta .

    
risposta data 30.08.2012 - 19:47
fonte
2

Dipenderà da ciò che il server e il browser supportano e consentono. La mia comprensione è che esiste un processo di handshake mediante il quale il server e il browser concordano sull'algoritmo simmetrico e sulla lunghezza della chiave da utilizzare per lo scambio. 128 bit è abbastanza standard, sebbene sia supportato 256 e molti server supportano livelli di bit inferiori per i Paesi che si trovano in elenchi di esclusione di esportazione per algoritmi di crittografia a 128+ bit.

    
risposta data 30.08.2012 - 19:07
fonte

Leggi altre domande sui tag