Qual è il metodo migliore per lo scambio di chiavi?

3

Ho un'applicazione che funziona tra server e client. Tutti i messaggi devono essere crittografati e decrittografati. Uso l'algoritmo AES e voglio il metodo per nascondere la chiave.

Ho trovato l'algoritmo Diffie-Hellman, ma il mio problema è che non ho trovato il suo codice sorgente. Se è un altro metodo per lo scambio di chiavi, per favore dimmelo.

    
posta user95421 27.12.2015 - 21:55
fonte

1 risposta

5

Questo è esattamente ciò che si suppone che SSL / TLS faccia. SSL / TLS utilizza la crittografia asimmetrica solo nell'handshake per scambiare la chiave simmetrica che viene utilizzata da quel momento in poi per crittografare la comunicazione. La chiave scambiata è chiamata masterkey e viene utilizzata solo per quella sessione. La durata di una sessione può essere configurata.

Il processo è fondamentalmente questo quando si utilizza HTTPS, ad esempio:

  • Il client stabilisce una connessione (handshake a tre vie - > TCP handshake, dopodiché inizia l'handshake SSL / TLS)
  • Il server invia un certificato (che include la chiave pubblica)
  • Il client invia masterkey crittografato con la chiave pubblica dei server
  • Masterkey è usato per quella sessione

Questa è ovviamente solo una descrizione ampia del protocollo e si applica solo quando il client stesso non ha alcun certificato, come nella maggior parte degli scenari.

    
risposta data 27.12.2015 - 22:35
fonte

Leggi altre domande sui tag