Conversaciones es un cliente Jabber / XMPP de código abierto y seguro para Android

Facebook Messenger, WhatsApp y WeChat son las tres principales aplicaciones de mensajería instantánea que actualmente dominan el mercado. Su dominio continuo se explica fácilmente por la inclusión de una interfaz fácil de usar junto con una base de usuarios de millones de personas. Sin embargo, cada una de estas aplicaciones de mensajería instantánea comparte una falla: son propiedad de gigantes de las redes sociales. Si alguien se registra para obtener una cuenta de WhatsApp, también debe aceptar el acuerdo de licencia de usuario de Facebook. En general, se entiende que intercambia su privacidad para utilizar estos servicios convenientes. Aunque los desarrolladores de WhatsApp implementaron el cifrado de extremo a extremo como una característica estándar, la aplicación en sí no es de código abierto, por lo que se reduce a la confianza ciega si crees que Whatsapp no ​​puede recopilar datos sobre ti.

Para una experiencia de mensajería fluida, todas las principales aplicaciones de mensajería instantánea se basan en la implementación de transferencia de mensajes nativa de Android llamada Google Cloud Messaging (GCM). El mensaje se pone en contacto con los intereses comerciales incluso antes de que llegue al servidor. La mayoría de los usuarios no están dispuestos o no pueden verificar si el servicio que utilizan cumple sus promesas, e incluso los expertos solo pueden adivinar si WhatsApp aún cumple ciertos estándares de seguridad después de que la aplicación se haya actualizado. Cada actualización requiere una auditoría de seguridad independiente que requiere la cooperación del proveedor, en este caso Facebook.

La independencia es la clave aquí, lo que nos lleva a Conversations Messenger . Es una aplicación de mensajería instantánea de código abierto que evita el uso de GCM mediante el uso del protocolo XMPP, lo que le da control al usuario. Conversaciones le permite ejecutar varias cuentas simultáneamente e incluso puede usar una cuenta diferente para cada contacto. Mientras que otros mensajeros no mencionan visiblemente en qué servidor se carga la información dada, Conversaciones permite al usuario decidir qué servidor Jabber merece su confianza. O incluso podría usar su propio servidor. Conversaciones también ofrece un servidor optimizado para sus requisitos, y los primeros 6 meses de uso del servidor son gratuitos.

La elección separa las conversaciones de la multitud. La aplicación admite el cambio entre algoritmos de cifrado sobre la marcha y puede elegir entre tres algoritmos de cifrado: PGP, OTR y OMEMO . Si bien PGP y OTR son algoritmos confiables, OMEMO lo impulsa aún más. OTR nunca fue adecuado para la mayoría de los usuarios simplemente porque ambos socios de comunicación tenían que estar en línea al mismo tiempo para la entrega del mensaje. OMEMO resuelve este gran inconveniente de OTR; la entrega de mensajes no requiere que ambos usuarios estén en línea simultáneamente.

OMEMO ofrece Forward Secrecy . ¿Qué significa esto? Ofrece una capa adicional de protección que mantiene sus datos seguros. Aquí hay un escenario: el cifrado de extremo a extremo depende de la clave privada almacenada únicamente en el dispositivo, por lo que si el teléfono es robado, la clave privada cae en manos del ladrón. Sin el Reenvío secreto, el ladrón podría descifrar todos los mensajes almacenados en el teléfono. El protocolo Forward Secrecy genera una clave aleatoria para cada sesión, por lo que incluso si la clave privada está en las manos equivocadas, los mensajes almacenados siguen siendo seguros.

Por lo general, los usuarios confían en la identidad de su interlocutor, por eso OMEMO utiliza identidades de dispositivo. Cada tecla OMEMO viene con una huella digital única que permite verificar al interlocutor, por ejemplo, mediante una llamada telefónica. Una vez que se verifican los compañeros de chat, el algoritmo Double Ratchet garantiza que solo el destinatario del mensaje pueda descifrarlo. Double Ratchet genera y cifra cada mensaje con una clave temporal. Una vez que la entrega es exitosa, la clave no tiene valor y no se puede usar para descifrar nada. Solo tiene el propósito de mantener los datos seguros mientras viaja por la red mundial.

