
El protocolo Needham-Schroeder es uno de los dos protocolos de transporte clave destinados a ser utilizados sobre una red insegura, ambos propuestos por Roger Needham y Michael Schroeder . [ 1 ] Estos son:
- El protocolo de clave simétrica Needham-Schroeder , basado en un algoritmo de cifrado simétrico , constituye la base del protocolo Kerberos . Este protocolo tiene como objetivo establecer una clave de sesión entre dos partes en una red, generalmente para proteger las comunicaciones posteriores.
- El protocolo de clave pública Needham-Schroeder se basa en la criptografía de clave pública . Este protocolo pretende proporcionar autenticación mutua entre dos partes que se comunican en una red, pero en su forma propuesta es inseguro.
Protocolo simétrico
Aquí tienes, Alicia.inicia la comunicación con Bob.es un servidor de confianza para ambas partes. En la comunicación:
- yson las identidades de Alice y Bob respectivamente
- es una clave simétrica conocida solo pory
- es una clave simétrica conocida solo pory
- yson nonces generados poryrespectivamente
- es una clave generada simétrica, que será la clave de sesión de la sesión entrey
El protocolo se puede especificar de la siguiente manera en notación de protocolo de seguridad :
- Alice envía un mensaje al servidor identificándose a sí misma y a Bob, indicándole al servidor que desea comunicarse con Bob.
- El servidor generay le envía a Alice una copia encriptada bajopara que Alice se lo reenvíe a Bob y también para Alice. Dado que Alice puede estar solicitando claves para varias personas diferentes, el nonce le asegura a Alice que el mensaje es reciente y que el servidor está respondiendo a ese mensaje en particular, y la inclusión del nombre de Bob le indica a Alice con quién debe compartir esta clave.
- Alice le 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 bajopara demostrar que tiene la llave.
- Alice realiza una operación sencilla con el nonce, lo vuelve a encriptar y lo envía de vuelta, verificando que sigue viva y que posee 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 utiliza un valor anterior y comprometido para , entonces puede reproducir el mensajea Bob, quien la aceptará, sin poder darse cuenta de que la llave no es nueva.
Solucionando el ataque
Este fallo 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 petición a Bob.
- Bob responde con un nonce cifrado bajo su clave con el servidor.
- Alice envía un mensaje al servidor identificándose a sí misma y a Bob, indicándole al servidor que desea comunicarse con Bob.
- Nótese la inclusión del nonce.
El protocolo continúa entonces como se describe a través de los tres últimos pasos tal como se describe en el protocolo original anterior . Tenga en cuenta quees un nonce diferente de . La inclusión de este nuevo nonce impide la reproducción de una versión comprometida deya que dicho mensaje tendría que ser de la formaque el atacante no puede falsificar ya que no tiene.
Protocolo de clave pública
Esto presupone el uso de un algoritmo de cifrado de clave pública .
Aquí tienes, Alicia.y BobUtilice un servidor de confianza.para distribuir claves públicas a petición. Estas claves son:
- y , respectivamente las mitades pública y privada de un par de claves de cifrado perteneciente a(significa "clave secreta" aquí)
- y , similar perteneciente a
- y , similar perteneciente a . (Tenga en cuenta que este par de claves se utilizará para firmas digitales , es decir,utilizado para firmar un mensaje yutilizado para verificación. debe ser conocidoyantes de que comience el protocolo.)
El protocolo funciona de la siguiente manera:
- solicitudesClaves públicas de .
- responde con clave públicajunto aIdentidad del usuario , firmada por el servidor con fines de autenticación.
- elige un al azary lo envía a.
- ahora sabe que A quiere comunicarse, así quesolicitudesclaves públicas de
- El servidor responde.
- elige uno al azary lo envía ajunto conpara demostrar la capacidad de descifrar con.
- confirmaa , para demostrar la capacidad de descifrar con .
Al final del protocolo,yconocer las identidades del otro y conocer ambasyEstos nonces no son conocidos por los espías.
Un ataque al protocolo
Este protocolo es vulnerable a un ataque de intermediario . Si un impostorpuede persuadirPara iniciar una sesión con ellos, pueden transmitir los mensajes ay convencerque se está comunicando con.
Ignorando el tráfico de entrada y salida, que permanece sin cambios, el ataque se desarrolla de la siguiente manera:
- envíaa , quien descifra el mensaje con .
- transmite el mensaje a , fingiendo quese está comunicando.
- envía.
- lo transmite a.
- descifray lo confirma a , quien lo aprende.
- vuelve a encriptary convenceque ella lo ha descifrado.
Al final del ataque,cree erróneamente quese está comunicando con él, y queyson conocidos únicamente pory.
El siguiente ejemplo ilustra el ataque. Alice ( ) quisiera ponerse en contacto con su banco ( ). Suponemos que un impostor ( ) convence con éxitoque ellos son el banco. En consecuencia,utiliza la clave pública deen lugar de utilizar la clave pública depara cifrar los mensajes que pretende enviar a su banco. Por lo tanto,envíasu nonce cifrado con la clave pública de .descifra el mensaje usando su clave privada y contactosenviándole el nonce decifrado con la clave pública de.no tiene forma de saber que este mensaje fue enviado realmente por.responde con su propio nonce y cifra el mensaje con la clave pública de Desdeno posee la clave privada detienen que transmitir el mensaje asin conocer el contenido. A descifra el mensaje con su clave privada y responde con el nonce decifrado con la clave pública de.descifra el mensaje usando su clave privada y ahora está en posesión del nonce.yPor lo tanto, ahora pueden suplantar la identidad del banco y del cliente, respectivamente.
Solucionando el ataque de intermediario
El ataque fue descrito por primera vez en un artículo de 1995 por Gavin Lowe . [ 4 ] El artículo también describe una versión corregida del esquema, denominada protocolo Needham-Schroeder-Lowe . La correcció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 el mensaje con éxito porque espera un mensaje que contenga la identidad de mientras que el mensaje tendrá identidad de .
Véase también
Referencias
- ↑ Needham, Roger; Schroeder, Michael (diciembre de 1978). "Uso del cifrado para la autenticación en grandes redes de computadoras" . Communications of the ACM . 21 (12): 993– 999. CiteSeerX 10.1.1.357.4298 . doi : 10.1145/359657.359659 . S2CID 7704786 .
- ↑ Denning, Dorothy E. ; Sacco, Giovanni Maria (1981). "Marcas de tiempo en protocolos de distribución de claves" . Communications of the ACM . 24 (8): 533– 535. doi : 10.1145/358722.358740 . S2CID 3228356 .
- ↑ Needham, RM ; Schroeder, MD (1987). "Autenticación revisitada" . ACM SIGOPS Operating Systems Review . 21 (1): 7. doi : 10.1145/24592.24593 . S2CID 33658476 .
- ↑ 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 . Recuperado el 17 de abril de 2008 .
Enlaces externos
- Roger Needham; Michael Schroeder (1978). "Clave pública de Needham-Schroeder" . Laboratorio de especificación y verificación.
- Roger Needham; Michael Schroeder (1978). "Clave simétrica de Needham Schroeder" . Laboratorio de especificación y verificación.
- Gavin Lowe (1995). "Versión fija de Lowe's de la clave pública de Needham-Schroder" . Laboratorio de especificación y verificación.
- Explicación del ataque de intermediario (man-in-the-middle) por Computerphile .
- Protocolos de autenticación
- Protocolos de transporte clave
- Criptografía de clave simétrica
- protocolos de control de acceso informático
- Protocolos de telecomunicaciones