Come si può garantire che uno scambio di chiavi iniziale di Diffie-Hellman non venga memorizzato? [duplicare]

2

Potrei aver perso parti del tecnicismo quando si tratta dello stato iniziale dello scambio di chiavi. Tuttavia, se non sbaglio, se lo scambio di chiavi iniziale avviene su un canale non sicuro, come si può essere sicuri che questo primo incontro non sia "intercettato"?

Ho letto qualcuno che dice qui che è come avere una scatola, cifrarla con una chiave, inviare la scatola, costringendo il ricevitore a crittografarlo con una chiave e restituire la scatola. Il primo mittente quindi rimuove la sua chiave e restituisce la scatola. Ma come si può rimuovere la chiave da qualcosa che è stato criptato di nuovo da qualcun altro? Come identificare ciò che è tuo?

    
posta Gjert G 28.11.2017 - 17:18
fonte

1 risposta

2

L'analogia dell'invio della scatola non è abbastanza precisa in nessun algoritmo di chiave pubblica / privata. È solo buono come è qualcosa che potrebbe funzionare nel mondo fisico. Con quello fuori mano, passiamo allo scambio di chiavi Diffie-Hellman.

Diffie Hellman non scambia effettivamente le chiavi, scambia alcune informazioni per generare le chiavi. Tuttavia scambia solo parte di queste informazioni, il resto è tenuto da ciascun utente. Passiamo attraverso, chiameremo i nostri utenti Alice e Bob;):

  1. Alice e Bob accettano di utilizzare un numero primo come modulo p e una base che è una radice modulo primitiva di p che è g. Queste proprietà matematiche devono essere valide per il problema del logaritmo discreto su cui viene costruita la matematica.
  2. Alice e Bob scelgono ciascuno un numero intero che tengono a se stessi, chiamiamoli aeb, quindi ognuno di essi esegue lo stesso calcolo su quel numero intero, prima calcolano g alla potenza del modulo intero p. E lo mandano l'un l'altro.

    ga mod p
    gb mod p

  3. Ora questo è il bit intelligente, né ora è possibile scoprire quale sia l'intero segreto degli altri, ma se prendono quello che hanno dall'altro e lo aumentano al loro intero e calcolano il modulo p di quello, entrambi ottengono lo stesso numero S:

    (ga mod p)b mod p = gab mod p
    (gb mod p)a mod p = gba mod p

4) Il numero condiviso è ora utilizzato per ricavare qualche chiave di crittografia per ulteriori informazioni.

Senza conoscere uno di questi interi segreti, un utente malintenzionato non può generare lo stesso numero e quindi la stessa chiave. L'algoritmo di Schors su un computer quantistico può risolvere il problema del logaritmo discreto per recuperare quei numeri interi segreti dai dati che sono stati scambiati, ma oltre quello o ottenere la macchina di Alice o Bob per inviarli (nel qual caso è possibile farli inviare la chiave derivata , o i messaggi non criptati inviati / ricevuti invece).

Tuttavia, se tali informazioni non provengono effettivamente dall'altra parte ma dall'attore stesso senza altri controlli (questo è il significato dei certificati SSL / TLS), l'utente malintenzionato può decrittografare, crittografare e inoltrare i dati.

    
risposta data 28.11.2017 - 18:22
fonte

Leggi altre domande sui tag