Differenza tra due suite di crittografia TLS

1

Voglio sapere la differenza tra queste due suite di crittografia:

  1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. TLS_RSA_WITH_AES_128_GCM_SHA256

Le mie domande sono:

  1. Nel (2) non esiste un algoritmo di scambio di chiavi (come DH, DHE, ecc.), quindi la crittografia a chiave pubblica RSA verrà utilizzata per lo scambio di chiavi insieme alle coppie di chiavi RSA?
  2. Quindi nella (1) Verranno utilizzate solo coppie di chiavi RSA insieme allo scambio di chiavi ECDHE?
  3. Quindi (1) e (2) avrà la diversa chiave pre-master, la generazione della chiave master?

Ho esaminato questi due argomenti e google, ma non ha ancora ottenuto una chiarezza sufficiente.

    
posta Anto Jerome 20.09.2016 - 15:48
fonte

2 risposte

2

Non c'è davvero alcun sostituto per leggendo le specifiche TLS , ma ecco una rapida spiegazione.

Esistono essenzialmente 4 diverse parti di una suite di crittografia TLS 1.2:

  1. Autenticazione: quale crittografia viene utilizzata per verificare l'autenticità del server?
  2. Scambio di chiavi: quale cripta asimmetrica viene utilizzata per scambiare le chiavi?
  3. Cipher - quale crittografia simmetrica viene utilizzata per crittografare i dati?
  4. MAC: quale funzione di hash viene utilizzata per garantire l'integrità del messaggio?

I tuoi due esempi ne condividono tre e ne differiscono in uno.

  • Entrambi utilizzano i certificati RSA per autenticare il server (e possibilmente il client).
  • Entrambi usano AES-128 in modalità Galois / Counter per la crittografia.
  • Entrambi utilizzano HMAC-SHA256 per l'integrità del messaggio

Differiscono nel metodo di scambio delle chiavi. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 usa la curva ellittica effimera Diffie-Hellman per scambiare le chiavi, fornendo in anticipo la segretezza. Poiché i parametri sono effimeri, vengono eliminati dopo l'uso e la chiave scambiata non può essere ripristinata dal flusso di traffico senza di essi. TLS_RSA_WITH_AES_128_GCM_SHA256 invece usa le chiavi RSA nel certificato del server per scambiare le chiavi. Questo è ancora strong crypto (assumendo chiavi abbastanza grandi), ma la chiave di sessione che è stata scambiata può essere recuperata dal flusso di traffico utilizzando la chiave privata del server, che ovviamente non può essere scartata frequentemente.

    
risposta data 20.09.2016 - 16:26
fonte
0

In the (2) there is no key exchange algorithm(like DH,DHE..etc) hence, RSA public key cryptography will be used for the key exchange along with the RSA key pairs?

Sì, è corretto.

Then in the (1) Only RSA key pairs will be used along with ECDHE key exchange?

Come indicato in questa risposta la coppia di chiavi RSA verrà utilizzata per autenticare lo scambio di chiavi ECDHE.

Then (1) and (2) will have the different pre-master key, master key generation ?

Non esiste una singola chiave pre-master o master per ogni suite di crittografia. Ogni suite di crittografia descrive semplicemente gli algoritmi utilizzati per generare una chiave pre-master / chiave principale. Come puoi vedere in questa risposta quando viene ricavato master_key , utilizza client_random e server_random valori. Questi sono 32 byte di (cosa dovrebbe essere) crittograficamente sicuro aleatorio. Entrambi i valori vengono mescolati utilizzando l'algoritmo di hashing della suite di cifratura negoziata che dovrebbe garantire un nuovo master_key per ciascuna connessione.

    
risposta data 20.09.2016 - 16:06
fonte

Leggi altre domande sui tag