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] :

Para escribir primitivas, se acostumbra usar la siguiente notación [6] :

Ejemplos de uso de la notación [6] :

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] :

  1. Clasificación por número de participantes:
    • bilateral
    • trilátero
    • multilateral
  2. Clasificación por el número de mensajes transmitidos:
    • interactivo (hay un intercambio mutuo de mensajes)
    • no interactivo (transmisión única)
  3. 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
  4. Clasificación según el tipo de sistemas criptográficos utilizados:
  5. 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] :

Tipos de ataques a protocolos criptográficos

  1. 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] .
  2. 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] .
  3. 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] .
  4. 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] :

  1. 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.
  2. 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í.
  3. 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.
  4. 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).
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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

  1. 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 .
  2. Ronald L. Rivest , Adi Shamir. Cómo exponer a un espía  //  Comunicaciones del ACM. - 1984. - Abril ( núm. 27 ). - Pág. 393-394 .
  3. 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 .
  4. 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 .
  5. ↑ 1 2 3 Cheryomushkin A. V. Protocolos criptográficos: propiedades básicas y vulnerabilidades  // Matemáticas discretas aplicadas: Aplicación. - 2009. - Noviembre ( Nº 2 ).
  6. ↑ 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.
  7. ↑ 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 .
  8. 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 .
  9. 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.