Protocolo Denning-Sacco

Notaciones criptográficas utilizadas en protocolos de autenticación e intercambio de claves
Identificadores de Alice ( Alice ), la iniciadora de la sesión
Identificador de Bob ( Bob ), el lado desde el que se establece la sesión
Identificador de Trent ( Trent ), una parte intermediaria de confianza
Las claves públicas de Alice, Bob y Trent
Claves secretas de Alice, Bob y Trent
Cifrado de datos con la clave de Alice o la clave conjunta de Alice y Trent
Cifrado de datos con la clave de Bob o la clave conjunta de Bob y Trent
Cifrado de datos con claves secretas de Alice, Bob (firma digital)
Número de secuencia de la sesión (para evitar ataques de reproducción)
Clave de sesión aleatoria que se utilizará para el cifrado de datos simétrico
Cifrado de datos con una clave de sesión temporal
Marcas de tiempo añadidas a los mensajes por Alice y Bob respectivamente
Números aleatorios ( nonce ) que fueron elegidos por Alice y Bob respectivamente
Pares de claves públicas y privadas pregeneradas de Alice, Bob y Trent, respectivamente
Par de claves pública/privada de sesión aleatoria que se utilizará para el cifrado asimétrico
Firma de datos utilizando la clave privada de Alice, Bob, la parte intermedia ( Trent ) o una clave privada de un par aleatorio, respectivamente
Cifrado de datos asimétrico utilizando la clave pública de Alice, Bob, una parte intermedia ( Trent ) o una clave pública de un par aleatorio, respectivamente

El protocolo Denning-Sacco [1] es un nombre común para los protocolos de distribución de claves de partes confiables  simétricos y asimétricos .

Historia

En 1981, los empleados de la Universidad de Purdue Dorothy E. Denning y Giovanni Maria Sacco presentaron un ataque al protocolo Needham-Schroeder y propusieron su propia modificación del protocolo basada en el uso de etiquetas de tiempo [2] .

Protocolo Denning-Sacco de clave simétrica

Con el cifrado simétrico , se supone que la clave secreta que pertenece al cliente solo la conocen él y un tercero de confianza: el servidor de autenticación. Durante la ejecución del protocolo, los clientes (Alice, Bob) reciben del servidor de autenticación (Trent) una nueva clave de sesión secreta para cifrar los mensajes mutuos en la sesión de comunicación actual. Considere la implementación del protocolo Denning-Sacco con una clave simétrica [3] :

Descripción

El primer mensaje de Alice a Trent contiene los identificadores de los participantes en el próximo intercambio: Alice y Bob. Este mensaje se envía en texto sin cifrar:

Trent genera una clave de sesión y le envía a Alice un mensaje encriptado que incluye la ID de Bob, la clave de sesión, la marca de tiempo y un paquete que actúa como certificado de Alice:

Luego, Alice descifra el mensaje de Trent y envía su certificado a Bob :

Al final del protocolo, Alice y Bob tienen una clave de sesión compartida .

Alice y Bob pueden verificar que los mensajes que reciben son válidos comprobando las marcas de tiempo .

Ataque de protocolo

En 1997, Gavin Lowe presentó un ataque al protocolo [4] :

una. 2. 3. cuatro

Las acciones del atacante llevan a Bob a decidir que Alice quiere establecer una nueva conexión con él.

Modificación de protocolo

En el mismo trabajo, Low propuso una modificación de protocolo que proporciona la autenticación de Alice a Bob [4] :

una. 2. 3. cuatro 5. Después de que Bob descifra el mensaje de Alice, puede verificar que Alice posee la clave de sesión .

En el marco del protocolo, Bob no confirma de ninguna manera la recepción de una nueva clave de sesión y la capacidad de operar con ella. El mensaje de Alice en el quinto pase podría haber sido interceptado o modificado por un atacante. Pero Alice ya no espera ninguna respuesta de Bob y está segura de que el protocolo se completó con éxito.

Protocolo de clave pública Denning-Sacco

Una versión asimétrica del protocolo Denning-Sacco. El servidor de autenticación posee las claves públicas de todos los clientes. Considere la implementación del protocolo Denning-Sacco con una clave pública [5] :

Descripción

El primer mensaje de Alice a Trent contiene los identificadores de los participantes en el próximo intercambio: Alice y Bob. Este mensaje se envía en texto sin cifrar:

En respuesta, Trent envía a Alice los certificados de clave pública firmados por Alice y Bob. Además, se agregan marcas de tiempo a cada certificado:

Alice genera una nueva clave de sesión y se la envía a Bob junto con una marca de tiempo , la firma con su clave y la cifra con la clave pública de Bob, junto con los dos mensajes recibidos de Trent:

Bob verifica la firma de la CA en el certificado , descifra la clave de sesión y verifica la firma de Alice.

Ataque de protocolo

Abadi y Needham describieron un ataque al protocolo [6] en el que Bob, al recibir un mensaje de Alice, puede hacerse pasar por ella en una sesión con otro usuario. La ausencia del identificador de Bob en el mensaje de Alice hace que Bob pueda utilizar los datos recibidos de Alice para suplantar a Alice en una nueva sesión con un tercero (Clara).

una. 2. 3. cuatro 5. 6.

Clara verifica con éxito la firma de la CA en el certificado , descifra la clave de sesión y verifica la firma de Alice. Como resultado, Clara está segura de haber establecido una sesión de comunicación con Alice, ya que todos los pasos necesarios del protocolo se realizaron correctamente y todos los mensajes fueron correctos.

Notas

  1. Davydov A. N. Ataques a protocolos de establecimiento clave  // ​​Seguridad de las tecnologías de la información: Actas de la conferencia científica y técnica / ed. Volchikhina V. I., Zefirova S. L. - Penza: Editorial del Instituto Electrotécnico de Investigación de Penza, 2004. - Diciembre ( vol. 5 ). - S. 99-104 . Archivado desde el original el 19 de agosto de 2019.
  2. Denning, Sacco, 1981 .
  3. Mao, 2005 , pág. 79.
  4. 1 2 Lowe, 1997 , El protocolo de clave compartida Denning-Sacco, págs. 4-5.
  5. Mao, 2005 , pág. 429.
  6. Abadi, Needham, 1996 .

Literatura