Rana de boca ancha

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 17 de diciembre de 2021; la verificación requiere 1 edición . 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

Wide-Mouth Frog es quizás el protocolo más simple para el intercambio de claves simétricas utilizando un servidor confiable. (Alice) y (Bob) comparten una clave secreta con (Trent). En este protocolo, las claves se utilizan solo para su distribución y no para cifrar mensajes [1] .

Historia

El protocolo se atribuye a Michael Burrows y se  publicó por primera vez en Michael Burrows, Martin Abadi y Roger Needham. Una lógica de autenticación" [2] en 1989. En 1997 , Gavin Lowe ( científico informático) en su trabajo "A Family of Attacks upon Authentication Protocols" [3] propuso un protocolo Wide-Mouthed Frog modificado ( Lowe modified Wide-Mouthed frog protocol ), que corrige algunas vulnerabilidades.   

Protocolo de la rana de boca ancha [4]

Para iniciar una sesión de mensajería, Alice cifra la concatenación de la marca de tiempo, la ID de Bob y una clave de sesión aleatoria generada. La clave de cifrado es una clave conocida por Alice y Trent, un servidor de confianza intermedio. Después de eso, Alice le da su nombre (en texto claro) y datos encriptados a Trent.

Trent descifra el paquete con la clave compartida con Alice, selecciona una clave de sesión aleatoria generada por Alice y concatena la nueva marca de tiempo, el identificador de Alice y la clave de sesión, luego lo cifra con la clave compartida con Bob y se la envía.

Después de eso, Bob descifra el paquete de datos con la clave compartida con Trent y puede usar la clave de sesión aleatoria generada por Alice para transferir los datos.

Ataques al Protocolo de la Rana de Boca Ancha

Ataque de 1995

En 1995, Ross Anderson y Roger Needham propusieron el siguiente algoritmo de ataque de protocolo :

  1. ,

donde I(Alice) y I(Bob) son un atacante que imita a Alice y Bob, respectivamente.

La falla en el protocolo es que Trent actualiza su marca de tiempo a partir de la marca de tiempo de Alice . Es decir, siempre que Trent no mantenga una lista de todas las claves y etiquetas que funcionan, un atacante puede mantener las claves en funcionamiento utilizando Trent como predictor.

El efecto práctico de esta deficiencia dependerá de la aplicación. Por ejemplo, si los usuarios utilizan una tarjeta inteligente con este protocolo, que envía la clave de sesión en texto sin formato a la rutina de cifrado masivo del software , las claves pueden quedar expuestas a este ataque. Un atacante puede ver a Alice y Bob realizar sesiones y mantener las claves funcionando hasta que sea posible robar una tarjeta inteligente [5] .  

Ataque de 1997

En 1997, Gavin Lowe propuso otro ataque a este protocolo, basado en que el atacante hace pensar a Bob que Alice ha establecido dos sesiones de intercambio, mientras que Alice establece una sesión. El ataque involucra dos pases de protocolo intercalados, que llamaremos y , denotaremos, por ejemplo, el segundo mensaje de sesión \alpha como Entonces el ataque se ve así:

  1. ,

donde I(Trent) es un atacante que imita a Trent.

La sesión representa el curso normal del intercambio de claves cuando Alice establece una sesión con Bob usando la clave . Luego, en el mensaje , el atacante imita a Trent y repite el mensaje ; con lo cual Bob cree que Alice está tratando de iniciar una segunda sesión.

Además, el atacante puede reproducir el mensaje a Trent como el mensaje de la próxima sesión. Esto hará que Bob reciba un segundo mensaje, con el mismo resultado que antes.

Esta vulnerabilidad se corrige mediante el protocolo de rana de boca ancha modificado ( protocolo de rana de boca ancha modificado por Lowe ) [3] . 

Protocolo de rana de boca ancha modificado

Esta modificación fue propuesta por Gavin Lowe para eliminar la vulnerabilidad al ataque de 1997. Se parece a esto:

Estos cambios evitarán los ataques de 1997: Bob generará dos nonces diferentes, uno para cada sesión, y esperará como respuesta el mensaje 4. Al mismo tiempo, Alice devolverá solo uno de esos mensajes, y el atacante no podrá generar otro.

Desafortunadamente, esta modificación elimina la característica más atractiva del protocolo de rana de boca ancha: la simplicidad [3] .

Características

Notas

  1. Pranav Vyas, Dra. Bhushan Trivedi, 2012 .
  2. M. Burrows, M. Abadi, R. Needham, 1989 .
  3. 1 2 3 Gavin Lowe, 1997 .
  4. Bruce Schneier, 2002 .
  5. Ross Anderson y Roger Needham .

Literatura