jueves, 9 de febrero de 2017

Conversations: Cliente Jabber para Android


Hay multitud de programas de mensajería instantánea que prometen el oro y el moro: emoticonos, chats en grupo, animaciones, fotografías e incluso criptografía de la güena.

Google con Hangouts/Gtalk/Loqueseaahora, Facebook con Facebook/WhatsApp, Telegram con Telegram, WeeChat, etcétera.

Pero hay un gran olvidado, y ese no es otro que Jabber. Jabber es un protocolo de mensajería libre en formato XML que puede ser implementado por cualquier cliente sin ningún tipo de coste adicional en licencias.

Jabber lleva muchos años conviviendo entre nosotros. De hecho Google lo usa en Hangouts y Gtalk, así como Facebook en su sistema de mensajería (pero no en WhatsApp). El problema es que estas compañías han hecho un adoptar, extender, extinguir en toda regla. Mediante extensiones propietarias han terminado privatizando el protocolo para su uso particular.

La potencia de Jabber radica en la federación de servidores. Un sistema totalmente distribuido a la que cualquier nodo se puede unir, de manera que usuarios de distintas redes pueden hablar entre sí. Es decir, fulanito@red1.com puede comunicarse con menganito@red2.com. ¡Incluso puedes enviar mensajes a Twitter, Messenger, ICQ e IRC! (woah, Messenger, IRC).

En el caso de Google la federación dejó de estar disponible por lo que los usuarios de Gtalk/Hangouts sólo pueden comunicarse con otros usuarios de Gtalk/Hangouts. En sus contactos no pueden haber cuentas de otras redes. En el caso de Facebook, tres cuartos de lo mismo.

Jabber es un protocolo muy extendido y muy usado. En sistemas de escritorio tienes Pidgin, Kopete y Audium entre otros. Para Android, existe Conversations, ChatSecure/Zom y Xabber entre otros. Todos estos clientes son libres y llegan a soportar incluso OTR, esto es, mensajería cifrada con confidencialidad perfecta.

¿Cuáles son las desventajas de este protocolo? Jabber es mensajería instantánea. El protocolo soporta extensiones como las de un navegador mediante las cuales un cliente puede ofrecer funcionalidad adicional. De base no hay llamadas de voz, no hay videoconferencia ni hay archivos adjuntos. Todas estas funciones son extensiones al protocolo Jabber.

Además, faltan funcionalidades tales como los bots o poderte agregar a ti mismo para guardar archivos en la nube, tal y como permite Telegram. Sin embargo en cuanto a seguridad Conversations no tiene equivalente.

Conversations soporta todo lo que cabría esperar de un cliente moderno de mensajería e incluso más: chats en grupo, avatares, notificación de mensaje leído (tick/doble tick), sincronización entre dispositivos sin necesidad de estar conectado a una página web (puedes hablar desde más de un dispositivo y que los mensajes se mantengan sincronizados en todos), bloquear contactos y enviar adjuntos.
No sólo eso, también ofrece posibilidad de cifrado OMEMO, OpenPGP, OTR e incluso conectar via la red de enrutado anónimo TOROMEMO es el cifrado más moderno de los tres. Permite tener chats cifrados y tenerlos sincronizados entre múltiples dispositivos. Obviamente para usar Conversations no hace falta ningún número de teléfono asociado. Esto implica que es multicuenta por lo que puedes manejar múltiples cuentas Jabber en un mismo dispositivo sin necesidad de múltiples tarjetas SIM. Con una misma aplicación puedes usar la cuenta Google (Gmail/Gtalk/Hangouts) y la de cualquier otro servidor Jabber. Claro que la de Google sólo sera útil para contactar con otras cuentas Google.

Notifica vía LED, tiene tema oscuro y una gran cantidad de ajustes.
Ajustes de ConversationsAjutes de Conversations:
Opciones para expertos

Puedes exportar la clave pública
Para la exportación usa OpenKeyChain

F-Droid. OpenKeyChain se integra con otras aplicaciones como K-9 Mail (cliente de correo que permite cifrar mensajes con OpenPGP). Es decir, puedes usar la clave pública de tus contactos para mandarles mensajes de correo cifrado. De OpenKeyChain ya hablaré en otro post.


Conversations es una implementación compatible con ChatSecure, aplicación de mensajería instantánea segura disponible para iOS. Hay una versión para Android pero ésta ya no está mantenida. La misma aplicación te recomienda instalar Conversations ó Zom. Zom es la continuación de ChatSecure para Android (y que también está disponible para iOS), sin embargo no soporta OMEMO y tiene menos opciones a configurar. ChatSecure es gratuita. Conversations de pago en la Google PlayStore. En F-Droid está disponible de manera gratuita. ChatSecure iOS también implementa OMEMO desde su versión 4.0 lanzada el 17 de enero de 2017.

Ajustes de Zom Zom, modos de cifrado
ChatSecure ofreciendo otras aplicaciones (Zom ó Conversations)


Conversations es software libre GPL. ChatSecure no es GPL (la App Store no permite dicha licencia).

Los creadores de Conversations tienen servidor Jabber propio que soporta todas las características del cliente. Tiene un coste de 8 euros anuales. Si quieres montarte tu propio servidor, también ofrecen información al respecto. Prosody tiene soporte para casi todas las extensiones de Jabber que Conversations emplea. Le faltan XEP-033 (PGP), XEP-333 y XEP-352. Ejabberd soporta todas las funcionalidades soportadas por Conversations y algunas otras como voz IP y videoconferencia (Jingle, Conversations sólo permite enviar archivos). Ambos servidores (Prosody, Ejabberd) son software libre.

Este programa formaría parte de las recomendaciones de la Electronic Frontier Foundation. Yo particularmente no recomendaría Signal ya que los creadores de dicho programa no quieren generar un APK para ser firmado por los de F-Droid con la excusa de que F-Droid no tiene un equivalente a Google Analytics. Es decir, su aplicación se distribuye únicamente a través de la PlayStore. El cliente de escritorio es una extensión para Google Chrome (que también permitirá usar Google Analytics). Que se postulen como mensajería segura y respetuosa de la privacidad obligando a sus usuarios a estar fichados por Google no es coherente.

No hay comentarios:

Publicar un comentario