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 DASS ( Servicio de seguridad de autenticación distribuida ) es un protocolo de distribución de clave de sesión y autenticación asimétrica que utiliza una parte intermedia de confianza.
El protocolo DASS formaba parte del Servicio de autenticación distribuida DASS desarrollado por Digital Equipment Corporation y descrito en RFC 1507 [1] en septiembre de 1993.
En el protocolo DASS, similar a los protocolos Wide-Mouth Frog y Denning-Sacco , el iniciador (Alice) genera una nueva clave de sesión y, para cada sesión de protocolo, un nuevo par de claves pública/privada del remitente. La autoridad de confianza (Trent) se utiliza como depósito para los certificados de clave pública de los participantes. Pero a diferencia de Denning - Sacco, ambos participantes recurren al centro de confianza [2] .
Alice envía un mensaje a Trent pidiendo la clave pública de Bob
Trent envía la clave pública de Bob, firmándola con su clave privada.
Alice verifica los datos usando la clave pública de Trent que ella conoce de antemano, luego de lo cual genera una clave de sesión , un par de claves de sesión y envía un conjunto de mensajes a Bob, incluida una marca de tiempo y la duración de la clave , encriptando algunos de ellos, firmando algunos:
Bob envía una solicitud a Trent para obtener la clave pública de Alice.
Trent envía la clave pública de Alice, firmándola con su clave privada.
Usando los datos de los mensajes de Alice y Trent, Bob verifica las firmas de Alice, extrae la clave temporal pública , extrae la clave de sesión (verificando también la firma usando ) y descifra asegurándose de que usa el mensaje actual y no una repetición.
Si es necesario, se puede continuar con el protocolo, proporcionando identificación mutua de las partes:
Alice descifra la marca de tiempo y se asegura de haber recibido el mensaje actual [3] .
La descripción del protocolo sigue el principio APTC, que elimina las diferencias en las estructuras del sistema de transición, la estructura de eventos, etc., y considera sus equivalentes de comportamiento. Él cree que hay dos tipos de relaciones causales: orden cronológico, modelado por composición secuencial, y orden causal entre diferentes ramas paralelas, modelado por fusión de comunicación. También cree que existen dos tipos de relaciones conflictivas: el conflicto estructural, modelado por una posición alternativa, y los conflictos en distintas ramas paralelas que deben ser eliminadas. Basado en una extensión conservadora, IPTC tiene cuatro módulos: BATC (Álgebra básica para la concurrencia real), APTC (Álgebra para el paralelismo en la concurrencia real), recursividad y abstracción. Leer más… [4]
El protocolo usa el tiempo de vida (𝐿) de la clave de sesión 𝐾𝑃, pero no se incluye una marca de tiempo en el mensaje. Como resultado, el protocolo sigue siendo vulnerable a un ataque conocido de clave de sesión (KN). Suponga que Mallory pudo grabar la sesión de comunicación completa entre Alice y Bob, y luego pudo acceder a la clave de sesión 𝐾. Esto le permite a Mallory autenticarse como Alice ante Bob.
(1) 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒) → {𝐸𝐾 (𝑇𝑀), 𝑆𝐴 (𝐿, 𝐴, 𝐾𝑃), 𝑆𝐾𝑃 (𝐸𝐵 (𝐾))} 𝐵𝑜𝑏 𝐵𝑜𝑏 𝐵𝑜𝑏 𝐵𝑜𝑏
(2) 𝐵𝑜𝑏 → {𝐴} → 𝑇𝑟𝑒𝑛𝑡
(3) 𝑇𝑟𝑒𝑛𝑡 → {𝑆𝑇 (𝐴, 𝐾𝐴)} → 𝐵𝑜𝑏
(4) 𝐵𝑜𝑏 → {𝐸𝐾 {𝑇𝐵}} → 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒)
En la primera pasada, Mallory solo cambia el primer mensaje que contiene la marca de tiempo 𝐸𝐾 (𝑇𝑀). Todo lo demás, Mallory lo copia de la sesión de comunicación grabada. Si Bob no anota las teclas que usa, no notará el cambio. La solución más sencilla para esta vulnerabilidad es incluir una marca de tiempo en el mensaje 𝑆𝐴 (𝑇𝐴, 𝐿, 𝐴, 𝐾𝑃).
Dado que en el protocolo la clave de sesión 𝐾 está encriptada por la clave "maestra" de Bob 𝐾𝐵, el compromiso de esta última conducirá al compromiso de todas las claves de sesión utilizadas anteriormente. Es decir, el protocolo no proporciona un secreto directo perfecto (Objetivo G9). Ni Trent ni Bob participan en la generación de nuevas claves de sesión. Por lo tanto, Alice puede obligar a Bob a usar la clave de sesión anterior, como en los protocolos Wide-Mouth Frog y Yahalom [2] .
Protocolos de autenticación e intercambio de claves | |
---|---|
Con algoritmos simétricos | |
Con algoritmos simétricos y asimétricos | |
Protocolos y servicios utilizados en Internet |