stringtranslate.com

Protocolo de enclavamiento

En criptografía , el protocolo de interbloqueo , tal como lo describen Ron Rivest y Adi Shamir , es un protocolo diseñado para frustrar los ataques de espionaje contra dos partes que utilizan un protocolo de intercambio de claves anónimo para proteger su conversación. En otro artículo se propuso utilizarlo como protocolo de autenticación, pero posteriormente se rompió.

Breve historia

La mayoría de los protocolos criptográficos dependen del establecimiento previo de claves o contraseñas secretas o públicas. Sin embargo, el protocolo de intercambio de claves Diffie-Hellman introdujo el concepto de que dos partes establecieran un canal seguro (es decir, con al menos algunas propiedades de seguridad deseables) sin ningún acuerdo previo. Se sabe desde hace tiempo que el protocolo Diffie-Hellman no autenticado, como protocolo de acuerdo de claves anónimo, está sujeto a ataques de intermediarios . Sin embargo, el sueño de un canal seguro "sin cremallera" y autenticado mutuamente permaneció vigente.

El Protocolo Interlock fue descrito [1] como un método para exponer a un intermediario que pudiera intentar comprometer a dos partes que utilizan un acuerdo de clave anónima para proteger su conversación.

Cómo funciona

El protocolo Interlock funciona aproximadamente de la siguiente manera:

  1. Alice encripta su mensaje con la clave de Bob y luego envía la mitad de su mensaje encriptado a Bob.
  2. Bob cifra su mensaje con la clave de Alice y le envía la mitad de su mensaje cifrado a Alice.
  3. Luego, Alice envía la otra mitad de su mensaje a Bob, quien envía la otra mitad del suyo.

La fuerza del protocolo reside en el hecho de que la mitad de un mensaje cifrado no puede descifrarse. Por lo tanto, si Mallory inicia su ataque e intercepta las claves de Bob y Alice, Mallory no podrá descifrar la mitad del mensaje de Alice (cifrado con su clave) y volver a cifrarlo con la clave de Bob. Debe esperar hasta que haya recibido ambas mitades del mensaje para leerlo, y solo puede lograr engañar a una de las partes si redacta un mensaje completamente nuevo.

El ataque de Bellovin/Merritt

Davies y Price propusieron el uso del Protocolo Interlock para la autenticación en un libro titulado Security for Computer Networks. [2] Pero Steven M. Bellovin y Michael Merritt describieron un ataque a este protocolo . [3] Ellison propuso un refinamiento posterior. [4]

El ataque Bellovin/Merritt implica la redacción de un mensaje falso para enviarlo a la primera parte. Las contraseñas se pueden enviar mediante el protocolo de interbloqueo entre A y B de la siguiente manera:

DeEa,b(Pa)<1>-------><-------Ea,b(Pb)<1>Ea,b(Pa)<2>-------><-------Ea,b(Pb)<2>

donde Ea,b(M) es el mensaje M cifrado con la clave derivada del intercambio Diffie-Hellman entre A y B, <1>/<2> denotan la primera y la segunda mitad, y Pa/Pb son las contraseñas de A y B.

Un atacante, Z, podría enviar la mitad de un mensaje falso (P?) para obtener Pa de A:

AZOEa,z(Pa)<1>------><------Ea,z(P?)<1>Ea,z(Pa)<2>------> Ez,b(Pa)<1>------> <------Ez,b(Pb)<1> Ez,b(Pa)<2>------> <------Ez,b(Pb)<2>

En este punto, Z ha comprometido tanto a Pa como a Pb. El ataque puede ser derrotado verificando las contraseñas en partes, de modo que cuando se envíe Ea,z(P?)<1>, se sepa que no es válida y Ea,z(Pa)<2> nunca se envíe (sugerido por Davies). Sin embargo, esto no funciona cuando las contraseñas están cifradas, ya que la mitad de un hash es inútil, según Bellovin. [3] También hay varios otros métodos propuestos en [5] [6] [7] [8], incluido el uso de un secreto compartido además de la contraseña. La mejora de la latencia forzada también puede prevenir ciertos ataques.

