Ataque de reproducción TLS: requisitos del servidor.

11

Como todos ustedes saben, el protocolo SSL / TLS requiere que tanto el cliente como el servidor intercambien (en texto claro) un número aleatorio. Esto probablemente se usa para prevenir ataques de repetición.

No me queda claro cuál es el requisito de nonce del lado del servidor. ¿Debe ser simplemente único ? ¿O también debe ser impredecible? ¿Cuáles serían las implicaciones si un atacante pudiera predecir los errores generados en el lado del servidor , en su caso?

Doy la bienvenida a cualquier fuente de trabajo serio sobre los ataques de reproducción que puedan ayudar a comprender mejor los requisitos de nonce del lado del servidor.

Gracias.

Louis

    
pregunta Louis 04.03.2011 - 17:48
fuente

1 respuesta

11

Dentro de SSL / TLS, los nonces se utilizan para generar claves simétricas, y como parte de las firmas y los controles durante el protocolo de enlace. Para todos esos usos, los nonces son simplemente concatenados (con algunos otros datos) y hash. Suponiendo que las funciones hash se comportan como "oráculos aleatorios" (la función hash perfecta mítica), entonces son suficientes los elementos únicos.

Sin embargo, SSL / TLS hasta (e incluyendo) TLS 1.1 utiliza MD5 y SHA-1 como función hash, para lo cual se han demostrado debilidades. No son oráculos al azar. No tengo conocimiento de ningún resultado sobre la conversión de estas debilidades en ataques a SSL / TLS; sin embargo, es mejor estar seguro que lamentarlo: usar elementos impredecibles. Esto no perjudicará, y tanto el cliente como los servidores ya deben tener acceso a una fuente criptográfica segura de alea, por lo que los errores impredecibles no deben ser un requisito demasiado importante.

    
respondido por el Thomas Pornin 04.03.2011 - 18:10
fuente

Lea otras preguntas en las etiquetas