En criptografía, un protocolo de acuerdo de clave es un protocolo mediante el cual dos o más partes pueden acordar una clave de tal manera que ambas influyan en el resultado. Si se hace correctamente, esto impide que terceros no deseados impongan una elección clave a las partes acordadas. Los protocolos que son útiles en la práctica tampoco revelan a ninguna parte que espía qué clave se ha acordado.
Muchos sistemas de intercambio de claves hacen que una de las partes genere la clave y simplemente envíe esa clave a la otra parte; la otra parte no tiene influencia sobre la clave. El uso de un protocolo de acuerdo de claves evita algunos de los problemas de distribución de claves asociados con dichos sistemas.
Los protocolos en los que ambas partes influyen en la clave derivada final son la única forma de implementar el secreto directo perfecto .
Intercambio de claves exponencial
El primer protocolo de acuerdo de clave pública conocido [1] que cumple con los criterios anteriores fue el intercambio de claves Diffie-Hellman , en el que dos partes exponencian conjuntamente un generador con números aleatorios, de tal manera que un fisgón no puede determinar de manera factible cuál es el resultado El valor utilizado para producir una clave compartida es.
El intercambio de claves exponencial en sí mismo no especifica ningún acuerdo previo o autenticación posterior entre los participantes. Por tanto, se ha descrito como un protocolo de acuerdo de claves anónimo.
Autenticación
El intercambio de claves anónimas, como Diffie-Hellman, no proporciona autenticación de las partes y, por lo tanto, es vulnerable a los ataques de intermediarios .
Se ha desarrollado una amplia variedad de esquemas y protocolos de autenticación criptográfica para proporcionar un acuerdo de clave autenticado para prevenir ataques man-in-the-middle y relacionados. Estos métodos generalmente vinculan matemáticamente la clave acordada con otros datos acordados, como los siguientes:
Claves públicas
Un mecanismo ampliamente utilizado para derrotar estos ataques es el uso de claves firmadas digitalmente cuya integridad debe estar garantizada: si la clave de Bob está firmada por un tercero de confianza que avala su identidad, Alice puede tener una confianza considerable en que una clave firmada que recibe no lo es. un intento de interceptar por Eva. Cuando Alice y Bob tienen una infraestructura de clave pública, pueden firmar digitalmente una clave Diffie-Hellman acordada o intercambiar claves públicas Diffie-Hellman. Dichas claves firmadas, a veces firmadas por una autoridad de certificación , son uno de los principales mecanismos utilizados para el tráfico web seguro (incluidos los protocolos HTTPS , SSL o Transport Layer Security). Otros ejemplos específicos son MQV , YAK y el componente ISAKMP del conjunto de protocolos IPsec para proteger las comunicaciones del Protocolo de Internet. Sin embargo, estos sistemas requieren cuidado al respaldar la coincidencia entre la información de identidad y las claves públicas por parte de las autoridades de certificación para que funcionen correctamente.
Sistemas híbridos
Los sistemas híbridos utilizan criptografía de clave pública para intercambiar claves secretas, que luego se utilizan en sistemas de criptografía de clave simétrica. La mayoría de las aplicaciones prácticas de la criptografía utilizan una combinación de funciones criptográficas para implementar un sistema general que proporciona las cuatro características deseables de las comunicaciones seguras (confidencialidad, integridad, autenticación y no repudio).
Contraseñas
Los protocolos de acuerdos de claves autenticados por contraseña requieren el establecimiento por separado de una contraseña (que puede ser más pequeña que una clave) de una manera que sea privada y con garantía de integridad. Estos están diseñados para resistir man-in-the-middle y otros ataques activos a la contraseña y las claves establecidas. Por ejemplo, DH- EKE , SPEKE y SRP son variaciones autenticadas por contraseña de Diffie-Hellman.
Otros trucos
Si uno tiene una forma de integridad asegurada para verificar una clave compartida a través de un canal público, puede participar en un intercambio de claves Diffie-Hellman para derivar una clave compartida a corto plazo, y luego autenticar que las claves coinciden. Una forma es utilizar una lectura de la clave autenticada por voz, como en PGPfone . Sin embargo, la autenticación de voz supone que no es factible que un intermediario falsifique la voz de un participante al otro en tiempo real, lo que puede ser una suposición indeseable. Estos protocolos pueden estar diseñados para funcionar incluso con un valor público pequeño, como una contraseña. Se han propuesto variaciones sobre este tema para los protocolos de emparejamiento de Bluetooth .
En un intento por evitar el uso de factores de autenticación fuera de banda adicionales, Davies y Price propusieron el uso del protocolo de interbloqueo de Ron Rivest y Adi Shamir , que ha sido objeto de ataques y refinamiento posterior.
La criptografía de clave secreta (simétrica) requiere el intercambio inicial de una clave compartida de manera privada y con garantía de integridad. Cuando se hace bien, se evita el ataque de hombre en el medio. Sin embargo, sin el uso de criptografía de clave pública, uno puede quedarse con problemas de administración de claves no deseados.
Ver también
- Clave (criptografía)
- La seguridad informática
- Criptoanálisis
- Canal seguro
- Firma digital
- Encapsulación de claves
- Gestión de claves
- Acuerdo de clave autenticada con contraseña
- Protocolo de enclavamiento
- Prueba de contraseña de conocimiento cero
- Criptografía neuronal # Protocolo de intercambio de claves neuronales
Notas
- ^ Consulte Intercambio de claves Diffie-Hellman para obtener una historia más completa del desarrollo público y secreto de la criptografía de clave pública.