La mensajería extraoficial ( OTR ) es un protocolo criptográfico que proporciona cifrado para conversaciones de mensajería instantánea . OTR utiliza una combinación del algoritmo de clave simétrica AES con una longitud de clave de 128 bits, el intercambio de claves Diffie-Hellman con un tamaño de grupo de 1536 bits y la función hash SHA-1 . Además de autenticación y cifrado , OTR proporciona secreto directo y cifrado maleable .
La motivación principal detrás del protocolo fue proporcionar autenticación negable para los participantes de la conversación y al mismo tiempo mantener las conversaciones confidenciales, como una conversación privada en la vida real o extraoficial en el ámbito del periodismo . Esto contrasta con las herramientas de criptografía que producen resultados que luego pueden usarse como un registro verificable del evento de comunicación y las identidades de los participantes. El documento introductorio inicial se denominó "Comunicación extraoficial o por qué no utilizar PGP ". [1]
El protocolo OTR fue diseñado por los criptógrafos Ian Goldberg y Nikita Borisov y lanzado el 26 de octubre de 2004. [2] Proporcionan una biblioteca de cliente para facilitar el soporte a los desarrolladores de clientes de mensajería instantánea que quieran implementar el protocolo. Existe un complemento Pidgin y Kopete que permite utilizar OTR sobre cualquier protocolo de mensajería instantánea compatible con Pidgin o Kopete, ofreciendo una función de detección automática que inicia la sesión OTR con los amigos que lo tienen habilitado, sin interferir con las conversaciones regulares no cifradas. La versión 4 del protocolo [3] ha estado en desarrollo desde 2017 [4] por un equipo liderado por Sofía Celi, y revisado por Nik Unger e Ian Goldberg. Esta versión tiene como objetivo proporcionar negación en línea y fuera de línea, actualizar las primitivas criptográficas y admitir la entrega desordenada y la comunicación asincrónica.
OTR fue presentado en 2004 por Nikita Borisov, Ian Avrum Goldberg y Eric A. Brewer como una mejora con respecto a OpenPGP y el sistema S/MIME en el "Taller sobre privacidad en la sociedad electrónica" (WPES). [1] La primera versión 0.8.0 de la implementación de referencia se publicó el 21 de noviembre de 2004. En 2005, Mario Di Raimondo, Rosario Gennaro y Hugo Krawczyk presentaron un análisis que llamó la atención sobre varias vulnerabilidades y propuso soluciones apropiadas, en particular incluyendo una falla en el intercambio de claves. [5] Como resultado, en 2005 se publicó la versión 2 del protocolo OTR que implementa una variación de la modificación propuesta que además oculta las claves públicas. Además, se introdujo la posibilidad de fragmentar mensajes OTR para tratar con sistemas de chat que tienen un tamaño de mensaje limitado, y se implementó un método más simple de verificación contra ataques de intermediario. [6]
En 2007, Olivier Goffart publicó mod_otr
[7] para ejabberd , que permite realizar ataques de intermediario contra usuarios de OTR que no verifican las huellas digitales de las claves. Los desarrolladores de OTR contrarrestaron este ataque introduciendo una implementación de protocolo socialista millonario en libotr. En lugar de comparar sumas de verificación clave, se puede utilizar el conocimiento de un secreto compartido arbitrario para el cual se puede tolerar una entropía relativamente baja. [8]
La versión 3 del protocolo se publicó en 2012. Como medida contra el restablecimiento repetido de una sesión en caso de que varios clientes de chat competidores se registren al mismo tiempo en la misma dirección de usuario, se necesitan etiquetas de identificación más precisas para enviar y recibir instancias de clientes. se introdujeron en la versión 3. Además, se negocia una clave adicional que se puede utilizar para otro canal de datos. [9]
Se han propuesto varias soluciones para respaldar conversaciones con múltiples participantes. Un método propuesto en 2007 por Jiang Bian, Remzi Seker y Umit Topaloglu utiliza el sistema de un participante como "servidor virtual". [10] El método denominado "Mensajería no registrada entre múltiples partes" (mpOTR), que se publicó en 2009, funciona sin un host de administración central y fue introducido en Cryptocat por Ian Goldberg et al. [11]
En 2013, se introdujo el protocolo Signal , que se basa en la mensajería OTR y el protocolo de mensajería instantánea Silent Circle (SCIMP). Logró el soporte para la comunicación asincrónica ("mensajes fuera de línea") como su principal novedad, así como una mejor resiliencia con el orden distorsionado de los mensajes y un soporte más simple para conversaciones con múltiples participantes. [12] OMEMO , introducido en un cliente XMPP de Android llamado Conversations en 2015, integra el algoritmo Double Ratchet utilizado en Signal en el protocolo de mensajería instantánea XMPP ("Jabber") y también permite el cifrado de transferencias de archivos. En otoño de 2015 se presentó a la XMPP Standards Foundation para su estandarización. [13] [14]
Actualmente se ha diseñado la versión 4 del protocolo. Fue presentado por Sofía Celi y Ola Bini en PETS2018. [15]
Además de proporcionar cifrado y autenticación (características que también proporcionan las típicas suites de criptografía de clave pública, como PGP , GnuPG y X.509 ( S/MIME ), OTR también ofrece algunas características menos comunes:
A partir de OTR 3.1, el protocolo admite la autenticación mutua de usuarios utilizando un secreto compartido a través del protocolo socialista millonario . Esta característica hace posible que los usuarios verifiquen la identidad de la parte remota y eviten un ataque de intermediario sin el inconveniente de comparar manualmente las huellas digitales de la clave pública a través de un canal externo.
Debido a las limitaciones del protocolo, OTR no admite chat grupal multiusuario a partir de 2009 [16] , pero es posible que se implemente en el futuro. A partir de la versión 3 [9] de la especificación del protocolo, se deriva una clave simétrica adicional durante los intercambios de claves autenticados que se puede utilizar para una comunicación segura (por ejemplo, transferencias de archivos cifrados ) a través de un canal diferente. No está prevista la compatibilidad con audio o vídeo cifrados. ( SRTP con ZRTP existe para ese propósito). Cryptocat , eQualie y otros contribuyentes, incluido Ian Goldberg, han organizado un proyecto para producir un protocolo para mensajería extraoficial entre múltiples partes (mpOTR) . [11] [17][actualizar]
Desde el protocolo OTR v3 (libotr 4.0.0), el complemento admite múltiples conversaciones OTR con el mismo amigo que ha iniciado sesión en varias ubicaciones. [18]
Estos clientes admiten mensajería off-the-record lista para usar (lista incompleta).
Los siguientes clientes requieren un complemento para utilizar la mensajería off-the-record.
Aunque Google Talk de Gmail utiliza el término "off the record", la función no tiene conexión con el protocolo de mensajería off the record descrito en este artículo, sus chats no están encriptados de la forma descrita anteriormente y Google podría registrarlos internamente. incluso si no son accesibles para los usuarios finales. [31] [32]
{{cite conference}}
: Mantenimiento CS1: varios nombres: lista de autores ( enlace ){{cite book}}
: Mantenimiento CS1: fecha y año ( enlace ){{cite journal}}
: Citar diario requiere |journal=
( ayuda ){{cite journal}}
: Citar diario requiere |journal=
( ayuda )