En el mercado actual existen numerosas plataformas de mensajería que aseguran ser seguras y proteger la privacidad de sus usuarios. Sin embargo, atendiendo al funcionamiento de una gran parte, se puede observar cómo muchas de ellas limitan sus promesas de privacidad, seguridad y anonimato a una política de tratamiento de datos y no al diseño de la aplicación.
A continuación relataré algunas características esenciales para determinar si una aplicación de mensajería es realmente privada y haré una comparación entre las distintas aplicaciones enfocadas en este sentido.
Cifrado de extremo a extremo
El cifrado de extremo a extremo o E2EE es un método de seguridad donde los datos se cifran por parte del remitente y únicamente pueden descifrarse en el dispositivo del destinatario. Esto garantiza que, incluso si los datos son interceptados, solo los participamntes de la comunicación pueden acceder a la información en texto plano.
Cifrado de acceso cero
El cifrado de acceso cero es un enfoque de seguridad en el que los datos se cifran y se mantienen completamente privados, incluso para el proveedor de servicios o plataforma que los almacena. Esto significa que el proveedor no tiene acceso a las claves de cifrado o a los datos en su forma original, por lo que no puede ver ni acceder a la información almacenada. Solo el usuario o el propietario de los datos tienen el control y la capacidad de descifrarlos.
A diferencia del cifrado de extremo a extremo, el cifrado de acceso cero garantiza que ni siquiera el proveedor de servicios tenga acceso a las claves de cifrado o a los datos en su forma original.
Perfect Forward Secrecy
Perfect Forward Secrecy o PFS es un concepto de seguridad en la mensajería que asegura que, incluso si las claves de cifrado se ven comprometidas en el futuro, las comunicaciones pasadas permanecerán seguras. PFS se logra utilizando un algoritmo de intercambio de claves efímeras. En lugar de utilizar una única clave de cifrado para todas las comunicaciones, se generan claves de sesión únicas y temporales para cada interacción. Estas claves se generan dinámicamente y se descartan después de su uso, lo que significa que no se almacenan ni se reutilizan.
Cuando dos usuarios se comunican, sus dispositivos generan claves de sesión efímeras que se utilizan para cifrar y descifrar los mensajes. Si un atacante logra obtener una de estas claves, solo podrá descifrar los mensajes de esa sesión específica.
Protección de metadatos
Para un adversario, los metadatos pueden ser muy útiles para obtener información sobre una conversación incluso si no tiene acceso al contenido de esta. Por ejemplo, aunque Meta no puede leer tus conversaciones directamente, puede saber con quién estás hablando, cuándo lo haces, desde dónde lo haces, durante cuánto tiempo, el tamaño de los datos transmitidos, etc. Un adversario en forma de interlocutor podría saber cuándo estás en línea, durante cuánto tiempo, cuándo te llegan los mensajes, cuándo los lees, etc.
Estos metadatos pueden ser ofuscados mediante algunos protocolos para hacer más difícil su obtención para los observadores. Signal ofrece algunas funciones de protección adicional:
- Sealed Sender cifra y oculta la información del remitente, como su número de teléfono. Cuando el mensaje llega al receptor, su cliente usa una llave pública del remitente para descifrar la información oculta y mostrarla al usuario. Esto permite que el receptor vea quién envió el mensaje sin revelar esa información a posibles atacantes.
- El Descubrimiento de Contactos Privados permite encontrar y conectar con contactos de forma segura y privada. La aplicación genera claves de cifrado y las almacena en el dispositivo. Se envía una versión encriptada de la lista de contactos al servidor, donde se compara con otras listas sin revelar la identidad de los usuarios. Cuando hay coincidencias, se descifra la información para establecer una conexión segura con el contacto correspondiente.
- El Sistema de Grupos Privados usa llaves maestras de grupo y claves de sesión individuales para cifrar y descifrar los mensajes enviados dentro del grupo.
La mayoría de aplicaciones comerciales recopilan y retienen metadatos, lo que puede revelar mucha información sobre tus comunicaciones.
Descentralización
Aunque las soluciones centralizadas suelen ser más fáciles de usar y tienden a ser más estables, la dependencia de un proveedor central puede ser un problema en algunos casos. Al descentralizar la infraestructura, la resistencia a la censura es mayor y se puede obtener un mayor grado de privacidad y seguridad al no haber un único punto de acceso para los datos.
Código abierto
Las soluciones de código abierto deben ser siempre prioritarias dado que permiten al usuario consultar las funciones y debilidades reales de la aplicación.
Comparación
Esta tabla compara las pricipales plataformas de mensajería segura y privada basándose en los puntos expuestos arriba. Los valores pueden ser (A)firmativo, (N)egativo o (P)arcial.
napalm@cryptolab.net