Protocolo de interbloqueo de latencia forzada

Un protocolo de interbloqueo modificado puede requerir que B (el servidor) retrase todas las respuestas durante una duración conocida:

De¿Cómo es?<-------------KbEa,b(Ma)<1>----><----Ea,b(Mb)<1> (B retrasa la respuesta un tiempo fijo, T)Ea,b(Ma)<2>----><----Ea,b(Mb)<2> (retraso nuevamente)<----------datos

Donde "datos" son los datos cifrados que siguen inmediatamente al intercambio del Protocolo de Interbloqueo (pueden ser cualquier cosa), codificados utilizando una transformación de todo o nada para evitar la modificación en tránsito del mensaje. Ma<1> podría contener una solicitud cifrada y una copia de Ka. Ma<2> podría contener la clave de descifrado para Ma<1>. Mb<1> podría contener una copia cifrada de Kb, y Mb<2> podría contener la clave de descifrado para Mb<1> y la respuesta, como OK o NOT FOUND, y el resumen hash de los datos.

Se puede intentar un MITM utilizando el ataque descrito en el artículo de Bellovin (Z es el hombre en el medio):

AZOKa------------->Kz-------------><----------------Kz<------------KbEa,z(Ma)<1>----><----Ea,z(Mz)<1> (respuesta retardada)Ea,z(Ma)<2>----> Ez,b(Ma)<1>-----> <-----Ez,b(Mb)<1> (respuesta retardada)<----Ea,z(Mz)<2> Ez,b(Ma)<2>-----> <-----Ez,b(Mb)<2> (respuesta retardada) <------------datos<----------datos

En este caso, A recibe los datos aproximadamente después de 3*T, ya que Z tiene que realizar el intercambio de enclavamiento con B. Por lo tanto, se puede detectar el intento de ataque MITM y abortar la sesión.

Por supuesto, Z podría optar por no realizar el protocolo de interbloqueo con B (y optar por enviar su propio Mb), pero entonces la sesión sería entre A y Z, no A, Z y B: Z no estaría en el medio. Por este motivo, el protocolo de interbloqueo no se puede utilizar de forma eficaz para proporcionar autenticación, aunque puede garantizar que ningún tercero pueda modificar los mensajes en tránsito sin ser detectado.

Véase también

Referencias

  1. ^ R. Rivest y A. Shamir. Cómo desenmascarar a un espía. CACM, vol. 27, abril de 1984, págs. 393-395. [1]
  2. ^ DW Davies y WL Price. Seguridad para redes informáticas. John Wiley & Sons, segunda edición, 1989.
  3. ^ ab SM Bellovin y M. Merritt. Un ataque al protocolo Interlock cuando se utiliza para autenticación (PDF). IEEE Transactions on Information Theory, v. 40, n. 1, enero de 1994, págs. 273-275.
  4. ^ C. Ellison. Cómo establecer la identidad sin autoridades de certificación. Actas del sexto simposio anual de seguridad de USENIX, San José, julio de 1996, págs. 67-76.
  5. ^ RH Morris y K. Thompson, "Seguridad de contraseñas en Unix", Communications of the ACM , vol. 22, p. 594, noviembre de 1979
  6. ^ FT Grampp y R. H Morris, "Seguridad del sistema operativo Unix", AT&T Bell Laboratories Technical Journal , vol. 63, págs. 1649-1672, octubre de 1984
  7. ^ DV Klein, "Frustrar al cracker: un estudio y mejoras en la seguridad de las contraseñas", en Actas del taller de seguridad de UNIX de USENIX (Portland), págs. 5-14, agosto de 1990
  8. ^ P. Leong y C. Tham, "El cifrado de contraseñas de Unix se considera inseguro" en Proc. Conferencia de invierno de USENIX (Dallas), 1000

Enlaces externos