Intercambio de claves Diffie-Hellman basado en curvas elípticas

El intercambio de claves Diffie-Hellman basado en curvas elípticas (English Elliptic Curve Diffie-Hellman , abreviado ECDH) es un protocolo de intercambio de claves anónimo que permite a dos pares, cada uno con un par de privado / público basado en curvas elípticas , establecer un secreto compartido a través de un canal de comunicación no seguro. Este secreto compartido se puede utilizar directamente como clave de cifrado o se puede utilizar para derivar otra clave que, a su vez, se puede utilizar para cifrar las comunicaciones.

Esta es una variante del protocolo de intercambio de claves Diffie-Hellman , esta vez utilizando la ley de grupo que se puede definir en curvas elípticas.

El siguiente ejemplo muestra cómo se configuran las claves. Suponga que Alice quiere establecer una clave compartida con Bob , pero el único canal de comunicación disponible para ellos es escuchado por una tercera persona. Inicialmente, los parámetros del dominio (que están en el primer caso, o en el caso binario) deben definirse de antemano. Además, Alice y Bob deben tener un par de claves funcionales compatibles con la criptografía de curva elíptica, es decir, un par compuesto por una clave privada (un número entero elegido aleatoriamente en el intervalo ) y una clave pública , donde , que es el resultado de la composición con sí mismo, tiempos. O el par de claves de Alice y el par de claves de Bob . Ambos deben conocer la clave pública del otro para configurar este protocolo.

Alice calcula y Bob calcula . La clave compartida es (la coordenada x del punto).

La clave secreta compartida calculada por Bob y Alice es igual, porque .

La única información sobre su clave privada que expone Alice es la clave pública asociada. Por lo tanto, ningún tercero que no sea Alice puede determinar su clave privada, a menos que ella resuelva el problema del logaritmo discreto de la curva elíptica. La llave de Bob está protegida de la misma forma. Por lo tanto, ningún otro tercero puede determinar la clave compartida, porque no tiene ninguna de las claves privadas. La única forma de calcular la clave compartida es resolver el problema Diffie-Hellman .

Las claves públicas son estáticas (y de confianza, a través de un certificado) o efímeras (abreviado ECDHE ). Las claves efímeras son temporales y no necesariamente autenticadas, lo que implica que si se requiere autenticación, la garantía de esa autenticidad debe obtenerse por otros medios. Se requiere autenticación para evitar un ataque de intermediario. Si alguna de las claves públicas de Bob o Alice es estática, el ataque man-in-the-middle se frustra. Las claves públicas estáticas no proporcionan privacidad persistente ni resistencia al robo de identidad de las claves comprometidas, entre otras propiedades de seguridad avanzadas. Los propietarios de las claves estáticas privadas deben validar la otra clave pública.

Aunque el secreto compartido se puede utilizar directamente como clave de cifrado, a menudo es mejor aplicar un hash para eliminar los bits de orden inferior debido al intercambio Diffie-Hellman.

Artículo relacionado

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">