Least Significant Bit

All in all we’re just another bit in the word

Mensajería Off-The-Record

Posted by ferk en junio 18, 2010

Cada vez que un ordenador se conecta a una red y empieza a comunicarse con otros equipos siempre se está exponiendo a un cierto riesgo. Llevar a cabo una conversación que sea realmente privada en un entorno con millones de potenciales testigos como es internet es difícil, la probabilidad de que alguien pueda escuchar la conversación no es despreciable.

Muchos de los protocolos más usados para la comunicación por mensajería instantánea viajan por la red sin encriptar (por ejemplo programas como WLM) y no es difícil para cualquier ordenador que actúa como router o intermediario interceptar los mensajes de una conversación que podríamos en principio considerar privada. Esto puede suponer un problema grave cuando se trata de sistemas de mensajería usados en la empresa para comunicación interna de los empleados y coordinación del equipo, los cuales podrían portar información confidencial de alto valor para dicha empresa.

Son muy conocidos los ataques “man in the middle” que mediante técnicas como el envenenamiento de las tablas ARP de dos equipos pueden situarse a la escucha dentro de una red de computadoras sin que ninguno de los dos extremos lleguen, en principio, a percibir la intrusión en su privacidad. Por ello incluso usando canales privados (VPN, etc) se hace necesario el empleo de un sistema de seguridad punto-a-punto.

Un método que se nos podría ocurrir para securizar un sistema de mensajería instantánea es el basado en la encriptación mediante PGP. Sin embargo, esta opción presenta algunos inconvenientes cuando se trata de proteger los intereses de los participantes de una conversación de mensajería de la cual se pretende obtener un nivel de seguridad similar al de una conversación privada tradicional donde dos personas se comunican de manera directa sin que otros los escuchen.

Alice (el emisor) emplearía su clave pública para firmar digitalmente un mensaje de forma que Bob (el receptor) pueda saber con quién se está comunicando (esto le daría autenticidad). Tras la firma de este mensaje Alice lo encriptaría usando la clave pública de Bob para que sólo él sea capaz de leerlo (lo que le daría confidencialidad).

Este sistema, en principio, podría parecer muy seguro, dado que como Alice usa la clave de Bob nadie salvo Bob puede desencriptar el mensaje. Sin embargo, este escenario se ve comprometido en el momento en que la computadora de Bob es robada, perdida o confiscada por entidades con capacidad para ello, o la información que almacena fuese accedida por virus, troyanos, spyware, etc, de forma que todas sus claves pudiesen ser obtenidas.

En este caso el atacante sería capaz de leer no solo los mensajes futuros que se encripten con esa clave, sino también todos los mensajes pasados que pudiera haber almacenado anteriormente el atacante (o que pueda obtener del propio Bob). Alguien podría recopilar todos los mensajes transmitidos entre Bob y Alice, aunque en principio no los pudiese desencriptar, y tratar de encontrar la clave por fuerza bruta. Aunque le costase mucho tiempo, en el momento en el que poseyese la clave podría descifrar todos los mensajes pasados, presentes y futuros que empleen esa clave. Este escenario representa lo que se denominaría una falta de confidencialidad directa perfecta (del inglés “Perfect Forward Secrecy”).

Además, al estar firmados digitalmente, el atacante poseería una prueba matemática inequívoca de que fue Alice quien los envió, debido a la propiedad de no repudio. Esto podría poner a Alice en una situación de compromiso si no quisiese que estos mensajes fuesen reconocidos como suyos. Quien poseyese esta información podría incluso llegar a usarla ante un tribunal para mostrar que los mensajes provenían de Alice.

Fundamentos de la mensajería Off-The-Record

El protocolo Off-The-Record (OTR) fue introducido en 2004 con el objetivo de ofrecer privacidad en comunicaciones online por mensajería instantanea. Fue implementado inicialmente como plugin para el cliente de mensajería GAIM (ahora conocido como Pidgin). OTR protege la confidencialidad de los mensajes (sólo serán leidos por Alice y Bob), y la autenticación (Alice se asegura de que es a Bob a quien está hablando) pero además ofreciendo la posibilidad de repudio de los mensaje en una conversación privada (nadie, incluido Bob, puede demostrarle a ningún tercero que el autor del mensaje es Alice), lo cual no es muy común en los protocolos de seguridad tradicionales, en los que se suele perseguir el no repudio para aproximarse a los ceritificados y firmas tradicionales. Además, mediante el protocolo OTR, incluso si una clave secreta es robada, la seguridad de los mensajes anteriores no se vería comprometida.

