ssl - ¿Puede el atacante generar su propia clave simétrica si se intercepta ClientHello y ServerHello?

3

Después de leer esta asombrosa explicación de cómo funciona SSL , ahora tengo una confusión.

La respuesta indica que los primeros mensajes de SSL son ClientHello y ServerHello (en respuesta a ClientHello). Ambos de los cuales no están encriptados, corríjame si estoy equivocado. Además, el cliente no comienza a enviar cifrado hasta que se emita ChangeCipherSpec .

Por lo tanto, tanto ClientHello como ServerHello contienen el "cliente aleatorio" y "servidor aleatorio" y también el identificador de sesión. Ahora AFAIK los datos se cifran utilizando una clave de cifrado simétrica, es decir, el cliente y el servidor tienen una copia de la misma clave y el cifrado / descifrado se realiza a través de esa clave única para esa sesión SSL.

Y no es que la se suponga que la clave se computa utilizando el "cliente aleatorio" y "servidor aleatorio" ?

Entonces, si ClientHello y ServerHello son texto sin formato, ¿no puede el atacante usar el mismo algoritmo que el cliente y generar su propia clave simétrica y conversar con el servidor? ¿Hacerse pasar por el cliente?

¿Cómo es esto imposible? ¿Qué me estoy perdiendo aquí?

ACTUALIZACIÓN: Las fases de ServerKeyExchange y ClientKeyExchange también ocurren antes de ChangeCipherSpec , por lo que también se supone que no están encriptadas.

    
pregunta ng.newbie 26.05.2017 - 15:44
fuente

2 respuestas

2

Muchas de las mejoras en TLS dependen del mensaje Finished : tan pronto como ChangeCipherSpec , se envía un mensaje Finished cifrado con los nuevos parámetros negociados. Tanto el servidor como el cliente tienen que descifrar inmediatamente este mensaje, que contiene hashes del protocolo de enlace hasta el momento. Si hay una falta de coincidencia, digamos de un ataque de hombre en medio, se detectará aquí.

Si no hizo esto, puede recibir ataques similares a los que se está preguntando. Vea mi respuesta en ese aquí para más detalles.

    
respondido por el galvatron 26.05.2017 - 18:28
fuente
1

Te estás perdiendo la parte más genial. Diffie Hellman Key Exchange: enlace

Esta parte es el bit que permite que las claves se generen en cada extremo intercambiando los detalles en el claro. Incluso si un atacante intercepta las comunicaciones claras, ellos mismos no pueden recrear la salida. Muy inteligente, ya que el algoritmo es conocido por todos y sabiendo que no ofrece ventajas al atacante.

También vale la pena señalar que si un hombre en el atacante medio intercepta y cambia activamente cualquier cosa dentro del protocolo mientras no está cifrado cuando el protocolo realiza la etapa de autenticación del mensaje, notará que fue manipulado y falló.

    
respondido por el ISMSDEV 26.05.2017 - 15:50
fuente

Lea otras preguntas en las etiquetas