stringtranslate.com

Protocolo Needham-Schroeder

Esquema del protocolo Needham-Schroeder simétrico

El protocolo Needham-Schroeder es uno de los dos protocolos de transporte clave pensados ​​para su uso en redes inseguras, ambos propuestos por Roger Needham y Michael Schroeder . [1] Estos son:

Protocolo simétrico

Aquí , Alice inicia la comunicación con Bob . Es un servidor en el que ambas partes confían. En la comunicación:

El protocolo se puede especificar de la siguiente manera en la notación de protocolo de seguridad :

Alice envía un mensaje al servidor identificándose a sí misma y a Bob, diciéndole al servidor que desea comunicarse con Bob.
El servidor genera y envía de vuelta a Alice una copia cifrada para que Alice la reenvíe a Bob y también una copia para Alice. Dado que Alice puede estar solicitando claves para varias personas diferentes, el nonce le asegura a Alice que el mensaje es nuevo y que el servidor está respondiendo a ese mensaje en particular y la inclusión del nombre de Bob le dice a Alice con quién compartirá esta clave.
Alice envía la clave a Bob, quien puede descifrarla con la clave que comparte con el servidor, autenticando así los datos.
Bob le envía a Alice un nonce cifrado para demostrar que tiene la clave.
Alice realiza una operación simple en el nonce, lo vuelve a cifrar y lo envía de vuelta verificando que todavía está viva y que tiene la clave.

Ataques al protocolo

El protocolo es vulnerable a un ataque de repetición (como lo identificaron Denning y Sacco [2] ). Si un atacante usa un valor más antiguo y comprometido para ⁠ ⁠ , puede reproducir el mensaje a Bob, quien lo aceptará, sin poder saber que la clave no es nueva.

Arreglando el ataque

Esta falla se corrige en el protocolo Kerberos mediante la inclusión de una marca de tiempo . También se puede corregir con el uso de nonces como se describe a continuación. [3] Al comienzo del protocolo:

Alice le envía una solicitud a Bob.
Bob responde con un nonce encriptado bajo su clave con el Servidor.
Alice envía un mensaje al servidor identificándose a sí misma y a Bob, diciéndole al servidor que desea comunicarse con Bob.
Tenga en cuenta la inclusión del nonce.

El protocolo continúa luego como se describe a través de los tres pasos finales como se describe en el protocolo original anterior. Tenga en cuenta que es un nonce diferente de . La inclusión de este nuevo nonce evita la reproducción de una versión comprometida de ya que dicho mensaje tendría que ser de un formato que el atacante no pueda falsificar ya que no tiene .

Protocolo de clave pública

Esto supone el uso de un algoritmo de cifrado de clave pública .

Aquí, Alice y Bob utilizan un servidor de confianza para distribuir claves públicas a pedido. Estas claves son:

El protocolo funciona de la siguiente manera:

solicita las claves públicas de .​
responde con la clave pública junto con la identidad de ⁠ , firmada por el servidor para fines de autenticación.
elige uno al azar y lo envía a .
Ahora sabe que A quiere comunicarse, por lo que solicita las claves públicas de .
El servidor responde.
elige un ⁠ ⁠ aleatorio y lo envía a junto con para demostrar la capacidad de descifrar con .
confirma que , demuestra la capacidad de descifrar con .

Al final del protocolo, y conocer las identidades de cada uno, y conocer ambos y . Estos nonces no son conocidos por los espías.

Un ataque al protocolo

Este protocolo es vulnerable a un ataque de intermediario . Si un impostor puede persuadirlos para que inicien una sesión con ellos, pueden retransmitirles los mensajes y convencerlos de que se están comunicando con ellos .

Ignorando el tráfico hacia y desde , que no cambia, el ataque se ejecuta de la siguiente manera:

envía a , quien descifra el mensaje con .
transmite el mensaje a ⁠ ⁠ , simulando que se está comunicando.
Envía .
lo transmite a ⁠ ⁠ .
lo descifra y lo confirma a quien lo aprende.
vuelve a cifrarlo y la convence de que lo ha descifrado.

Al final del ataque, cree falsamente que se está comunicando con él, y que y son conocidos sólo por y .

El siguiente ejemplo ilustra el ataque. Alice ( ⁠ ⁠ ) desea contactar con su banco ( ⁠ ⁠ ). Suponemos que un impostor ( ⁠ ⁠ ) convence con éxito de que es el banco. Como consecuencia, usa la clave pública de en lugar de usar la clave pública de para cifrar los mensajes que pretende enviar a su banco. Por lo tanto, envía su nonce cifrado con la clave pública de . descifra el mensaje usando su clave privada y contacta enviándole el nonce de cifrado con la clave pública de . no tiene forma de saber que este mensaje fue realmente enviado por . responde con su propio nonce y cifra el mensaje con la clave pública de . Dado que no está en posesión de la clave privada de , tiene que retransmitir el mensaje a sin conocer el contenido. A descifra el mensaje con su clave privada y responde con el nonce de encrypted con la clave pública de . descifra el mensaje usando su clave privada y ahora está en posesión de nonce y . Por lo tanto, ahora pueden hacerse pasar por el banco y el cliente respectivamente.

Cómo solucionar el ataque del hombre en el medio

El ataque fue descrito por primera vez en un artículo de 1995 de Gavin Lowe . [4] El artículo también describe una versión corregida del esquema, conocida como el protocolo Needham–Schroeder–Lowe . La solución implica la modificación del mensaje seis para incluir la identidad del respondedor, es decir, reemplazamos:

con la versión corregida:

y el intruso no puede reproducir exitosamente el mensaje porque A espera un mensaje que contenga la identidad de I mientras que el mensaje tendrá la identidad de ⁠ ⁠ .

Véase también

Referencias

  1. ^ Needham, Roger; Schroeder, Michael (diciembre de 1978). "Uso de cifrado para autenticación en grandes redes de computadoras". Comunicaciones de la ACM . 21 (12): 993–999. CiteSeerX 10.1.1.357.4298 . doi :10.1145/359657.359659. S2CID  7704786. 
  2. ^ Denning, Dorothy E. ; Sacco, Giovanni Maria (1981). "Marcas de tiempo en protocolos de distribución de claves". Comunicaciones de la ACM . 24 (8): 533–535. doi : 10.1145/358722.358740 . S2CID  3228356.
  3. ^ Needham, RM ; Schroeder, MD (1987). "Autenticación revisada". Revisión de sistemas operativos ACM SIGOPS . 21 (1): 7. doi : 10.1145/24592.24593 . S2CID  33658476.
  4. ^ Lowe, Gavin (noviembre de 1995). "Un ataque al protocolo de autenticación de clave pública Needham-Schroeder". Information Processing Letters . 56 (3): 131–136. CiteSeerX 10.1.1.394.6094 . doi :10.1016/0020-0190(95)00144-2 . Consultado el 17 de abril de 2008 . 

Enlaces externos