Vous êtes sur la page 1sur 5

Diffie-Hellman

Diffie-Hellman
El protocolo criptogrfico Diffie-Hellman,[1] debido a Whitfield Diffie y Martin Hellman, (DiffieHellman
Problem->DHP) es un protocolo de establecimiento de claves entre partes que no han tenido contacto previo,
utilizando un canal inseguro, y de manera annima (no autentificada).
Se emplea generalmente como medio para acordar claves simtricas que sern empleadas para el cifrado de una
sesin (establecer clave de sesin). Siendo no autenticado, sin embargo, provee las bases para varios protocolos
autenticados.
Su seguridad radica en la extrema dificultad (conjeturada, no demostrada) de calcular logaritmos discretos en un
cuerpo finito.

Versin bsica
Descripcin

Diffie-Hellman.

Para dos partes Alice y Bob que intentan establecer una clave secreta y un adversario Mallory, la versin bsica es
como sigue:
Se establecen un primo

y un generador

([2]). Estos son pblicos, conocidos no slo por las partes

Alice y Bob sino tambin por el adversario Mallory .


Alice escoge
al azar, calcula
Bob escoge

al azar, calcula

Ntese que tanto A como B pueden calcular el valor


las propiedades del grupo
Para

, y enva
, y enva

a Bob
a Alice
. En efecto, lo podemos demostrar usando

:
Alice:

Para

Como ambas partes pueden calcular

Bob:

entonces la podemos usar como clave compartida.

Diffie-Hellman

Ataques
Ataques pasivos
Un adversario Mallory que poseyera p, g, A y B, podra calcular el secreto compartido si tuviera tambin uno de los
valores privados (a o b). Obtener a o b a patir de A o B invirtiendo la funcin (
y
) es el problema del logaritmo discreto en

, un problema que se cree intratable

computacionalmente siempre que p sea un nmero primo grande de 200 o ms dgitos y que no cumplan ciertas
caractersticas debilitantes.[3]
Ataques activos
El protocolo es sensible a ataques activos del tipo Man-in-the-middle. Si la comunicacin es interceptada por un
tercero, ste se puede hacer pasar por el emisor cara al destinatario y viceversa, ya que no se dispone de ningn
mecanismo para validar la identidad de los participantes en la comunicacin. As, el "hombre en el medio" podra
acordar una clave con cada participante y retransmitir los datos entre ellos, escuchando la conversacin en ambos
sentidos. Una vez establecida la comunicacin simtrica el atacante tiene que seguir en medio interceptado y
modificando el trfico para que no se den cuenta. Observar que para que el ataque sea operativo el atacante tiene que
conocer el mtodo de cifrado simtrico que ser utilizado. Basarse en la ocultacin de algoritmo simtrico de cifrado
no cumple con los principios de Kerckhoffs (la efectividad del sistema no debe depender de que su diseo
permanezca en secreto).

Ataque man-in-the-middle en Diffie-Hellman.

Para evitar este tipo de ataque se suele usar una o ms de las siguientes tcnicas:
Control de tiempos
Autenticacin previa de las partes. Por ejemplo usar en protocolo de capa subyacente autenticacin. Podramos
primero establecer una conexin TLS y sobre esa capa aplicar el algoritmo de Diffie-Hellman
Autenticacin del contenido. Por ejemplo podramos usar MAC sobre el contenido de los mensajes

Diffie-Hellman

Ejemplo
Alice

Sec

Bob

Calc

Calc

Sec

p, g

p, g

ga mod
p

(gb mod p)a mod


p

g mod
p

56 mod 23 = 8.
3. Bob elige un nmero secreto b=15, luego enva a Alice (gb
mod p)
515 mod 23 = 19.
4. Alice calcula (gb mod p)a mod p

1. Alice y Bob acuerdan usar el nmero primo p=23 y la base


g=5.
2. Alice elige un nmero secreto a=6, luego enva a Bob (ga
mod p)

(ga mod p)b mod


p

196 mod 23 = 2.
5. Bob calcula (ga mod p)b mod p

815 mod 23 = 2.

Valores mucho ms grandes de a,b y p se necesitaran para hacer este ejemplo seguro. Dado que es muy sencillo
probar todos los valores posibles de gab mod 23 (habr, como mximo, 22 valores, inclusive si a y b son nmeros
grandes).

