La mensajería instantánea confidencial ( 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 la autenticación y el cifrado , OTR proporciona confidencialidad directa y cifrado flexible .
La principal motivación del protocolo era proporcionar autenticación negable para los participantes de la conversación, manteniendo la confidencialidad de las mismas, como una conversación privada en la vida real o información confidencial en el periodismo . Esto contrasta con las herramientas criptográficas, que generan información que posteriormente puede utilizarse como registro verificable del evento comunicativo y de la identidad de los participantes. El artículo introductorio inicial se tituló "Comunicación confidencial, o por qué no usar PGP ". [ 1 ]
El protocolo OTR fue diseñado por los criptógrafos Ian Goldberg y Nikita Borisov y publicado 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 deseen implementar el protocolo. Existe un complemento para Pidgin y Kopete que permite usar OTR sobre cualquier protocolo de mensajería instantánea compatible con Pidgin o Kopete, ofreciendo una función de autodetección que inicia la sesión OTR con los contactos que la tienen habilitada, 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 fuera de orden y la comunicación asíncrona.
Según documentos clasificados de la NSA publicados en el artículo de Der Spiegel del 28 de diciembre de 2014, la NSA interceptó una conversación entre dos usuarios, pero los mensajes no pudieron ser descifrados por la NSA porque los usuarios estaban utilizando el protocolo OTR. [ 5 ]
Historia
OTR fue presentado en 2004 por Nikita Borisov, Ian Avrum Goldberg y Eric A. Brewer como una mejora 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 señaló varias vulnerabilidades y propuso soluciones adecuadas, entre las que destaca una falla en el intercambio de claves. [ 6 ] Como resultado, la versión 2 del protocolo OTR se publicó en 2005, implementando una variación de la modificación propuesta que también oculta las claves públicas. Además, se introdujo la posibilidad de fragmentar los mensajes OTR para abordar los sistemas de chat con un tamaño de mensaje limitado, y se implementó un método de verificación más simple contra ataques de intermediario (man-in-the-middle). [ 7 ]
En 2007, Olivier Goffart publicó mod_otr[ 8 ] para ejabberd , lo que permitió realizar ataques de intermediario (man-in-the-middle) contra usuarios de OTR que no verificaban las huellas digitales de las claves. Los desarrolladores de OTR contrarrestaron este ataque introduciendo una implementación del protocolo del millonario socialista en libotr. En lugar de comparar las sumas de verificación de las claves, se puede utilizar el conocimiento de un secreto compartido arbitrario para el cual se puede tolerar una entropía relativamente baja. [ 9 ]
La versión 3 del protocolo se publicó en 2012. Como medida para evitar el restablecimiento repetido de una sesión en caso de que varios clientes de chat competidores inicien sesión en la misma dirección de usuario simultáneamente, se introdujeron en la versión 3 etiquetas de identificación más precisas para las instancias de cliente emisoras y receptoras. Además, se negocia una clave adicional que puede utilizarse para otro canal de datos. [ 10 ]
Se han propuesto varias soluciones para facilitar 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". [ 11 ] El método denominado "Mensajería multipartita fuera de registro" (mpOTR), publicado en 2009, funciona sin un host de gestión central y fue introducido en Cryptocat por Ian Goldberg et al. [ 12 ]
En 2013, se introdujo el Protocolo Signal , basado en la mensajería OTR y el Protocolo de Mensajería Instantánea Silent Circle (SCIMP). Su principal novedad fue la compatibilidad con la comunicación asíncrona ("mensajes sin conexión"), así como una mayor resistencia ante la distorsión del orden de los mensajes y una compatibilidad más sencilla para conversaciones con múltiples participantes. [ 13 ] OMEMO , introducido en 2015 en un cliente XMPP para Android llamado Conversations , 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 Fundación de Estándares XMPP para su estandarización. [ 14 ] [ 15 ]
Actualmente, se ha diseñado la versión 4 del protocolo. Fue presentada por Sofía Celi y Ola Bini en PETS2018. [ 16 ]
Implementación
Además de proporcionar cifrado y autenticación —características que también ofrecen los conjuntos de criptografía de clave pública típicos, como PGP , GnuPG y X.509 ( S/MIME )—, OTR también ofrece algunas características menos comunes:
- Secreto hacia adelante
- Los mensajes se cifran únicamente con claves AES temporales para cada mensaje , negociadas mediante el protocolo de intercambio de claves Diffie-Hellman . La vulneración de cualquier clave criptográfica de larga duración no compromete las conversaciones anteriores, incluso si un atacante dispone de los textos cifrados .
- Autenticación negable
- Los mensajes en una conversación no tienen firma digital , y una vez finalizada, cualquiera puede falsificar un mensaje para que parezca provenir de uno de los participantes, lo que garantiza que sea imposible probar que un mensaje específico proviene de una persona específica. Dentro de la conversación, el destinatario puede tener la certeza de que un 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 mediante una clave secreta compartida a través del protocolo del millonario socialista . Esta función permite a los usuarios verificar la identidad de la parte remota y evitar un ataque de intermediario sin la incomodidad de comparar manualmente las huellas digitales de las claves públicas a través de un canal externo.
Limitaciones
Debido a las limitaciones del protocolo, OTR no admite chats grupales multiusuario desde 2009.[ 17 ] pero podría implementarse en el futuro. A partir de la versión 3 [ 10 ] de la especificación del protocolo, durante los intercambios de claves autenticados se deriva una clave simétrica adicional que puede utilizarse para la comunicación segura (p. ej.,transferencias de archivos) a través de un canal diferente. No se prevé la compatibilidad con audio o vídeo cifrados. (SRTPconZRTPCryptocat,eQualitiey otros colaboradores, incluido Ian Goldberg,han organizado un proyecto para producir un protocolo para mensajería multipartita fuera de registro (mpOTR) . [ 12 ] [ 18 ]
Desde el protocolo OTR v3 (libotr 4.0.0), el complemento admite múltiples conversaciones OTR con el mismo interlocutor que esté conectado en múltiples ubicaciones. [ 19 ]
Soporte al cliente

Estos clientes admiten la mensajería extraoficial de forma nativa o mediante complementos.
- Adium ( OS X )
- Otro.IM
- BitlBee (multiplataforma), desde la versión 3.0 (opcional en tiempo de compilación) [ 21 ]
- Cliente Blink SIP ( OS X )
- CenterIM ( similar a Unix ), desde la versión 4.22.2
- ChatSecure ( iOS )
- CoyIM
- HexChat , para versiones *nix, con un complemento de terceros [ 22 ]
- HexChat , con un complemento de terceros [ 23 ]
- Jitsi (multiplataforma)
- Kopete ( tipo Unix ) [ 24 ] [ 25 ]
- Miranda NG ( Microsoft Windows ), con un complemento de terceros [ 26 ]
- Monocles Chat , cliente XMPP compatible con OTR desde 2022
- Mozilla Thunderbird , desde el 68
- Pidgin ( multiplataforma ), con un complemento disponible en la página principal de OTR [ 27 ]
- Lenguaje soez , desde la versión 0.4.1
- Psi ( multiplataforma ) [ 28 ]
- Chispa
- Zom Mobile Messenger ( Android )
- Tkabber ( multiplataforma ), desde la versión 1.1 [ 29 ]
- WeeChat , con un complemento de terceros [ 30 ]
- climm ( tipo Unix ), desde (mICQ) 0.5.4
- irssi , desde 1.2.0 [ 31 ]
Véase también
Portal de software libre
Referencias
- 1 2 Nikita Borisov ; Ian Goldberg ; Eric Brewer (28 de octubre de 2004). "Comunicación extraoficial, o por qué no usar PGP" (PDF) . Taller sobre privacidad en la sociedad electrónica . Recuperado el 6 de marzo de 2014 .
- ↑ 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 fuera de registro versión 4" . GitHub .
- ↑ "Agregar descargo de responsabilidad · otrv4/otrv4@0c0847e" . GitHub . Consultado el 20 de septiembre de 2023 .
- ↑ "Dentro de la guerra de la NSA contra la seguridad en Internet" . 28 de diciembre de 2014.
- ↑ Mario Di Raimondo; Rosario Gennaro; Hugo Krawczyk (2005). "Mensajería segura fuera de registro" (PDF) . Actas del Taller ACM de 2005 sobre Privacidad en la Sociedad Electrónica . Association for Computing Machinery: 81–89 .
- ↑ "Protocolo de mensajería extraoficial versión 2" .
- ↑ "mod_otr - Módulo Man in the Middle para Off-The-Record | ejabberd" . www.ejabberd.im .
- ↑ Chris Alexander; Ian Avrum Goldberg (febrero de 2007). «Autenticación de usuario mejorada en mensajes extraoficiales». Actas del taller de la ACM de 2007 sobre privacidad en la sociedad electrónica (PDF) . Nueva York: Association for Computing Machinery. págs. 41-47 . doi : 10.1145/1314333.1314340 . ISBN 9781595938831. S2CID 17052562 .
- 1 2 "Protocolo de mensajería fuera de registro versión 3" .
- ↑ Jiang Bian; Remzi Seker; Umit Topaloglu (2007). Mensajería instantánea extraoficial para conversaciones grupales . Conferencia internacional IEEE sobre reutilización e integración de la información. IEEE. doi : 10.1109/IRI.2007.4296601 .
- 1 2 Ian Avrum Goldberg; Berkant Ustaoğlu; Matthew D. Van Gundy; Hao Chen (2009). "Mensajería multipartita extraoficial". Actas de la 16.ª conferencia ACM sobre seguridad informática y de comunicaciones (PDF) . Association for Computing Machinery. 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 de 2015 sobre Seguridad y Privacidad . Comité Técnico de Seguridad y Privacidad de la Sociedad de Computación IEEE: 232–249 .
- ↑ Straub, Andreas (25 de octubre de 2015). "Cifrado OMEMO" . Sitio web de la Fundación de Estándares XMPP . Archivado del original el 29 de enero de 2016. Recuperado el 16 de enero de 2016 .
- ↑ Gultsch, Daniel (2 de septiembre de 2015). "Transferencia de archivos de 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 extraoficial versión 4 (PDF) . Recuperado el 29 de noviembre de 2018 .
- ↑ Ian Goldberg (27 de mayo de 2009). "¿Comunicaciones OTR entre múltiples partes? (y otros detalles de OTR)" . Lista de correo de usuarios de OTR .
- ↑ Nadim Kobeissi (1 de febrero de 2014). "Plan del proyecto mpOTR" . Wiki de Cryptocat en GitHub .
- ↑ Ian Goldberg (4 de septiembre de 2012). "¡Pidgin-otr y libotr 4.0.0 publicados!" . Lista de correo OTR-announce .
- ↑ "Mensajes extraoficiales" .
- ↑ "BitlBee Wiki" . Wiki.bitlbee.org. 25 de enero de 2014. Consultado el 15 de mayo de 2014 .
- ↑ "TingPing/hexchat-otr" . GitHub . Consultado el 14 de marzo de 2017 .
- ↑ "Complemento Off the record para HexChat" . GitHub . 2 de diciembre de 2021.
- ↑ "kopete-otr en KDE para 4.1" . Archivado del original el 28 de marzo de 2008.
- ↑ «solicitud de revisión de kopete-otr» .
- ↑ "Complemento Miranda OTR" .
- ↑ "Complemento OTR para Pidgin" .
- ↑ "OTR Plugin" . Github.com . Consultado el 18 de marzo de 2026 .
- ↑ "Complemento Tkabber OTR" . Archivado del original el 11 de marzo de 2014.
- ↑ "Complemento OTR para WeeChat" . GitHub . Enero de 2019.
- ↑ "Registro de cambios de Irssi - 1.2.0" .
Lecturas adicionales
- Joseph Bonneau; Andrew Morrison (21 de marzo de 2006). "Análisis de seguridad de estado finito de OTR versión 2" (PDF) . Recuperado el 5 de septiembre de 2013 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - Mario Di Raimondo; Rosario Gennaro y Hugo Krawczyk (2005). Mensajería segura fuera de registro (PDF) . Actas del Taller ACM de 2005 sobre privacidad en la sociedad electrónica. Association for Computing Machinery . Recuperado el 27 de agosto de 2013 .
Enlaces externos
- Sitio web oficial
- Especificación del protocolo
- Implementaciones de la lista de mensajeros y bibliotecas XEP-0364 que admiten OTR.
- XEP-0364: Uso actual de mensajes extraoficiales
- Mensajería extraoficial: seguridad y privacidad útiles para la mensajería instantánea. Archivado el 30 de diciembre de 2013 en Wayback Machine , charla de Ian Goldberg en la Universidad de Waterloo (vídeo).
- Tutorial de mensajería instantánea "off-the-record" (cifrado, autenticación, negación, etc.) en YouTube
- Una odisea del cifrado en XMPP: una visión general del soporte actual de OTR en los clientes XMPP.
- Software libre multiplataforma
- protocolos criptográficos
- Software criptográfico
- Software de seguridad gratuito
- Mensajería instantánea
- software de privacidad en Internet
- XMPP