En criptografía, un protocolo de acuerdo de claves es un protocolo mediante el cual dos (o más) partes generan una clave criptográfica en función de la información proporcionada por cada parte honesta, de modo que ninguna parte pueda predeterminar el valor resultante. [ 1 ] En particular, todos los participantes honestos influyen en el resultado. Un protocolo de acuerdo de claves es una especialización de un protocolo de intercambio de claves. [ 2 ]
Al finalizar el protocolo, todas las partes comparten la misma clave. Un protocolo de acuerdo de clave impide que terceros no deseados impongan una elección de clave a las partes acordadas. Un acuerdo de clave seguro puede garantizar la confidencialidad y la integridad de los datos [ 3 ] en sistemas de comunicación, desde aplicaciones de mensajería sencillas hasta transacciones bancarias complejas.
El acuerdo seguro se define en relación con un modelo de seguridad, por ejemplo, el Modelo Universal. [ 2 ] De manera más general, al evaluar protocolos, es importante establecer los objetivos de seguridad y el modelo de seguridad. [ 4 ] Por ejemplo, puede ser necesario que la clave de sesión esté autenticada . Un protocolo puede evaluarse para determinar su éxito solo en el contexto de sus objetivos y modelo de ataque. [ 5 ] Un ejemplo de un modelo adversario es el modelo Dolev-Yao .
En muchos sistemas de intercambio de claves, una parte genera la clave y se la envía a la otra parte; [ 6 ] la otra parte no tiene ninguna influencia sobre la clave.
Intercambio de claves exponencial
El primer protocolo de acuerdo de clave pública conocido públicamente [ 6 ] 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 intruso no puede determinar de forma factible cuál es la clave compartida resultante.
El acuerdo de clave exponencial, en sí mismo, no especifica ningún acuerdo previo ni autenticación posterior entre los participantes. Por lo tanto, se le ha descrito como un protocolo de acuerdo de clave anónimo.
Acuerdo de clave simétrica
El acuerdo de clave simétrica (SKA) es un método de acuerdo de claves que utiliza exclusivamente criptografía simétrica y funciones hash criptográficas como primitivas criptográficas . Está relacionado con el intercambio de claves autenticado simétrico. [ 7 ]
SKA puede asumir el uso de secretos compartidos iniciales [ 7 ] o se asume un tercero de confianza con quien las partes acordadas comparten un secreto. [ 8 ] Si no hay ningún tercero presente, entonces lograr SKA puede ser trivial: asumimos tautológicamente que dos partes que comparten un secreto inicial y han logrado SKA.
SKA contrasta con los protocolos de acuerdo de claves que incluyen técnicas de criptografía asimétrica , como los mecanismos de encapsulación de claves .
El intercambio inicial de una clave compartida debe realizarse de forma privada y con garantía de integridad. Históricamente, esto se lograba mediante medios físicos, como el uso de un mensajero de confianza .
Un ejemplo de protocolo SKA es el protocolo Needham-Schroeder . Este establece una clave de sesión entre dos partes en la misma red , utilizando un servidor como tercero de confianza. El protocolo Needham-Schroeder original es vulnerable a un ataque de repetición. Para mitigar este ataque, se incluyen marcas de tiempo y valores aleatorios (nonces) . Este protocolo constituye la base del protocolo Kerberos .
Tipos de acuerdos clave
Boyd et al. [ 9 ] clasifican los protocolos de acuerdo de clave entre dos partes según dos criterios, como sigue:
- si ya existe o no una clave precompartida.
- el método de generación de la clave de sesión .
La clave precompartida puede ser compartida entre las dos partes, o cada parte puede compartir una clave con un tercero de confianza. Si no existe un canal seguro (como el que se puede establecer mediante una clave precompartida), es imposible crear una clave de sesión autenticada. [ 10 ]
La clave de sesión puede generarse mediante transporte de clave, acuerdo de clave e híbrido. Si no existe un tercero de confianza, los casos de generación de clave de sesión por transporte e híbrido son indistinguibles. SKA se ocupa de protocolos en los que la clave de sesión se establece utilizando únicamente primitivas simétricas.
Autenticación
El intercambio anónimo de claves, como Diffie-Hellman, no proporciona autenticación de las partes y, por lo tanto, es vulnerable a ataques de intermediario .
Se han desarrollado una amplia variedad de esquemas y protocolos de autenticación criptográfica para proporcionar un acuerdo de clave autenticado y prevenir ataques de intermediario y similares. Estos métodos generalmente vinculan matemáticamente la clave acordada con otros datos acordados, como los siguientes:
- pares de claves públicas y privadas
- claves secretas compartidas
- contraseñas
claves públicas
Un mecanismo ampliamente utilizado para contrarrestar este tipo de 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 la certeza de que la clave firmada que recibe no es un intento de interceptación por parte de Eve. Cuando Alice y Bob disponen de una infraestructura de clave pública, pueden firmar digitalmente una clave Diffie-Hellman acordada o intercambiar claves públicas Diffie-Hellman. Estas claves firmadas, a veces 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 TLS ). Otros ejemplos específicos son MQV , YAK y el componente ISAKMP del conjunto de protocolos IPsec para la seguridad de las comunicaciones del Protocolo de Internet. Sin embargo, estos sistemas requieren que las autoridades de certificación verifiquen cuidadosamente la coincidencia entre la información de identidad y las claves públicas 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 emplean 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 integral que proporciona las cuatro características deseables de las comunicaciones seguras (confidencialidad, integridad, autenticación y no repudio).
Contraseñas
Los protocolos de intercambio de claves autenticados mediante contraseña requieren el establecimiento independiente de una contraseña (que puede ser más corta que la clave) de forma privada y con garantía de integridad. Estos protocolos están diseñados para resistir ataques de intermediario y otros ataques activos contra la contraseña y las claves establecidas. Por ejemplo, DH- EKE , SPEKE y SRP son variantes de Diffie-Hellman autenticadas mediante contraseña.
Otros trucos
Si se dispone de un método que garantice la integridad para verificar una clave compartida a través de un canal público, se puede realizar un intercambio de claves Diffie-Hellman para obtener una clave compartida a corto plazo y, posteriormente, autenticar que las claves coinciden. Una forma de hacerlo es mediante la lectura de la clave autenticada por voz, como en PGPfone . Sin embargo, la autenticación por voz presupone que es imposible que un atacante suplante la voz de un participante al otro en tiempo real, lo cual puede ser una suposición indeseable. Estos protocolos pueden diseñarse para funcionar incluso con un valor público pequeño, como una contraseña. Se han propuesto variaciones de este enfoque para los protocolos de emparejamiento Bluetooth .
En un intento por evitar el uso de factores de autenticación adicionales fuera de banda, Davies y Price propusieron el uso del protocolo de enclavamiento de Ron Rivest y Adi Shamir , que ha sido objeto tanto de ataques como de mejoras posteriores.
Véase también
- Clave (criptografía)
- Seguridad informática
- Criptoanálisis
- Canal seguro
- Firma digital
- Mecanismo de encapsulación clave
- Gestión clave
- Acuerdo de clave autenticada mediante contraseña
- protocolo de enclavamiento
- A prueba de contraseñas de conocimiento cero
- Criptografía neuronal § Protocolo de intercambio de claves neuronales
- Distribución de claves cuánticas
Referencias
- ↑ Menezes, A.; Oorschot, P. van; Vanstone, S. (1997). Manual de criptografía aplicada (5.ª ed.). CRC Press. ISBN 0-8493-8523-7.
- 1 2 Canetti, Ran; Krawczyk, Hugo (6 de mayo de 2001). «Análisis de protocolos de intercambio de claves y su uso para la construcción de canales seguros» . EUROCRYPT '01: Actas de la Conferencia Internacional sobre la Teoría y Aplicación de Técnicas Criptográficas: Avances en Criptología . Springer-Verlag. págs. 453–474 . ISBN 978-3-540-42070-5.
- ↑ Bellare, Mihir; Canetti, Ran; Krawczyk, Hugo (23 de mayo de 1998). «Un enfoque modular para el diseño y análisis de protocolos de autenticación e intercambio de claves (Resumen extendido)» . Actas del trigésimo simposio anual de la ACM sobre Teoría de la Computación - STOC '98 . Association for Computing Machinery. págs. 419–428 . doi : 10.1145/276698.276854 . ISBN 0-89791-962-9.
- ↑ Gollmann, D. (6 de mayo de 1996). "¿Qué entendemos por autenticación de entidades?" . Actas del Simposio IEEE de 1996 sobre Seguridad y Privacidad . IEEE Computer Society. págs. 46–54 . doi : 10.1109/SECPRI.1996.502668 . ISBN 978-0-8186-7417-4.
- ↑ Katz, Jonathan; Lindell, Yehuda (2021). Introducción a la criptografía moderna (Tercera ed.). Boca Raton, Londres, Nueva York: CRC Press Taylor & Francis Group. pág. 49. ISBN 978-0815354369.
- 1 2 Consulte el intercambio de claves Diffie-Hellman para obtener una historia más completa del desarrollo, tanto secreto como público, de la criptografía de clave pública.
- 1 2 Boyd, Colin; Davies, Gareth T.; de Kock, Bor; Gellert, Kai; Jager, Tibor; Millerjord, Lise (2021). "Intercambio de claves simétrico con seguridad directa completa y sincronización robusta". Avances en criptología – ASIACRYPT 2021. Notas de clase en ciencias de la computación. Vol. 13093. Springer International Publishing. págs. 681–710 . doi : 10.1007/978-3-030-92068-5_23 . hdl : 11250/2989781 . ISBN 978-3-030-92067-8.
- ↑ Pagnia, Henning; Gaertner, Felix (1999). "Sobre la imposibilidad de un intercambio justo sin un tercero de confianza" . Informe técnico TUD-BS-1999-02 : 1–15 .
- ↑ Boyd, Colin; Mathuria, Anish; Stebila, Douglas (2020). Protocolos para autenticación y establecimiento de claves . Seguridad de la información y criptografía. doi : 10.1007/978-3-662-58146-9 . ISBN 978-3-662-58145-2.
- ↑ Boyd, C. (junio de 1993). "Arquitecturas de seguridad mediante métodos formales" (PDF) . IEEE Journal on Selected Areas in Communications . 11 (5): 694– 701. doi : 10.1109/49.223872 .
- Criptografía
- Protocolos de acuerdo clave