Aplicaciones SSH TELNET

7. Diffie-Hellmann

Introducción

El algoritmo de Intercambio de Claves Diffie-Hellman se usa para intercambiar una clave simétrica.

Este algoritmo  DH es más sencillo de lo que parece y se usa frecuentemente en protocolos y aplicaciones de encriptado de datos, como:
  • SSL (Secure Sockets Layer)
  • SSH (Secure Shell)
  • VPN (Virtual Private Network)
  • TLS
  • IPsec
  • PGP


Nota: El algoritmo de intercambio de Diffie-Hellman no es por si solo 100% seguro, es susceptible a un ataque Man in de Middle, pero con la validación de la clave Pública, esto queda subsanado, ya que al tener registro de la clave publica con el PKI, podemos dar fe de la indentidad ( no se está haciendo pasar por otro).

Existen diferentes Grupos Diffie Hellman, en función de la fuerza empleada en el intercambio de claves. Cuanto más alto sea el grupo, más seguros serán los intercambios, pero a la vez, se necesitará más tiempo para procesar la clave.
Los grupos Diffie-Hellman más comunes son:

  •     Grupo DH 1 de 768 bits
  •     Grupo DH 2 de 1024 bits
  •     Grupo DH 5 de 1536 bits
  •     Grupo DH 14 de 2048-bit
  •     Grupo DH 15  de 3072-bit
  •     Grupo DH 19  de 256-bit de curva elíptica
  •     Grupo DH 20  de 384 bits de curva elíptica

A la hora de realizar el intercambio de claves, ambos equipos deben elegir durante la primera fase del proceso un mismo Grupo DH, de forma que crean un canal seguro y autenticado para establecer la comunicación.

Funcionamiento de Diffie_Hellman (Analogía)

La mejor analogía para el esquema Diffie-Hellman es pensar en dos personas mezclando pintura.

Usemos el estándar de criptografía y digamos que sus nombres son Alice y Bob. Ambos acuerdan un color aleatorio para empezar. Digamos que se envían un mensaje y deciden que el amarillo es su color común.

Establecen su propio color. No le dicen a la otra parte su elección. Digamos que Alice elige el rojo, mientras que Bob elige un azul ligeramente verdoso.

El siguiente paso es que tanto Alice como Bob mezclen su color secreto (rojo para Alice, azul verdoso para Bob) con el amarillo que acordaron mutuamente. Alice termina con una mezcla anaranjada, mientras que el resultado de Bob es un azul más profundo.

Una vez que han terminado de mezclar, envían el resultado a la otra parte. Alice recibe el azul más profundo, mientras que Bob recibe la pintura de color naranja.

Una vez que han recibido el resultado mixto de su pareja, le agregan su color secreto. Alice toma el azul más profundo y agrega su pintura roja secreta, mientras que Bob agrega su azul verdoso secreto a la mezcla de naranja que acaba de recibir.

¿El resultado? Ambos salen con el mismo color, que en este caso es un marrón y es un color compartido. Este color compartido se conoce como el secreto común.