Propósito de números aleatorios de clientes y servidores en SSL Handshake [duplicado]

3

No pude entender por qué en el Cliente hola y Servidor hola en SSL Handshake el cliente debe enviar al servidor ( públicamente ) de forma aleatoria número y viceversa. A partir de estos números, se generará un secreto Pre-Master y se enviará encriptado con la clave pública del servidor. (Como lo veo, un secreto aleatorio de Pre-Master podría haberse generado desde el principio en el lado del cliente y enviarse cifrado con la clave pública del servidor)

Luego, a partir de este Pre-Master, ambos pueden generar un nuevo secreto maestro que será el mismo en ambos lados.

Ok, tal vez me digas que el secreto hacia adelante es la respuesta, pero si man-in-the-middle registra la sesión, él sabe los dos números aleatorios, él conoce el secreto Pre-Master (digamos que descubrió cuál es la clave privada del servidor), por lo que probablemente pueda generar el secreto Master y descifrar todos los datos.

Entonces, ¿cuál es exactamente el propósito de estos dos números aleatorios? ¿Por qué el cliente no puede generar dos números aleatorios y enviarlos al servidor y uno debe generarse en el lado del cliente y el otro en el lado del servidor? ¿Esos 2 números deben ser números primos u otra cosa?

    
pregunta Yaniv 01.09.2015 - 09:58
fuente

1 respuesta

0

El Pre-Master Secret se deriva de los números aleatorios anteriores (excepto donde se usa Diffie-Hellman). Luego se cifra con la clave pública del servidor y se envía al servidor. El problema es que este mensaje cifrado SOLO puede ser descifrado por la clave privada del Servidor. por lo tanto, si un atacante sabe / tiene la clave privada del servidor (la clave dorada), ya está todo terminado, ni siquiera se moleste con el TLS.

Puede encontrar más información sobre los números aleatorios en: ¿Por qué el protocolo de SSL / TLS tiene un cliente y un servidor al azar?

    
respondido por el JOW 01.09.2015 - 10:55
fuente

Lea otras preguntas en las etiquetas