¿Cuál es el mejor método para el intercambio de claves?

3

Tengo una aplicación trabajando entre el servidor y el cliente. Todos los mensajes deben estar encriptados y descifrados. Utilizo el algoritmo AES y quiero un método para ocultar la clave.

Encontré el algoritmo Diffie-Hellman, pero mi problema es que no encontré su código fuente. Si es otro método para el intercambio de claves, por favor dígame.

    
pregunta user95421 27.12.2015 - 21:55
fuente

1 respuesta

5

Esto es exactamente lo que deben hacer SSL / TLS. SSL / TLS utiliza cifrado asimétrico solo en el protocolo de enlace para intercambiar la clave simétrica que se usa a partir de ese momento para cifrar la comunicación. La clave intercambiada se denomina clave maestra y solo se utiliza para esa sesión. Se puede configurar la duración de una sesión.

El proceso es básicamente este cuando usas HTTPS, por ejemplo:

  • El cliente establece la conexión (protocolo de enlace de tres vías - > protocolo de enlace TCP, después de esto comienza el protocolo de enlace SSL / TLS)
  • El servidor envía el certificado (que incluye la clave pública)
  • El cliente envía la clave maestra cifrada con la clave pública del servidor
  • Masterkey se utiliza para esa sesión

Por supuesto, esto es solo una descripción amplia del protocolo y solo se aplica cuando el propio cliente no tiene un certificado, lo cual es el caso en la mayoría de los escenarios.

    
respondido por el davidb 27.12.2015 - 22:35
fuente

Lea otras preguntas en las etiquetas