Científicos de todo el mundo están de acuerdo en que el ser humano tal como lo conocemos es incapaz de desprenderse de su equipo móvil. Según expertos, este fenómeno se observa cada vez con más frecuencia en los últimos años cuando la vida depende de enviar mensajes de la forma más simple, barata e inmediata posible. Los experimentos realizados han comprobado el detenimiento inminente de órganos principales ante la imposibilidad de enviar el texto deseado. Esta tendencia ha conducido el desarrollo de cada vez más variedad y métodos de lo que se ha dado a llamar: mensajería instantánea.
En maullidos somos conscientes de la realidad y a menudo formamos parte de ella, y por eso (y un poco también porque es “la moda” y no podíamos ser menos) no pusimos a jugar a enviarnos mensajes instantáneos. Si hay que ponerse a mencionar aplicaciones no terminamos más porque abundan. Pero esta abundancia no es realmente lo llamativo, sino que lo es la varieté de protocolos y modalidades que existen y que se inventan a diario. Sin embargo, la tenemos fácil: nos gusta cierto tipo de software que cumpla ciertos requisitos básicos.
En primer lugar : el protocolo debe de ser de libre implementación y estar bien documentado, muy importante tanto del lado del servidor como del cliente. Esto deja fuera de por sí un buen número de aplicaciones.
En segundo lugar : debe de ofrecer una metodolgía de cifrado de datos (que por supuesto satisfaga a su vez el requisito anterior). Esta metodología puede ser una implementación de la propia aplicación como parte de su proyecto de desarrollo, o puede haber sido incorporada a partir de un desarrollo independiente del protocolo y su modelo cliente-servidor.
Otro requisito que consideramos fundamental es que tanto servidor como cliente sean accesibles y multiplataforma (lo siento por esa “mala palabra”, pero no hay otra que signfique eso), es decir, que no dependan de ninguna marca, modelo, compañía, año o moda de turno como una tienda de aplicaciones/gestor de paquetes del dispositivo en que se ejecuten. Debemos de ser todos exactamente iguales y capaces de instalar, como luego de implementar nuestro propio sistema de mensajería instantánea.
Tanto filtramos que nos quedamos con tres. Aquí lo que descubrimos y aprendimos.
Mensajería P2P cifrada con Tox: cuando el cliente y el servidor son uno solo.
Los muchachos del proyecto Tox se presentan a sí mismos recordándonos la dura verdad que gobiernos y corporaciones nos vigilan hasta en la sopa. La solución que nos traen es : un software gratuito y fácil de usar. Nosotros lo usamos sólo un par de días y no nos convenció.
Al principio, la idea de un sistema donde el cliente que uno se instala es al mismo tiempo el servidor (p2p) nos resultó atractiva. De esta manera, no dependemos de que ningún software externo esté cifrando y gestionando la comunicación y por su parte, el ID de usuario es a su vez una clave de varios dígitos, al punto que si no son exportados los datos de la aplicación (para guardar clave propia e ID de los “contactos” establecidos hasat el momento), la próxima vez que ejecutamos el cliente, una nueva identidad es creada y ya no somos la misma persona.
Sin embargo, en el uso diario notamos ciertas falencias: nuestro ID no es tan secreto como se supone, ya que es publicado a toda la red p2p de la que formamos parte y quedamos expuestos a que gente indeseada nos contacte; por otra parte, el servicio resulta ser demasiado inestable, al punto de ser molesto ver cómo nuestros contactos se conectan y desconectan a cada momento.
La belleza de lo presente y las cosas bien pensadas: matixchat
Matrix es un protocolo de comunicación enfocado en la seguridad y la descentralización. Lo más destacable de matrix son sus APIs sencillas de usar y su método de cifrado de punto a punto. Además, clientes como Riot han sabido incorporar las llamadas de voz y videoconferencia de manera excelente, posee su versión para escritorio, el diseño es atractivo y funcional y es relativamente fácil configurar el cifrado punto a punto sin necesidad de software externo.
No hay duda que la gente que trabaja en este proyecto ha pensado bien las cosas. Esto se nota especialmente en el cifrado que mencionamos: matrix ha desarrollado sus propios algoritmos, de manera que el cifrado es parte del propio software y no depende de desarrollo externo. Además, por si fuera poco, es posible cifrar los mensajes en salas de varios miembros, lo que resulta particularmente útil para quienes trabajamos colaborativamente.
¿Qué cosas podríamos criticar? El software del lado del servidor prácticamente se come los recursos de la máquina por lo que necesitamos un equipo potente para ejecutarlo. Esto hace que “no todo mundo pueda poner su propio servidor en casa” y esperar que todo sea color de rosas.
El valor de lo clásico: xmpp.
Dicen que el diablo sabe más por viejo que por diablo. Este es el caso del antiguamente llamado Jabber, hoy ampliamente conocido como XMPP por las siglas que en inglés significan Protocolo de Presencia y Mensajería Extensible.
No hace falta demasiada explicación : el protocolo es extensible, lo que significa que al software original se incorporan modificaciones de tal forma que podemos hacer mucho más de lo que esperamos. Muchos ven esto como una ventaja y otros como una debilidad. Por nuestra experiencia, estamos seguros que el protocolo se fortalece a raíz de las extensiones que van naciendo y creciendo con el tiempo.
En la actualidad existen dos clientes por excelencia para móviles: Xabber y Conversations, ambas con soporte para múltiples cuentas, e incontables clientes para escritorio. Xabber trae todos los juguetes que los más viejitos amamos de los clientes de escritorio, pero sólo soporta el método de cifrado otr. Por su parte, Conversations no sólo es muy fácil de usar y configurar, sino que además soporta los dos métodos de cifrados mejor valorados a la fecha, a saber, omemo y openpgp (a través de la api de la aplicación para móviles Openkeychain).
¿Pero por qué nos gusta tanto xmpp?
En este punto varios pensarán que este artículo fue pagado por cierta gente para que tiremos flores a favor de sus aplicaciones (cuando precisamente todavía no se ha mencionado ninguna marca o nombre comercial). Lo cierto es que lo que más nos gusta de xmpp es lo excesivamente fácil que resulta poner a correr un servidor, que además es livianísimo en cuanto a recursos y extensible a través de “plugins” o “mods” como se los llama en este ámbito, y por supuesto no menos importante: es siempre descentralizado y federado. Tú y yo podemos tener uno, dos y tres servidores instalados comunicándose ya con los cientos y miles que existen por todo el mundo.
Vamos redondeando…
Este artículo no pretende ser técnico, sino más bien es una bitácora que cuenta (muy resumidamente) lo que nos pasó mientras jugábamos líbremente un rato con algunas aplicaciones para charlar unos con otros. Si desean saber los cómo y los qué como detalles pormenores, vayan a la documentación (por este motivo planteamos aquel requisito) y si no tienen tiempo o ganas de leer, instalen y aprendan por fuerza bruta (del que muchas veces funciona mejor que cualquier otro método).
Por supuesto toda experiencia, todo aprendizaje, si es bueno y valedero, traerá desafíos. En este momento, nuestro mayor desafío lo ha traído el protocolo xmpp: queremos lograr lo que matrix ya ha logrado: cifrado en salas grupales. De momento hemos podido establecer una comunicación cifrada en una sala pero sólo dos de los usuarios han sido capaces de leerse entre sí, quedando un tercero totalmente a ciegas en la sala. Pero tranquilos, somos muy tercos y vamos a rompernos la cabeza hasta saber ¡cómo carajos se hace para que funcione!
Finalmente, invitamos a todos los lectores que participen, comprueben y sobre todo descubran este fascinante mundo d que está ahí a dos clicks del teléfono, a dos clicks del teclado y a un solo click de la mente: gratis, libre y muy muy seguro.