Generalizaciones
Aumentando el nmero de partes
La idea del algoritmo podemos generalizarla a la negociacin de claves entre ms de dos entidades.Veamos un
ejemplo para tres entidades y a partir de ah podemos aumentar el nmero de partes de forma fcil:
1. Las partes (Alice, Bob y Carol) se ponen de acuerdo en los parmetros del algoritmo
2. Las partes generan sus propias claves privadas llamadas , , y respectivamente.
3. Alice calcula
4.
5.
6.
7.
8.
9.

Bob calcula
Carol calcula
Bob calcula
Carol calcula
Alice calcula
Carol calcula

10. Alice calcula


11. Bob calcula

and

y lo enva a Bob.
y lo enva a Carol.
y la usa como su clave secreta.
y lo enva a Carol.
y lo enva a Alice.
y lo usa como su clave secreta.
y lo enva a Alice.
y lo enva a Bob.
y lo usa como su clave secreta.

Diffie-Hellman

Cambiando de grupo
Podemos generalizar el protocolo y sus derivados si en lugar de basarnos en el grupo

nos basamos en otros

grupos que cumplan las condiciones necesarias para poder aplicar el algoritmo (GDHP<-Generalized Diffie-Hellman
Problem)
Formalizacin
1. Los usuarios A y B seleccionan pblicamente un grupo multiplicativo finito G de orden n y generador
cuya operacin multiplicacin es una operacin de una va (no tiene inversa o difcilmente invertible)
2. El usuario A genera un nmero aleatorio a,
, calcula
y transmite este elemento a B,
manteniendo secreto a
3. El usuario B genera un nmero aleatorio b,

, calcula

y transmite este elemento a A,

manteniendo secreto b
4. El usuario A recibe
y calcula
5. El usuario B recibe
y calcula
6. A y B poseen un elemento comn secreto del grupo
Ejemplos
Ejemplos de grupos que podramos usar: El grupo multiplicativo anlogo de los campos de Galois

, el grupo de

puntos definidos por una curva elptica sobre un cuerpo finito.

Usos prcticos del protocolo


La red para anonimato Tor usa el protocolo Diffie Hellman, sobre una conexin TLS de una capa inferior
previamente establecida, para procurarse claves de sesin entre el cliente y los nodos de enrutamiento de la red.
Esas claves son usadas para cifrar las capas de cebolla de los paquetes que transitan por la red.
El protocolo Off-the-record messaging para comunicacin de mensajera instantnea se apoya[4] el en el protocolo
Diffie-Hellman para ir cambiando de clave de cifrado segn se van intercambiando los mensajes.

Referencias
[1] Diffie, W. y M.E.Hellman. "New directions in cryptography", IEEE Transactions on Information Theory 22 (1976), pp. 644-654.
[2] Aqu UNIQ-math-0-f8bd4a9a31d43c0d-QINU es el conjunto de los enteros menores que p que son primos relativos de p, que es un grupo
bajo la multiplicacin mdulo p.
[3] Gordon, D. M. Designing and Detecting Trapdoors for Discrete Log. Cryptosystems. Advances in Cryptology-CRYPTO92, Berlin:Springer
Verlag pp 66-75
[4] N. Borisov,"Off-the-Record Communication or, Why Not To Use PGP"

Bibliografa adicional
Menezes, A.J., P.C. van Oorschot y S.A. Vanstone. Handbook of Applied Cryptography. Boca Raton, Fl.: CRC
Press, 1997.

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Diffie-Hellman Fuente: http://es.wikipedia.org/w/index.php?oldid=66807390 Contribuyentes: Akhram, Alexav8, Ascnder, Aswarp, Aipni-Lovrij, Bambadee, Cinabrium, Damifb, DaveFX,
Erior1, Fercufer, Humberto, Juanpebe, Kronoman, Osado, PabloCastellano, Pabloab, Paintman, Raulshc, Rodrigoq, Waeswaes, 28 ediciones annimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:Diffie-Hellman-Schlsselaustausch.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Diffie-Hellman-Schlsselaustausch.png Licencia: Public Domain Contribuyentes:
de:Benutzer:Stern
Archivo:Man-in-the-middle_attack_of_Diffie-Hellman_key_agreement.svg Fuente:
http://es.wikipedia.org/w/index.php?title=Archivo:Man-in-the-middle_attack_of_Diffie-Hellman_key_agreement.svg Licencia: Creative Commons Attribution-ShareAlike 3.0 Unported
Contribuyentes: Stefan Birkner (Benutzer:Squizzzsquizzz)

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported
//creativecommons.org/licenses/by-sa/3.0/

Vous aimerez peut-être aussi