Dudas sobre el saludo de tls

2

Estoy estudiando sobre el apretón de manos tls y tengo algunas dudas.

Después de que el cliente valide el certificado digital presentado por el servidor, el siguiente paso es el acuerdo de intercambio de claves utilizando, por ejemplo, RSA para cifrar y descifrar los datos intercambiados durante la sesión tls. En este proceso RSA, el cliente genera un número aleatorio y utiliza la clave pública del servidor para cifrar este número aleatorio generado y enviar este número cifrado al servidor.

Este número aleatorio es el secreto pre-maestro. El servidor utiliza su clave privada para descifrar el secreto pre maestro. Desde este secreto pre-maestro, el cliente y el servidor pueden generar el secreto maestro que contiene la clave simétrica para usar en el cifrado de mensajes. Este secreto maestro previo, ya que se cifró utilizando la clave pública del servidor, solo puede ser descifrado por el servidor con su clave privada. Duda: Por lo tanto, debido a esto, la seguridad en el intercambio de claves depende de la clave privada del servidor, ¿no?

Por lo tanto, si el secreto pre maestro está incrustado con la clave pública del servidor, si un atacante puede obtener la clave privada es posible que el atacante pueda descifrar la información transmitida en el protocolo de enlace y así obtener acceso a la clave maestra para descifrar los datos transmitidos durante una sesión, ya sean datos de una sesión anterior o nueva. Duda: Para solucionar este problema, ¿existe el concepto de perfecto secreto hacia adelante, verdad? Si existe una garantía de que toda la información codificada antes de que la clave privada esté comprometida continúa segura.

Duda: Y para usar este secreto hacia adelante perfecto, el algoritmo dh efímero debería usarse, ¿no? Para generar un nuevo conjunto de parámetros dh para cada sesión. Mi duda sobre esto es que, en caso de un sitio que use https, ¿cómo sabemos si usa dh o lo efímero dh? ¿Y cuándo usar dh o ehemeral dh en un sitio https?

    
pregunta JonD 21.10.2017 - 21:58
fuente

1 respuesta

2

Sus suposiciones de cómo funciona TLS son en su mayoría correctas, es decir, las ideas básicas son correctas, pero algunos detalles (como la forma en que se genera el pre-maestro-secreto) son incorrectos.

  

... en el caso de un sitio que usa https, ¿cómo sabemos si usa dh o lo efímero dh? ¿Y cuándo usar dh o ehemeral dh en un sitio https?

El cifrado especifica qué autenticación, tipo de intercambio de claves, cifrado simétrico y MAC se utilizan. El cliente ofrece algunos cifrados y el servidor selecciona uno de los cifrados ofrecidos. Los cifrados que utilizan DH efímero son los que tienen DHE o ECDHE en su nombre, por ejemplo TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384. Los cifrados que utilizan DH no efímeros son los que solo tienen DH o ECDH en el nombre, como TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384.

El DH no efímero requiere que los parámetros DH estáticos (consulte uso de TLS / SSL de No efímero DH vs DHE ) está dentro del certificado. Este tipo de certificado y, por lo tanto, el tipo de intercambio de claves es muy poco frecuente. Si verifica los navegadores actuales en prueba de cliente SSLLabs verá que ninguno de estos ofrece incluso cifrados DH / ECDH para el servidor pero solo DHE / ECDHE.

    
respondido por el Steffen Ullrich 21.10.2017 - 22:12
fuente

Lea otras preguntas en las etiquetas