Las conversaciones están disponibles en Google Play Store y Amazon App Store. Aunque las versiones de la tienda de aplicaciones no son gratuitas, la aplicación es de código abierto, por lo que puede compilarla usted mismo o obtenerla de F-Droid.

¿Interesado en aprender más sobre la aplicación de la boca del caballo? Daniel Gultsch, desarrollador principal de Conversaciones, se tomó un tiempo para responder mis preguntas.


Entrevista con el desarrollador de conversaciones

P: ¿Podría presentarse brevemente?

R: Mi nombre es Daniel Gultsch y estoy trabajando como desarrollador y asesor de software independiente.

P: ¿Qué te motivó a desarrollar conversaciones?

R: Estoy usando Jabber / XMPP durante muchos años. Incluso en 2009 pude usar Jabber en mi Nokia e71. En algún momento alrededor del año 2012 cambié a un teléfono Android, así que de repente no pude usar Jabber. Había un cliente Jabber para Android disponible (Xabber), pero era lo opuesto a lo visualmente atractivo.

A principios de 2014, me preguntaba cuán difícil sería desarrollar un cliente de chat que se vea mejor (que Xabber). En este punto tenía experiencia en el campo del desarrollo de software, pero no para Android. Después de unos días, una Maqueta de la IU se hizo realidad, así que me pregunté qué difícil sería enseñar a enviar y recibir mensajes de jabber a esta IU. Tres meses después de trabajar a tiempo completo, se lanzó la primera versión de Conversaciones.

P: ¿Puede dar tres razones por las cuales Conversaciones protege su privacidad mejor que Whatsapp o Threema?

R: No tengo que dar mi número de teléfono privado a extraños si quiero chatear con ellos. Podría tener una cuenta privada y una cuenta comercial. Puedo desactivar la cuenta comercial después de mi turno, para evitar que mi jefe me moleste durante mi tiempo libre. WhatsApp permite a todos analizar los patrones de uso de mi aplicación en cualquier momento. (Mi jefe podría acosarme para investigar si estoy usando WhatsApp durante mis horas de trabajo o si estoy usando WhatsApp por la noche en lugar de dormir y venir descansado a la oficina). Esto es diferente con las conversaciones; Las conversaciones tampoco cargan toda mi libreta de direcciones en Facebook.

P: ¿Cuánto cuesta una suscripción de un año de una cuenta de Conversations.im?

A: 8 euros (alrededor de $ 9 US). Después de un período de prueba de seis meses. Las suscripciones no se renuevan. No es necesario finalizar la suscripción.

P: ¿Qué ventajas ofrece una cuenta de Conversations.im en comparación con otros servidores XMPP?

R: Las nuevas funciones, que requieren soporte del lado del servidor, se entregan primero a conversaciones.im. En términos generales, estamos tratando de ejecutar conversaciones.im con requisitos un poco más altos. Un servidor, impulsado por un proyecto de pasatiempo, puede fallar por un día, mientras la persona está de vacaciones. Tratamos de evitar tales cosas para las conversaciones. Al menos durante las horas de servicio siempre hay alguien capaz de cuidar el servidor si es necesario. Además, es compatible con el desarrollo del servidor, que también es de código abierto. Los cambios que se realizan específicamente para nuestra aplicación de conversaciones terminan en el código del servidor y están disponibles para otros.

P: ¿Puedo comprar conversaciones a través de Bitcoin?

A: No es la aplicación. La aplicación se vende en Google PlayStore, no aceptan Bitcoins. Es posible descargar la aplicación de forma gratuita a través de Open Source App Store F-Droid. En ese caso, con mucho gusto acepto donaciones a través de Bitcoin.

P: ¿Qué es OMEMO?

R: Un cifrado de extremo a extremo (opcional) para Jabber.

OTR falló fácilmente. Si se pierde un determinado mensaje debido a una mala cobertura de la señal telefónica, tampoco se pueden entregar mensajes de seguimiento. Además, OTR solo es capaz de intercambiar mensajes entre exactamente dos dispositivos como máximo. Por ejemplo: cuando estoy conectado con dos dispositivos simultáneamente (teléfono móvil y computadora de escritorio), mi contraparte tiene que decidir si quiere enviar los mensajes al teléfono o al escritorio. Si mi contraparte no puede clarividencia, qué dispositivo estoy usando actualmente, esto es un problema. Aparte de eso, los mensajes, por supuesto, no están sincronizados en ese caso, y extraño una parte del historial de conversación en cada dispositivo. OMEMO se deshace de ambos problemas. OMEMO es más confiable y capaz de manejar más dispositivos.

