Qual è il ruolo di RSA in ECDHE-RSA? [duplicare]

11

Ho letto alcuni libri di testo e non ho trovato una spiegazione convincente.

Nella suite di crittografia ECDHE-RSA-AES128-GCM-SHA256, qual è il ruolo di RSA nella prima parte (ECDHE-RSA)? Questa parte della suite di crittografia indica l' algoritmo di scambio di chiavi , giusto? Questo è ciò per cui ECDHE è usato: lo scambio di chiavi, quindi perché abbiamo bisogno di RSA?

Entrambi gli algoritmi sono usati per scambiare le chiavi? Sono un po 'confuso su questo.

Ovviamente, non è necessario spiegare ECDHE o RSA separatamente. Voglio solo una spiegazione di come funzionano in questo contesto .

    
posta Johnny Willer 26.05.2015 - 06:38
fonte

4 risposte

7

ECDHE di per sé non ha valore contro un attaccante attivo - non c'è modo di legare la chiave ECDH ricevuta al sito che stai tentando di visitare, quindi un utente malintenzionato potrebbe semplicemente inviare la propria chiave ECDH. Questo perché ECDHE è effimero , il che significa che la chiave ECDH del server non è nel suo certificato. Quindi, il server firma la sua chiave ECDH usando RSA, con la chiave pubblica RSA come la cosa nel certificato del server.

    
risposta data 26.05.2015 - 07:42
fonte
8
 $ openssl ciphers -V ECDHE-RSA-AES128-GCM-SHA256
 ... Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD

Ciò significa che lo scambio di chiavi (Kx) è ECDH, ma la parte di autenticazione (Au, cioè la convalida del certificato) è RSA, quindi si aspetta un certificato con una chiave RSA all'interno.

    
risposta data 26.05.2015 - 06:58
fonte
5

Il nome della suite di cifratura è composto da:

  • Prefisso TLS
  • Algoritmo di scambio di chiavi
  • Algoritmo di autenticazione
  • Algoritmo di crittografia
  • Forza crittografia
  • Modalità di crittografia
  • Funzione MAC o PRF (a seconda della versione di TLS)

Nel tuo caso la curva ellittica diffie-hellman key exchange sarà usata in modalità effimera (che fornisce la segretezza in avanti) e questo scambio sarà autenticato con la firma RSA.

    
risposta data 26.05.2015 - 10:52
fonte
4

RSA viene utilizzato per autenticare il server mentre ECDHE viene utilizzato per generare un segreto condiviso tra client e server.

Concretamente, ciò significa che il server firma con la sua chiave privata RSA i parametri effimeri ECDH (chiave pubblica) che invia al client.

Questo è il modo in cui il client sa che la chiave pubblica ECDH appartiene al server e non a qualche MITM.

Potresti vedere questo come il server che agisce come una CA, una che firma le chiavi pubbliche monouso.

    
risposta data 26.05.2015 - 10:48
fonte

Leggi altre domande sui tag