Protocolo criptográfico
Un protocolo criptográfico es un protocolo abstracto o concreto que incluye un conjunto de algoritmos criptográficos , a menudo una secuencia de primitivas criptográficas . El protocolo se basa en un conjunto de reglas que rigen el uso de transformaciones y algoritmos criptográficos en procesos de información para el intercambio de mensajes entre dos o más participantes, así como una descripción de las estructuras utilizadas .
En un protocolo, los participantes (sujeto, parte) pueden ser aplicaciones , personas, sus grupos o, por ejemplo, organizaciones. Es decir, todo aquello que, por el motivo que sea, sea capaz de desempeñar un papel activo o pasivo en el funcionamiento del protocolo. Entonces, en particular, la mayoría de los protocolos se desarrollan teniendo en cuenta la presencia de un oyente pasivo capaz de interceptar mensajes .
La aparición de los protocolos más simples se remonta a finales de la década de 1970, principios de la de 1980 [1] . La contribución a su aparición fue realizada por especialistas como Ronald Rivest , Adi Shamir [2] , Roger Needham , Michael Schroeder [3] y muchos otros. Bruce Schneier proporciona una descripción de los protocolos conocidos en su libro Applied Cryptography [4] .
Funciones
El protocolo criptográfico tiene las siguientes funciones [5] :
Composición
El protocolo se divide en pases ( eng. pass ) o ciclos ( eng. round ), que son el intervalo de tiempo de actividad de un solo participante. En protocolos diseñados para más de dos participantes, si es necesaria su sincronización, el ciclo es el período de tiempo entre dos puntos de sincronización [6] .
El pasaje, a su vez, consta de pasos ( paso en inglés , acción ), acciones específicas completadas realizadas por el participante [6] .
Por ejemplo:
La implementación del protocolo, o incluso su descripción teórica para participantes específicos, cada uno de los cuales tiene uno o más roles , se denomina sesión . En otra sesión del protocolo, los participantes pueden intercambiar roles y realizar funciones completamente diferentes [6] .
Así, un protocolo describe las reglas para el comportamiento de cada participante abstracto en el protocolo. Y la sesión describe una implementación específica del protocolo que ya ha tenido lugar en el pasado [6] .
Convenciones
Al escribir protocolos criptográficos, se acostumbra utilizar los términos "emisor", "receptor", etc., o ejemplos para designar a los participantes . La correspondencia entre ellos es la siguiente [6] :
- Alice, Bob (del inglés A, B ) - el remitente del mensaje y su destinatario.
- Carl, Clara, Charlie (del inglés C ): un tercero igual a Alice y Bob, si los hay.
- Eve (del inglés eavesdropper ) - criptoanalista pasivo .
- Mallory (del inglés malicioso ) es un criptoanalista activo.
- Trent (del inglés trust ) - una parte de confianza. Por ejemplo, es una autoridad de certificación en protocolos de verificación de firma.
Para escribir primitivas, se acostumbra usar la siguiente notación [6] :
- (del mensaje en inglés ) - un mensaje en su forma original, información abierta en la forma en que cualquier participante en el protocolo puede leerlo. Es decir, el texto de origen en el sentido directo o, por ejemplo, una matriz de bits , sonido, etc., también puede entenderse como.
- (del inglés clave ) - clave . Sin más calificadores, por lo general denota una clave de sesión secreta .
- - una clave secreta compartida entre Alice y Trent (en el caso de criptosistemas simétricos ).
- - Clave pública de Alice (en el caso de criptosistemas asimétricos ).
- (del inglés life ) - la vida de los primitivos. Por ejemplo, una clave o un certificado .
- (del inglés cifrar ) - datos cifrados con una clave .
- , — datos cifrados con las claves de Alice y Bob, respectivamente.
- (del signo inglés ) - datos y la firma digital correspondiente en la clave pública .
- , (del inglés timestamp ) - marcas de tiempo de los participantes correspondientes. A menudo se usa junto con
- , (del inglés random ) - números aleatorios elegidos por Alice y Bob, respectivamente.
Ejemplos de uso de la notación [6] :
- o simplemente un mensaje encriptado con la clave de Bob .
- - un número aleatorio generado por Alice y firmado por ella. Es decir, el mensaje contendrá tanto un número aleatorio ( texto plano ) como una firma electrónica de este número.
- - El identificador y la clave de Alice, la marca de tiempo y la vida útil de este registro, todo junto firmado con la clave pública del centro de confianza (Trent). Ese es, de hecho, el certificado clave de Alice.
Clasificación
Globalmente, los protocolos se pueden dividir en dos grupos: primitivos y aplicados [7] .
Un protocolo criptográfico primitivo no tiene utilidad práctica por sí mismo, pero puede ser parte de un protocolo de aplicación. Resuelve un problema abstracto [7] .
El protocolo criptográfico aplicado ( ing. application cryptographic protocol ) tiene una aplicación práctica, se utiliza para resolver problemas prácticos de seguridad. Estos protocolos suelen implementar varias funciones criptográficas a la vez. Y a veces son toda una familia de protocolos que pueden cambiar los parámetros del sistema según sea necesario. Por ejemplo, el sistema de pagos electrónicos [7] .
Sin embargo, existen clasificaciones más precisas [5] :
- Clasificación por número de participantes:
- bilateral
- trilátero
- multilateral
- Clasificación por el número de mensajes transmitidos:
- interactivo (hay un intercambio mutuo de mensajes)
- no interactivo (transmisión única)
- Clasificación según la finalidad prevista del protocolo:
- integridad del mensaje con/sin autenticación de origen
firma digital
- individuo / grupo
- con/sin recuperación de mensajes
- a ciegas
- con prueba de falsificación
- autenticación / identificación unidireccional / bidireccional (mutua)
intercambio de mensajes
- transmisión confidencial ordinaria
- mensajes confidenciales de difusión/difusión
- honesto intercambio de secretos
- transmisión inconsciente
- vinculación a un bit (cadena)
distribución de claves
- preliminar
- transferencia de clave (intercambio de clave)
- generación colaborativa de claves (distribución de claves públicas)
- pareja / grupo
- intercambio secreto
- Clasificación según el tipo de sistemas criptográficos utilizados:
- Clasificación por modo de funcionamiento:
- interactivo / no interactivo
- unidireccional/dos-/tres-, etc. a través de
- protocolo con un árbitro (protocolo con un intermediario)
- bidireccional / con un tercero de confianza (con un centro de confianza)
Ataques
Existen las siguientes direcciones [8] :
- contra algoritmos criptográficos
- contra técnicas criptográficas utilizadas para implementar protocolos
- vs protocolos en sí (activos o pasivos)
Tipos de ataques a protocolos criptográficos
- El man in the middle es un tipo de ataque en el que un atacante se inserta en el canal de comunicación entre los participantes, modificando los mensajes transmitidos o redirigiéndolos. Es vulnerable a los protocolos que carecen de autenticación mutua de las partes [6] .
- Repetición de mensajes ( ataque de repetición en inglés ): reutilización de un mensaje transmitido previamente o cualquier parte del mismo en la sesión actual del protocolo. Por ejemplo, al grabar primero un mensaje que contiene una clave cifrada, puede dedicar una cantidad de tiempo arbitraria a descifrarlo y luego obligar a los participantes a reutilizarlo [5] .
- Ataque de falla de tipo : similar a un ataque de repetición, con la única diferencia de que el mensaje se transmite en otra ronda del protocolo, cambiando así su valor en el protocolo [6] .
- Ataque con sesiones paralelas ( eng. ataque de sesión paralela ): un ataque durante el cual un atacante inicia varias sesiones paralelas con los participantes y transmite mensajes de una sesión a otra [6] .
Propiedades de seguridad
Hay muchas propiedades que caracterizan la seguridad de un protocolo criptográfico. Normalmente, las propiedades de los protocolos que caracterizan su resistencia a diversos ataques se formulan como objetivos (en inglés , Goals ) o requisitos de los protocolos. La interpretación de estos objetivos ha cambiado y refinado con el tiempo. La interpretación más completa y moderna de estos objetivos se encuentra en los documentos de la organización internacional IETF . Las propiedades de seguridad (objetivos, requisitos) en los documentos IETF actualmente significan los siguientes 20 objetivos, agrupados en 10 grupos [9] :
- Autenticación (sin transmisión):
- Autenticación de sujeto
G1( Ing. Peer Entity Authentication ) Autenticación de los participantes en el protocolo de presencia, su autoridad, y también que realmente toman parte en la ejecución de la sesión actual del protocolo.
- Autenticación de mensajes
G2( Autenticación de mensajes en inglés ) Autenticación de la fuente de datos. Dado que sin la garantía de que el mensaje no ha sido modificado, esta propiedad se vuelve inútil, también existe un requisito para la integridad del mensaje.
- G3 Anti-repetición
( Ing. Replay Protection ) Garantiza que el mensaje no sea reenviado. Según el contexto, esto puede significar que el mensaje se generó en una sesión determinada o que el mensaje se generó dentro de un período de tiempo conocido. o que el mensaje no se recibió antes.
- Autenticación cuando se transmite a muchas direcciones o cuando se conecta a un servicio de suscripción/notificación:
- G4 Autenticación de destinatario implícita (oculta)
( Ing. Autenticación de destino implícita ) El protocolo debe garantizar que solo aquellos participantes autorizados por el remitente tendrán acceso a la información enviada, el mensaje de multidifusión o la comunicación grupal.
- Autenticación de origen
G5( Autenticación de la fuente en inglés ) Los miembros legítimos del grupo pueden verificar la autenticidad de la fuente y el contenido de la información o el mensaje del grupo. Esto incluye casos en los que los miembros del grupo no confían entre sí.
- Autorización G6 (por un tercero de confianza)
( Autorización ing. (por un tercero de confianza) ) Un tercero de confianza presenta a un participante a otro participante, dando confianza de que pueden confiar el uno en el otro.
- Propiedades de generación de claves colaborativas:
- Autenticación de clave
G7( Autenticación de clave en inglés ) Uno de los participantes recibe la confirmación de que ningún otro participante, a excepción de un segundo participante predeterminado (y posiblemente otros participantes de confianza), puede acceder a ninguna clave secreta.
- Validación de clave
G8( Ing. Key Confirmation, Key Proof of Possession ) Uno de los participantes recibe la confirmación de que el segundo participante (posiblemente indefinido) realmente tiene una clave secreta específica (o tiene acceso a todos los materiales clave necesarios para calcularla).
- Protección contra lectura
G9( Perfect Forward Secrecy en inglés ) El compromiso de las claves a largo plazo no conduce al compromiso de las claves de sesión antiguas.
- G10 Generación de nuevas claves
( Derivación de clave nueva en inglés ) Uso de la gestión dinámica de claves para obtener claves de sesión nuevas.
- G11 Capacidad segura para negociar parámetros de seguridad
( ing. Negociación de capacidades seguras ) Detección de capacidades criptográficas y preferencias de los participantes, así como negociación de parámetros de seguridad (como la fuerza de la clave y los cifrados).
- Privacidad G12
( Confidencialidad en inglés , Secreto ) Una garantía de que un mensaje o parte de él no estará disponible ni se divulgará a participantes no autorizados ni a un atacante.
- Anonimato :
- G13 Protección de la identidad de los no participantes (no vinculante)
( ing. Protección de la identidad contra los espías ) Un atacante que no sea un participante legítimo en el protocolo no debería poder asociar un mensaje intercambiado por una parte con la identidad real de esa parte.
- G14 Protección de la identidad de los participantes
( Ing. Identity Protection Against Peer ) Un participante legítimo en el protocolo no debería poder asociar un mensaje transmitido por un lado con la identidad real de ese lado.
- Seguridad contra
ataques de denegación de servicio G15 (limitada)
- ( Inglés (Limitado) Resistencia a la denegación de servicio ) Resistencia DoS. Difícil de verificar, ya que el protocolo puede estar sujeto a ataques DoS por varias razones, la más común de las cuales es el consumo de demasiados recursos (memoria, potencia de procesamiento) antes de que un participante se autentique. Pero hay muchas otras razones: entre otras cosas, los protocolos pueden ser vulnerables a un ataque DoS en la asignación de memoria, la potencia de procesamiento.
- G16 Invariancia
del emisor
- ( Invariancia del remitente ing. ) La parte gana la confianza de que la fuente del mensaje sigue siendo la misma que la que inició el mensaje.
- La imposibilidad de renunciar a acciones previamente comprometidas:
- G17 Rendición
de cuentas( Rendición de cuentas en inglés ) Garantiza que las acciones del participante puedan ser rastreadas sin ambigüedades.
- Prueba de origen
G18( Prueba de origen en inglés ) Prueba irrefutable del envío de un mensaje.
- Prueba de beneficiario
G19( ing. Prueba de Entrega ) Prueba irrefutable de la recepción del mensaje.
- G20 Propiedad temporal segura
( Propiedad temporal de seguridad en inglés ) La capacidad de usar el operador en algún momento en el pasado para describir la relación entre rondas de protocolo. Por ejemplo, si un usuario quiere escuchar música en un servicio, en algún momento del pasado tuvo que pagar una suscripción.
Notas
- ↑ Alfred J. Menezes , Paul C. van Oorschot , Scott A. Vanstone. Manual de Criptografía Aplicada . - CRC Press, 1996. - S. 1-2. — 816 pág. - ISBN 0-8493-8523-7 . Archivado el 1 de diciembre de 2021 en Wayback Machine .
- ↑ Ronald L. Rivest , Adi Shamir. Cómo exponer a un espía // Comunicaciones del ACM. - 1984. - Abril ( núm. 27 ). - Pág. 393-394 .
- ↑ Roger M. Needham , Michael D. Schroeder. Uso de encriptación para autenticación en grandes redes de computadoras // Comunicaciones del ACM. - 1978. - Diciembre. - S. 993-999 .
- ↑ Bruce Schneier. Criptografía aplicada . - John Wiley & Sons, 1996. - 784 p. - ISBN 978-1-119-09672-6 . Archivado el 18 de noviembre de 2021 en Wayback Machine .
- ↑ 1 2 3 Cheryomushkin A. V. Protocolos criptográficos: propiedades básicas y vulnerabilidades // Matemáticas discretas aplicadas: Aplicación. - 2009. - Noviembre ( Nº 2 ).
- ↑ 1 2 3 4 5 6 7 8 9 10 Vladimirov S.M. y otros Libro de texto sobre seguridad de la información del Departamento de Ingeniería de Radio y Sistemas de Control del Instituto de Física y Tecnología de Moscú (6 de septiembre de 2013). Consultado el 5 de octubre de 2021. Archivado desde el original el 5 de octubre de 2021. (Ruso)
- ↑ 1 2 3 Yashchenko V.V. , Varnovsky N.P. , Nesterenko Yu.V. , Kabatyansky G.A. , Devyanin P.N. , Proskurin V.G. , Cheremushkin A.V. , Gyrdymov P.A. Zubov A. Yu. Zyazin A. V. , Ovchinnikov V. N. Ed , Anokhin M / I. Introducción a la criptografía edición V. V. Yashchenko . - 2012. - S. 45. - 348 p. - ISBN 978-5-4439-0026-1 . Archivado el 17 de noviembre de 2021 en Wayback Machine .
- ↑ Shakhanova M. V. , Varlataya S. K. Métodos criptográficos y medios para garantizar la seguridad de la información. Complejo de formación y metodología. / Revisores: Kornyushin P. N. , Glushkov S. V. . - Universidad Técnica Estatal del Lejano Oriente: Prospekt LLC, 2015. Archivado el 17 de noviembre de 2021 en Wayback Machine .
- ↑ Propiedades (Objetivos) (inglés) (enlace no disponible) . Grupo de Trabajo de Ingeniería de Internet . Consultado el 4 de noviembre de 2021. Archivado desde el original el 23 de marzo de 2019.