La mensajería no registrada ( OTR ) es un protocolo criptográfico que proporciona cifrado para conversaciones de mensajería instantánea . OTR utiliza una combinación de 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 la autenticación y el cifrado , OTR proporciona un secreto directo y un cifrado maleable .
La motivación principal detrás del protocolo era proporcionar autenticación denegable para los participantes de la conversación mientras se mantenían las conversaciones confidenciales, como una conversación privada en la vida real, o fuera del registro en la contratación de 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 cliente para facilitar el soporte a los desarrolladores de clientes de mensajería instantánea que desean implementar el protocolo. Existe un complemento de Pidgin y Kopete que permite que OTR se use 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 de OTR con los amigos que la tienen habilitada, sin interferir con las conversaciones regulares sin cifrar. La versión 4 del protocolo [3] es actualmente [ ¿cuándo? ] siendo diseñado por un equipo dirigido 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 fuera de orden y la comunicación asincrónica.
Historia
OTR fue presentado en 2004 por Nikita Borisov, Ian Avrum Goldberg y Eric A. Brewer como una mejora sobre OpenPGP y el sistema S / MIME en el "Workshop on Privacy in the Electronic Society" (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 las correcciones adecuadas, en particular incluyendo una falla en el intercambio de claves. [4] Como resultado, la versión 2 del protocolo OTR se publicó en 2005, 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 los 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 man-in-the-middle. [5]
En 2007, Olivier Goffart publicó mod_otr [6] para ejabberd , haciendo posible realizar ataques man-in-the-middle en usuarios de OTR que no verifican huellas dactilares clave. Los desarrolladores de OTR contrarrestaron este ataque introduciendo la implementación del protocolo millonario socialista en libotr. En lugar de comparar sumas de verificación clave, se puede utilizar el conocimiento de un secreto compartido arbitrario para el que se puede tolerar una entropía relativamente baja utilizando el protocolo del millonario socialista . [7]
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 rivales se hayan registrado en la misma dirección de usuario al mismo tiempo, 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. [8]
Se han propuesto varias soluciones para apoyar las 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 un "servidor virtual". [9] El método llamado "Mensajería extraoficial multipartita" (mpOTR) que se publicó en 2009 funciona sin un host de administración central y fue introducido en Cryptocat por Ian Goldberg et al. [10]
En 2013, se introdujo el Protocolo de señal , que se basa en la mensajería OTR y el Protocolo de mensajería instantánea Silent Circle (SCIMP). Brindó soporte para la comunicación asincrónica ("mensajes fuera de línea") como su principal característica nueva, así como una mejor capacidad de recuperación con un orden distorsionado de los mensajes y un soporte más simple para conversaciones con múltiples participantes. [11] 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 el otoño de 2015 se envió a la XMPP Standards Foundation para su estandarización. [12] [13]
Actualmente se ha diseñado la versión 4 del protocolo. Fue presentado por Sofía Celi y Ola Bini en PETS2018. [14]
Implementación
Además de proporcionar cifrado y autenticación, características que también ofrecen 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:
- Secreto de reenvío : los mensajes solo se cifran con claves AES temporales por mensaje , negociadas mediante el protocolo de intercambio de claves Diffie-Hellman . El compromiso de cualquier clave criptográfica de larga duración no compromete ninguna conversación previa, incluso si un atacante está en posesión de textos cifrados .
- Autenticación denegable : los mensajes en una conversación no tienen firmas digitales , y una vez que se completa una conversación, cualquiera puede falsificar un mensaje para que parezca provenir de uno de los participantes en la conversación, asegurando que es imposible probar que un El mensaje específico vino de una persona específica. Dentro de la conversación, el destinatario puede estar seguro de que el mensaje proviene de la persona que ha identificado.
Autenticación
A partir de OTR 3.1, el protocolo admite la autenticación mutua de usuarios que utilizan un secreto compartido a través del protocolo millonario socialista . 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 dactilares de la clave pública a través de un canal externo.
Limitaciones
Debido a las limitaciones del protocolo, OTR no admite el chat grupal de múltiples usuarios a partir de 2009[actualizar][15] pero puede implementarse en el futuro. A partir de la versión 3 [8] de la especificación del protocolo, se obtiene una clave simétrica adicional durante los intercambios de claves autenticadas que se puede utilizar para una comunicación segura (por ejemplo, transferencias de archivos cifrados) a través de un canal diferente. No se prevé la compatibilidad con audio o video encriptados. ( SRTP con ZRTP existe para ese propósito). Cryptocat , eQualitie y otros colaboradores, incluido Ian Goldberg,han organizado un proyecto para producir un protocolo para mensajería multipartita no registrada (mpOTR). [10] [16]
Desde el protocolo OTR v3 (libotr 4.0.0), el complemento admite múltiples conversaciones OTR con el mismo amigo que está conectado en varias ubicaciones. [17]
Soporte al cliente
Desarrollador (es) | Equipo de desarrollo de OTR |
---|---|
Lanzamiento estable | 4.1.1 / 9 de marzo de 2016 |
Escrito en | C |
Sistema operativo | Multiplataforma |
Tipo | Biblioteca de software |
Licencia | LGPL v2.1 + [18] |
Sitio web | otr .cypherpunks .ca / index .php #downloads |
Nativo (apoyado por desarrolladores de proyectos)
Estos clientes admiten la mensajería no registrada desde el primer momento. (lista incompleta)
- Adium ( OS X )
- Cliente Blink SIP ( OS X )
- BitlBee (multiplataforma), desde 3.0 (opcional en tiempo de compilación) [19]
- CenterIM ( similar a Unix ), desde 4.22.2
- ChatSecure ( iOS )
- Mensajero móvil Zom ( Android )
- climm ( similar a Unix ), ya que (mICQ) 0.5.4
- IronChat, basado en Xabber ( Android )
- Jitsi (multiplataforma)
- Kadu ( multiplataforma ), desde 1.0 [20]
- Kopete ( similar a Unix ) [21] [22]
- LeechCraft (multiplataforma) [23] [24]
- MCabber ( similar a Unix ), desde 0.9.4 [25]
- Blasfemias , desde 0.4.1
- Psi ( multiplataforma ) [26]
- Psi + ( multiplataforma ) [26] [27]
- Textual 5 ( OS X ), desde 5.1.2
- Mozilla Thunderbird , desde 68
- Xabber ( Android )
- Tkabber ( multiplataforma ), desde la versión 1.1 [28]
- irssi , en versiones (futuras) publicadas después de agosto de 2018, actualmente en repositorio 'maestro'
A través de un complemento de terceros
Los siguientes clientes requieren un complemento para utilizar la mensajería no registrada.
- xchat , con un complemento de terceros [29]
- Miranda IM ( Microsoft Windows ), con un complemento de terceros [30]
- Pidgin ( multiplataforma ), con un complemento disponible en la página de inicio de OTR [31]
- WeeChat , con un complemento de terceros [32]
- HexChat , para versiones * nix, con un complemento de terceros [33]
Confusión con Google Talk "off the record"
Aunque Google Talk de Gmail usa el término "off the record", la función no tiene conexión con el protocolo de mensajería off-the-Record que se describe en este artículo, sus chats no están encriptados de la forma descrita anteriormente, y Google podría registrarlos internamente. incluso si no es accesible para los usuarios finales. [34] [35]
Ver también
- Portal de software gratuito
Referencias
- ↑ a b Nikita Borisov , Ian Goldberg , Eric Brewer (28 de octubre de 2004). "Comunicación extraoficial o por qué no utilizar PGP" (PDF) . Taller de Privacidad en la Sociedad Electrónica . Consultado el 6 de marzo de 2014 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ Ian Goldberg (26 de octubre de 2014). [Usuarios de OTR] ¡Feliz décimo aniversario! . Consultado el 27 de abril de 2015 .
- ^ Sofía Celi, Ola Bini (15 de febrero de 2019). "Protocolo de mensajería no registrada versión 4" .
- ^ Mario Di Raimondo; Rosario Gennaro; Hugo Krawczyk (2005). "Mensajería confidencial segura" (PDF) . Actas del Taller de ACM 2005 sobre privacidad en la sociedad electrónica . Asociación de Maquinaria de Computación: 81–89.
- ^ "Protocolo de mensajería no registrada versión 2" .
- ^ "mod_otr" .
- ^ Chris Alexander; Ian Avrum Goldberg (febrero de 2007). Autenticación de usuario mejorada en mensajería no registrada (PDF) . Actas del Taller de ACM 2007 sobre privacidad en la sociedad electrónica . Nueva York: Association for Computing Machinery. págs. 41–47. doi : 10.1145 / 1314333.1314340 . ISBN 9781595938831. S2CID 17052562 .
- ^ a b "Protocolo de mensajería no registrada versión 3" .
- ^ Jiang Bian; Remzi Seker; Umit Topaloglu (2007). Mensajería instantánea no registrada para conversaciones grupales . Conferencia Internacional IEEE sobre Reutilización e Integración de la Información. IEEE. doi : 10.1109 / IRI.2007.4296601 .
- ^ a b Ian Avrum Goldberg; Berkant Ustaoğlu; Matthew D. Van Gundy; Hao Chen (2009). Mensajería multipartita no registrada (PDF) . Actas de la 16ª Conferencia de Seguridad Informática y Comunicaciones de ACM . Asociación para Maquinaria de Computación. págs. 358–368. doi : 10.1145 / 1653662.1653705 . hdl : 11147/4772 . ISBN 9781605588940. S2CID 6143588 .
- ^ Nik Unger; Sergej Dechand; Joseph Bonneau; Sascha Fahl; Henning Perl; Ian Avrum Goldberg; Matthew Smith (2015). "SoK: mensajería segura" (PDF) . Actas del Simposio IEEE 2015 sobre seguridad y privacidad . Comité Técnico de Seguridad y Privacidad de IEEE Computer Society: 232–249.
- ^ Straub, Andreas (25 de octubre de 2015). "Cifrado OMEMO" . Sitio web de la Fundación de Estándares XMPP . Archivado desde el original el 29 de enero de 2016 . Consultado el 16 de enero de 2016 .
- ^ Gultsch, Daniel (2 de septiembre de 2015). "Transferencia de archivos Jingle cifrados OMEMO" . Sitio web de la Fundación de Estándares XMPP . Consultado el 16 de enero de 2016 .
- ^ Sofía Celi, Ola Bini (21 de julio de 2018). No hay evidencia de comunicación: Protocolo Off-the-Record versión 4 (PDF) . Consultado el 29 de noviembre de 2018 .
- ^ Ian Goldberg (27 de mayo de 2009). "¿Comunicaciones OTR de múltiples partes? (y otros detalles OTR)" . Lista de correo de usuarios de OTR .
- ^ Nadim Kobeissi (1 de febrero de 2014). "Plan de proyecto mpOTR" . Wiki de Cryptocat en GitHub .
- ^ Ian Goldberg (4 de septiembre de 2012). "¡Lanzamiento de pidgin-otr y libotr 4.0.0!" . Lista de correo de anuncios OTR .
- ^ "Mensajería no registrada" .
- ^ "Wiki de BitlBee" . Wiki.bitlbee.org. 25 de enero de 2014 . Consultado el 15 de mayo de 2014 .
- ^ "Notas de la versión de Kadu 1.0" . Archivado desde el original el 7 de diciembre de 2016 . Consultado el 15 de febrero de 2015 .
- ^ "kopete-otr en KDE para 4.1" . Archivado desde el original el 28 de marzo de 2008.
- ^ "solicitud de revisión de kopete-otr" .
- ^ 0xd34df00d. "Complemento OTR" . Github.com . Consultado el 6 de septiembre de 2017 .
- ^ "Breve descripción" . Leechcraft.org . Consultado el 15 de mayo de 2014 .
- ^ "código fuente" . MCabber.com. 25 de octubre de 2013. Archivado desde el original el 17 de mayo de 2014 . Consultado el 15 de mayo de 2014 .
- ^ a b "Complemento OTR" . Github.com . Consultado el 6 de septiembre de 2017 .
- ^ "Psi + instantáneas" . Github.com . Consultado el 6 de septiembre de 2017 .
- ^ "Complemento Tkabber OTR" . Archivado desde el original el 11 de marzo de 2014.
- ^ "complemento irssi-otr / xchat-otr" . 4 de febrero de 2019.
- ^ "Complemento Miranda OTR" .
- ^ "Complemento OTR para Pidgin" .
- ^ "Complemento OTR para WeeChat" . Enero de 2019.
- ^ "TingPing / hexchat-otr" . GitHub . Consultado el 14 de marzo de 2017 .
- ^ "Conversar de forma extraoficial - Talk Help" .
- ^ "Google Talk - Política de privacidad" .
Otras lecturas
- Joseph Bonneau; Andrew Morrison (21 de marzo de 2006). "Análisis de seguridad de estado finito de la versión 2 de OTR" (PDF) . Consultado el 5 de septiembre de 2013 . Cite journal requiere
|journal=
( ayuda ) - Mario Di Raimondo; Rosario Gennaro y Hugo Krawczyk (2005). "Mensajería segura no registrada" (PDF) . Actas del Taller de ACM 2005 sobre privacidad en la sociedad electrónica. Asociación de Maquinaria Informática . Consultado el 27 de agosto de 2013 . Cite journal requiere
|journal=
( ayuda )
enlaces externos
- Página web oficial
- Especificación de protocolo
- Mensajería extraoficial: seguridad y privacidad útiles para mensajería instantánea , charla de Ian Goldberg en la Universidad de Waterloo (video)
- Tutorial de mensajería instantánea 'off-the-record' (cifrado, autenticación, negación, ..) en YouTube