El protocolo OTR se basa en 4 pilares centrales:

  • Confidencialidad directa perfecta mediante el intercambio constante de claves desechables de corta duración (obtenidas con el algoritmo Diffie-Hellman)
  • Firmas digitales para la autenticación del primer intercambio de claves (ya que Diffie Hellman no garantiza la autenticación)
  • Posibilidad de repudio en la autenticación de los demás intercambios mediante el empleo de funciones MAC (Message Authentication Code), se emplea como clave MAC un hash de la propia clave Diffie-Hellman, de tal forma que Bob sabe que Alice es quien envió el mensaje pero no podría demostrarselo a un tercero (ya que él mismo posee la clave MAC de autenticación y por tanto él mismo podría haber sido el autor del mensaje).
  • Encriptación deformable mediante el empleo de funciones idempotentes (como por ejemplo, la XOR) en cifrado de flujo (stream cypher). Esto asegura que si alguien puede descifrar el mensaje al menos no podrá demostrar a un tercero que no lo produjo él mismo, al ser fácilmente modificable.

Off-The-Record en Pidgin

Es posible iniciar conversaciones privadas seguras bajo el protocolo OTR empleando a ambos lados de la comunicación el plugin de Pidgin desarrollado por los diseñadores del protocolo OTR. Este plugin se encuentra en la lista de complementos de Pidgin bajo el nombre de “Off-The-Record Messaging” (“Mensajería Off-The-Record” en español). Y puede usarse en cualquier conversación con independencia del protocolo que se emplee.

Una vez instalado, lo primero que puede apreciar es la aparición de un botón en la barra de herramientas de la caja de texto para el envío de mensajes. El botón indica además el estado de la conversación, que inicialmente será “No privado”, marcado en letras rojas.

Si está activada la opción “Iniciar mensajería privada automáticamente”, solicitar una conversación privada es tan sencillo como enviar un mensaje inicial desde Pidgin. De lo contrario, será necesario presionar el botón. Una vez solicitado el inicio de una conversación privada, si ambos participantes poseen el plugin instalado se iniciará un proceso de inicialización y autenticación.

Una vez iniciada la solicitud de una sesión privada, primero se comprueba si ambos contactos han tenido anteriormente una conversación empleando OTR, si esto es así el proceso de autenticación no será necesario ya que los dos usarán los mismos pares de claves pública/privada que fueron ya verificados en encuentros anteriores, y la conversación será automáticamente encriptada y autenticada.

En cambio, si se trata de la primera vez que se establece comunicación mediante OTR con la otra persona o la clave pública (huella digital) no ha sido autenticada, el botón OTR indicará que la conversación no está “verificada”. Esto significa que si bien se ha recibido la huella digital del otro participante no se está seguro si se trata de quien debe ser, por lo que será necesario realizar una operación que autentique al usuario de tal modo que podamos estar seguros de estar hablando con quien creemos que hablamos.

Los dos participantes pueden elegir entre tres formas de autenticar al otro: usando el método de la pregunta y respuesta, usando una clave secreta compartida, o por verificación manual de firma digital.

Autenticación por pregunta-respuesta

Una vez que Alice pulsase en “autenticar amigo” aparecerá una ventana solicitando una pregunta para realizarle a Bob y una respuesta que Alice sepa que sólo podría responder el propio Bob. Una vez establecida tanto la pregunta como la respuesta que Bob debería dar, se le presentará a Bob esa pregunta y deberá responderla con el mismo texto exacto que Alice puso como respuesta. Si lo hace correctamente Bob será autenticado.

No obstante, esto sólo autenticaría a Bob, pero para autenticar a Alice sería necesario que Bob le hiciese una pregunta a ella del mismo modo, o que usase algún otro método de autenticación con ella.

Autenticación por clave secreta compartida

Mediante este otro método ambos usuarios se verán autenticados simultáneamente. Se solicitará una palabra o frase secreta que ambos deberán haber acordado previamente por un canal seguro distinto del chat. Si ambos introducen la misma palabra secreta el estado del botón de ambos usuarios cambiará a “privado”, sino se mostraría un mensaje de error y habría que repetirlo.

Autenticación manual de la huella digital

Puede también decidirse verificar manualmente la firma digital del otro, para ello podrá irse a la pestaña de claves públicas y verificar manualmente la clave de Bob.

No obstante, lo recomendable sería que la clave fuese verificada desde un canal seguro distinto de la conversación que estén teniendo, para asegurarse de que la persona con la que se está hablando es aquella con la que se corresponde la huella digital que se ha obtenido.

Comunicándose por el canal privado

Una vez los dos contactos están autenticados, la conversación pasará automáticamente al estado “private”, indicando que se está conversando de manera segura.

Por Fernando Carmona Varo.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: