El protocolo de interbloqueo , como lo describieron Ron Rivest y Adi Shamir , fue diseñado para frustrar el ataque de espías contra dos partes que utilizan un protocolo de intercambio de claves anónimo para asegurar su conversación. Otro documento propuso utilizarlo como protocolo de autenticación, que posteriormente se rompió.
Breve historia
La mayoría de los protocolos criptográficos se basan en el 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 dos partes que establecen un canal seguro (es decir, con al menos algunas propiedades de seguridad deseables) sin ningún acuerdo previo de ese tipo. Se sabe desde hace mucho tiempo que Diffie-Hellman no autenticado, como protocolo de acuerdo de clave anónimo, está sujeto al ataque del hombre en el medio . Sin embargo, el sueño de un canal seguro "sin cremallera" autenticado mutuamente permaneció.
El Protocolo de enclavamiento se describió [1] como un método para exponer a un intermediario que podría intentar comprometer a dos partes que utilizan un acuerdo de clave anónima para asegurar su conversación.
Cómo funciona
El protocolo de interbloqueo funciona de la siguiente manera:
- Alice encripta su mensaje con la clave de Bob, luego envía la mitad de su mensaje encriptado a Bob.
- Bob encripta su mensaje con la clave de Alice y envía la mitad de su mensaje encriptado a Alice.
- Alice luego envía la otra mitad de su mensaje a Bob, quien envía la otra mitad del suyo.
La fuerza del protocolo radica en el hecho de que la mitad de un mensaje cifrado no se puede descifrar. Por lo tanto, si Mallory comienza su ataque e intercepta las claves de Bob y Alice, Mallory no podrá descifrar el medio mensaje de Alice (cifrado con su clave) y volver a cifrarlo con la clave de Bob. Debe esperar hasta que se hayan recibido ambas mitades del mensaje para leerlo, y solo podrá engañar a una de las partes si redacta un mensaje completamente nuevo.
El ataque Bellovin / Merritt
Davies y Price propusieron el uso del Interlock Protocol para la autenticación en un libro titulado Security for Computer Networks. [2] Pero Steven M. Bellovin y Michael Merritt describieron un ataque a esto . [3] Ellison propuso un refinamiento posterior. [4]
El ataque Bellovin / Merritt implica redactar un mensaje falso para enviar a la primera parte. Las contraseñas se pueden enviar utilizando el Protocolo de enclavamiento entre A y B de la siguiente manera:
ABEa, b (Pa) <1> -------><------- Ea, b (Pb) <1>Ea, b (Pa) <2> -------><------- Ea, b (Pb) <2>
donde Ea, b (M) es el mensaje M encriptado con la clave derivada del intercambio Diffie-Hellman entre A y B, <1> / <2> denotan la primera y segunda mitades, 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:
AZBEa, 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 Pa como Pb. El ataque se puede derrotar verificando las contraseñas en partes, de modo que cuando se envía Ea, z (P?) <1>, se sabe que no es válido y Ea, z (Pa) <2> nunca se envía (sugerido por Davies). Sin embargo, esto no funciona cuando las contraseñas tienen hash, 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] que incluyen el uso de un secreto compartido además de la contraseña. La mejora de latencia forzada también puede prevenir ciertos ataques.
Protocolo de enclavamiento de latencia forzada
Un protocolo de interbloqueo modificado puede requerir que B (el servidor) retrase todas las respuestas durante un tiempo conocido:
ABKa -------------><------------- KbEa, b (Ma) <1> ----><---- Ea, b (Mb) <1> (B retrasa la respuesta un tiempo fijo, T)Ea, b (Ma) <2> ----><---- Ea, b (Mb) <2> (retrasar de nuevo)<---------- datos
Donde "datos" son los datos encriptados que siguen inmediatamente al intercambio del Protocolo de Interbloqueo (podría ser cualquier cosa), codificados usando 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 de hash de los datos.
MITM se puede intentar usando el ataque descrito en el artículo de Bellovin (Z es el hombre en el medio):
AZBKa -------------> 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 enclavamiento con B (optando por enviar su propio Mb) pero entonces la sesión sería entre A y Z, no entre A, Z y B: Z no estaría en el medio . Por esta razón, 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.
Ver también
Referencias
- ^ R. Rivest y A. Shamir. Cómo exponer a un fisgón. CACM, vol. 27, abril de 1984, págs. 393-395. [1]
- ^ DW Davies y WL Price. Seguridad para redes informáticas. John Wiley & Sons, segunda ed., 1989.
- ^ a b S. M. Bellovin y M. Merritt. Un ataque al protocolo de enclavamiento cuando se usa para autenticación (PDF). Transacciones IEEE sobre teoría de la información, v. 40, n. 1, enero de 1994, págs. 273-275.
- ^ C. Ellison. Establecimiento de identidad sin autoridades de certificación. Actas del Sexto Simposio Anual de Seguridad de USENIX, San José, julio de 1996, págs. 67-76.
- ^ RH Morris y K. Thompson, "Seguridad de contraseña de Unix", Comunicaciones del ACM , vol. 22, pág. 594, noviembre de 1979
- ^ FT Grampp y R. H Morris, "Seguridad del sistema operativo Unix", Revista técnica de AT&T Bell Laboratories , vol. 63 págs.1649-1672, octubre de 1984
- ^ DV Klein, "Foiling the cracker": Un estudio y mejoras en la seguridad de las contraseñas ", en Proceedings of the USENIX UNIX Security Workshop , (Portland), págs. 5 a 14, agosto de 1990
- ^ P. Leong y C. Tham, "El cifrado de contraseña de Unix se considera inseguro" en Proc. Conferencia de invierno de USENIX , (Dallas), 1000