¿Cómo se protege la mensajería OTR con Socialist Millionaire Protocol (SMP) de Man In The Middle?

7

Así que imagina la siguiente situación:

Alice desea iniciar la sesión de mensajería instantánea OTR con Bob, pero Joe es Man In The Middle.

Alice negocia una 'X' secreta compartida con Joe (pensando que él es Bob) usando Diffie-Hellman.

Joe negocia otro secreto compartido 'Y' con Bob (quien cree que Joe es Alice) usando Diffie-Hellman.

Ahora, Alice y Bob saben que han establecido la llamada "sesión OTR sin verificar", lo que significa que están encriptados pero ninguno de ellos ha verificado su identidad (ninguno de ellos sabe acerca de la existencia de Joe).

Por lo que entiendo, se supone que el Protocolo Socialista Millonario es la solución a este problema. Alice tiene que hacer coincidir su secreto 'X' con la 'Y' de Bob y, si no coinciden, sabrán que tienen a alguien (Joe) en el medio, ¿no?

De todos modos ... ¡Obviamente X! = Y porque Joe está en el medio.

Ahora, creo que entiendo los pasos en el Protocolo de los Millonarios Socialistas, pero aún así ... no puedo ver qué le impide a Joe fingir frente a Alice que él es realmente Bob y usar SMP para hacer coincidir con ella su secreto compartido. X '(que ambos saben)?

¿Me estoy perdiendo algo? ¿Qué es lo que hace que OTR con SMP esté protegido de MitM?

    
pregunta Marin 20.08.2013 - 15:30
fuente

2 respuestas

1

El problema, tal como se describe en el documento vinculado de George P, es que "vanilla" Diffie-Hellmann no proporciona autenticación como generalmente definimos el término (la capacidad de cada parte para demostrar que es la persona real u otra entidad que diga que lo son, y que la otra parte verifique esa prueba). D-H en su núcleo simplemente proporciona un medio seguro de negociación de claves en una red insegura; un observador (alguien tocando la línea y olfateando paquetes de solo lectura) no pudo descifrar la clave derivada. Sin embargo, alguien que controla un nodo entre las dos partes, un verdadero hombre en el medio, puede pretender ser cada una de las partes en comunicación con la otra, y espiar la conversación a través del descifrado y el nuevo cifrado.

Para resolver este problema usando SMP, Alice y Bob deben saber algo que Joe no conoce (un secreto compartido). Luego usan el algoritmo SMP para verificar que la otra parte conoce el mismo secreto compartido. Si los valores producidos durante la prueba coinciden, entonces cada parte ahora sabe que la otra parte conoce el mismo secreto, por lo que saben (dado que el secreto no ha sido comprometido) que han estado hablando con la persona correcta todo el tiempo, y por lo tanto saben que una o las dos claves negociadas a través de DH para la prueba SMP son seguras para usarlas como una clave simétrica para la conversación, porque estas claves son inherentes a la transmisión del secreto y no podrían haberse falsificado sin afectar el resultado de la prueba SMP.

Esta no es la única forma de agregar autenticación a los protocolos de intercambio D-H. El protocolo STS, construido sobre Diffie-Hellman, utiliza certificados de clave pública que pueden verificarse independientemente como auténticos, y agrega un par de pasos al proceso de negociación. Tan pronto como cada parte conozca la clave compartida K y, por lo tanto, conozca o pueda calcular gx mod p y gy mod p (donde x y y son los secretos aleatorios de cada uno parte generada para DH), estos dos valores se concatenan en un flujo de bits, se procesan, se cifran de forma asimétrica utilizando la clave privada del remitente, luego se utilizan simétricamente la clave compartida, antes de enviarse a la otra parte que puede (en teoría) descifrar y verificar la firma Y así el remitente. Ambas partes deben hacer esto como parte del proceso de negociación, por lo que este esquema incorpora autenticación bidireccional en el sistema.

    
respondido por el KeithS 20.08.2013 - 20:18
fuente
6

Según tengo entendido, SMP no protege contra MitM per se . Los autores del artículo establecen claramente,

  

Supongamos que Alice y Bob están chateando en línea usando OTR y deciden   ejecuta el SMP, pero no has seleccionado previamente un secreto y no posee   canal más seguro que su conversación actual . Todavía pueden   Seleccione un secreto apropiado en este caso, pero serán más   vulnerable al ataque.

El protocolo SMP se usa para comparar ese secreto compartido sin la necesidad de enviarlo de forma clara, pero el secreto compartido ya debe existir.

De lo contrario, para los ojos de Alice, no habría diferencia entre Bob y Joe. Por la misma razón, Alice y Joe serían idénticos a los ojos de Bob. Lo que llevaría a un escenario perfecto de hombre en el medio.

    
respondido por el LSerni 20.08.2013 - 20:27
fuente

Lea otras preguntas en las etiquetas