P: ¿Qué es el secreto directo?

R: Supongamos que eliminaría mi historial de conversaciones con frecuencia (puede eliminar automáticamente mensajes anteriores a un período de tiempo configurado.

Supongamos que alguien estaba almacenando toda mi comunicación encriptada (por lo que no puede hacer nada con ella, tiene el texto encriptado, no el texto plano. Ahora esta persona roba mi teléfono. Los mensajes en sí no se encuentran en el teléfono más (se eliminan con frecuencia), pero mi material clave (mi clave privada) todavía está allí.

Si un cifrado no tiene Reenvío secreto, esa persona puede combinar el material clave que se encuentra en mi teléfono más los mensajes cifrados que grabó antes de poder reconstruir el texto sin formato. Si el cifrado tiene Forward Secrecy, esto no es posible.

P: ¿Qué describe el término Gastos generales por mensaje?

R: La cantidad de ancho de banda requerida, respectivamente, agregada por el cifrado. Supongamos que un mensaje no cifrado tiene un tamaño de 2 KB y el mismo mensaje cifrado tendría un tamaño de 5 KB. En este caso, 3 KB es la "sobrecarga" creada mediante el cifrado.

P: ¿Planea implementar una función de llamada?

R: No. Las nuevas características vienen si las necesito yo mismo o si tienen sentido desde una perspectiva económica. (¿Cuántas personas más usarían la aplicación si esta función estuviera allí y qué tan costosa es desarrollarla?) Desafortunadamente, la función de llamada es muy, muy, muy costosa y personalmente no me importa mucho esta función.

P: ¿Cómo puedo apoyar el desarrollo de la aplicación después de comprarla?

R: Hay detalles sobre cómo donar en nuestro sitio web. La promoción y publicidad, por supuesto, también ayuda y la aplicación es de código abierto. Aquellos que pueden desarrollar software, por supuesto, pueden ayudar con la codificación.

P: ¿Desarrollaste el algoritmo OMEMO por tu cuenta?

R: No. Fue un proyecto de Google Summer of Code (Google Summer of Code significa que Google paga a los estudiantes 3 meses por trabajar en proyectos de código abierto). OMEMO fue desarrollado para conversaciones por un estudiante.

P: ¿Cuáles son sus planes adicionales para el desarrollo de Conversaciones?

R: No es probable que aparezcan nuevas funciones realmente grandes. Las conversaciones hacen todo lo que se supone que debe hacer. Debajo del capó habrá uno u otro ajuste (Uso de datos / velocidad de conectividad, etc.) Pero eso no es nada visible para el usuario promedio. Una pequeña cosa, que probablemente se realizará después es la posibilidad de confirmar la transferencia, antes de enviar la imagen. Hasta la fecha, las imágenes siempre se envían de inmediato.

P: ¿Está permitido compilar conversaciones por su cuenta desde su Github y usarlo para uso privado?

R: por supuesto. No solo privado, también para negocios y todo lo que quieras. También está permitido modificar el código para cumplir con los requisitos individuales.

P: ¿Es posible hacer un túnel de conversaciones a través de una VPN?

A: si.

P: Al final, nos gustaría escuchar la pista de un profesional. ¿Qué medidas, además de usar Conversaciones, recomienda para proteger la privacidad como usuario de Android?

A: Habilite el bloqueo de anuncios dentro de su navegador. Por ejemplo, Firefox (también disponible para Android) y el complemento uBlock.

Desactive los servicios de ubicación (en versiones recientes de Android, hay un mosaico rápido para ello) cuando no están en uso. De lo contrario, Google sabe dónde has estado todo el tiempo.

Estas dos cosas son muy simples de aplicar y son prácticas útiles.


Nota del editor: este artículo fue escrito originalmente en alemán por Raúl Radonz. Fue traducido por Raúl Radonz y editado por Mishaal Rahman. Raúl Radonz y -Developers desean agradecer al Sr. Gultsch por tomarse el tiempo para realizar esta entrevista.