Utiliza criptografía al enviar SMS de la mano de Silence

Silence es una aplicación para Android que permite utilizar el protocolo criptográfico Signal. Los SMS enviados y recibidos entre contactos que dispongan la aplicación y decidan establecer una comunicación cifrada enviarán y recibirán SMS que sólo ellos podrán leer. Cualquier intermediario leerá únicamente texto aleatorio.

El programa es sencillo de manejar. Funciona igual que la aplicación de mensajería que trae Android tal y como sale del repositorio del proyecto del sistema operativo, Android Open Source Project (AOSP). Tiene el añadido de poder cifrar los mensajes. Para ello basta con pulsar el candado que aparece en la ventana de conversación. El programa realizará automáticamente el inicio de una sesión segura. Los mensajes intercambiados con nuestro interlocutor continuarán cifrados con la misma sesión mientras no la finalicemos o no la borremos del teléfono.

Se puede obtener en F-Droid así como en la Play Store. El código fuente está en GitHub.
A continuación, una serie de capturas de pantalla detallan y visualizan el funcionamiento de la aplicación.

Lista de mensajes, pantalla principal. Podemos borrar las conversaciones desde aquí.

Inicio de una sesión cifrada. Para iniciar una conversación cifrada se requiere dos mensajes para intercambiar claves. En la imagen se ven tres mensajes de intercambio de claves. El primero, enviado desde el teléfono que se realizó la captura, consistía en una prueba con un receptor que no disponía de aplicación. Después de instalar la aplicación, el receptor inició un intercambio de claves. De ahí los dos mensajes siguientes. Estos mensajes se envían automáticamente al iniciar una conversación segura si ambos tienen Silence. Este comportamiento de intercambio automático viene activado por defecto. Nótese que el cuadro de escritura de mensaje pone «Enviar SMS seguro».

Inicio de una sesión cifrada, por parte del receptor. El mensaje de inicio de cuando aún no disponía de Silence es incomprensible. Una cadena alfanumérica ininteligible. Una vez instalada la aplicación, el receptor decide iniciar una conversación segura puesto que el anterior inicio había quedado truncado. El otro par le envía la clave de respuesta automáticamente.

Una conversación no segura. Nótese que el cuadro de texto para escribir el mensaje pone «Enviar SMS no seguro». En la barra de título de la conversación el candado aparece abierto y con una equis «X». Si se pulsa dicho candado estableceríamos una conversación segura realizando un intercambio de claves como el visto en las capturas anteriores.

Opciones de una conversación. Se pueden adjuntar archivos y/o imágenes. Si se hace esto en vez de un SMS se enviaría un MMS.

Pantalla correspondiente a la opción «Configurar conversación».

Menú de la pantalla principal. Permite ver conversaciones archivadas, crear grupos de contactos a los que enviar SMS simultáneamente, importar y exportar SMS, ver el identificador de la clave de cifrado.

La función de  importación y exportación permite importar y exportar SMS tanto cifrados como en texto plano. Los SMS estarán cifrados localmente si se ha puesto una contraseña al programa.

La pantalla de visualización del identificador de clave. Desde la pantalla de una conversación se puede pulsar en el candado y darle a verificar identidad. Ahí veremos también el identificador de nuestra clave así como el de la clave de nuestro interlocutor. Imprescindible para comprobar que nadie ha falsificado el intercambio de claves y se interponga entre nostros y nuestro interlocutor, haciéndose pasar por él.

Pantalla correspondiente a la configuración de privacidad. Se puede poner contraseña para que los SMS del teléfono y claves permanezcan cifrados.

Apariencia e idioma. Dispone de un tema claro y uno oscuro.

Opciones básicas de manejo de SMS y MMS.

Opciones adicionales tales como intercambiar o no automáticamente las claves al recibir una petición de inicio de sesión segura.


El concepto que hay detrás es el mismo que el de PGP, salvo que el intercambio de claves para una conversación en concreto es automático. Eso sí, requiere de un intercambio cada vez que se inicia una nueva conversación o se reinstala la aplicación.
Silence es un fork de TextSecure que no depende de los servicios de Google.
También puede que sea de vuestro interés Telegram FOSS, disponible sólo en F-Droid. Hace un tiempo escribí una entrada acerca del mismo. Conversations es otro cliente del que hablé, permitiendo establecer sesiones seguras mediante el protocolo XMPP y el uso de OTR, OMEMO u OpenPGP así como TOR.

Comentarios