¿Cuánto daño puede hacer un atacante en el intercambio Diffie-Hellman?

0

Estoy viendo un sistema que utiliza un intercambio Diffie-Hellman no protegido para negociar una clave para el cifrado de la sesión.

Que Diffie-Hellman no está seguro contra ataques de hombre en el medio es conocimiento de los libros de texto, pero cuánto daño podría hacer un atacante si solo es capaz de modificar uno o ambos números primos en el intercambio Diffie-Hellman ¿Solo puedes hacer una escucha pasiva en el resto de la conversación?

Tengo la sensación de que el atacante probablemente puede sabotear la clave de encriptación resultante para que la escucha pasiva funcione, pero realmente puedo argumentar por qué las partes originales no notaron la intrusión.

¿Algún puntero?

    
pregunta Gene Vincent 19.02.2014 - 10:21
fuente

1 respuesta

3

Vamos con un ejemplo, eres MITM.

  1. Alicia le envía a Bob el número primo y la base, es decir: p = 23, g = 5.
  2. Pero ... MITM cambia p y g a 29 y 7.
  3. Así que Bob está de acuerdo con que Alice use p y g 29 y 7.
  4. El hombre de MITM ahora no puede cambiar la respuesta de Bob, así que solo envía a Alice 29 y 7.

Ahora hay dos opciones, Alice puede rechazar el 29 y 7 ya que no son los valores originales y comenzar la negociación nuevamente o Alice envía un acuse de recibo a Bob para los valores de 29 y 7, consideremos la segunda opción, ya que la primera opción termina sin comunicación.

  1. Alice acepta usar 29 y 7 como P y G nuevos y selecciona un número secreto.
  2. MITM ahora solo puede mirar y ahora nunca verá el número secreto que Alice ha elegido. Puede intentar la fuerza bruta, pero eso puede llevar tiempo y ese no es el tema tratado.

Entonces, en este caso, no importa realmente quién elige los números primos, de hecho, podrían ser públicos.

(Realmente puede comprometer la comunicación al elegir un número primo muy bajo como 2 y 3 ya que un ataque de fuerza bruta a este número es realmente fácil, pero creo que la mayoría de los algoritmos forzarán los números primos grandes).

Como última nota, si la implementación es realmente defectuosa (como lo sugiere @GeneVincent) y permite números primos muy bajos, entonces lo tiene. Puedes escuchar la comunicación fácilmente.

    
respondido por el kiBytes 19.02.2014 - 10:40
fuente

Lea otras preguntas en las etiquetas