El cifrado de punto a punto (end-to-end encryption) ahora se ha vuelto masivamente popular. En una actualización del pasado 31 de Marzo, la plataforma de mensajería WhatsApp, propiedad de Facebook, ha lanzado silenciosamente un cambio que añadió el cifrado de fin a fin activado por defecto para sus funcionalidades de mensajes y llamadas.
Esta novedad lo anunciaron públicamente el 5 de Abril, lo que permite a más de 1.000 millones de usuarios activos por mes a comunicarse con con la garantía de un fuerte cifrado -ya sea para intercambiar mensajes, enviar archivos, participar en grupos de chat, o llamando directamente entre sí. Que quede claro: esto significa que, de un plumazo, WhatsApp ha expandido la base de los usuarios del cifrado de fin a fin, algo reservado para aquellos que protegen secretos comerciales, aficionados a la criptografía, e informantes, a una porción realmente importante de la población mundial. Es difícil medir cuán importante es esta movida en pos de la seguridad y privacidad de los usuarios normales. A partir de esta semana, hay cientos de millones de usuarios que por primera vez se comunican entre sí mediante el cifrado de fin a fin.
No sólo son los usuarios de la aplicación están protegidos con el cifrado, sino que es un cifrado fuerte. En un documento técnico publicado el 4 de Abril, WhatsApp describe en detalle el intercambio criptográfico subyacente que se produce cuando los usuarios mensajean entre sí. Está basado en el protocolo de la aplicación Signal (bautizado Axolotl) desarrollado por Open Whisper Systems, y que utiliza el algoritmo Double Ratchet para proporcionar una confidencialidad directa incluso si las llaves de sesión se ven comprometidas. Esto significa que si un adversario es capaz de descubrir las claves de cifrado utilizadas por la aplicación, esto no pone en peligro las comunicaciones realizadas con los contactos en el pasado, ya que seguirá estando protegida. El protocolo de Signal se basa en un cifrado por bloques ('primitives') robusto y exhaustivamente investigado para generar y transmitir mensajes, incluyendo la variante de cifrado de curva elíptica ECDH del tipo Curve25519. Además de la sólida oferta de punto a punto, todas las comunicaciones entre la aplicación cliente y el servidor de WhatsApp se cifran utilizando canalización de tuberías (Noise Pipes) a partir de la estructura Noise Protocol Framework.
Quienes estén familiarizados con el uso de Signal notarán que el proceso de trabajo de cifrado es similar con WhatsApp. Ambas aplicaciones tienen como objetivo la facilidad de uso, “escondiendo” la funcionalidad del cifrado subyacente al usuario final, integrándola de la manera más sencilla posible dentro de la normal e intuitiva interfaz de usuario. Sin embargo, hay algunas diferencias. Las principales diferencias tienen que ver con cómo se establece la autenticidad. Tradicionalmente, las aplicaciones de fin a fin se han basado en verificar manualmente las huellas digitales. Si María quiere verificar la identidad de José, María tendría que hacer que José lea (o visualice el código QR) su “huella digital” -la forma de obtener de su clave de cifrado pública. Si María tiene la misma huella digital para José, ella puede estar segura de que cuando recupere la clave de José por Internet, ésta no fue alterada o reemplazada por la clave de otra persona, tal vez alguien con malas intenciones. José tendría que hacer que María lea sus claves también.
WhatsApp ha tomado una decisión interesante de no repetir este mismo proceso en su aplicación. En su lugar, se presenta un código QR distinto para cada interacción que se comparte, de manera que María y José estarán escaneando el mismo código QR entre sus dispositivos. Presumiblemente, su razonamiento es que se vuelve más intuitivo para que ambas partes puedan verificar exactamente la misma imagen (que en realidad consiste en las huellas digitales de María y José concatenadas) Lo interesante acerca de esta decisión es que apunta hacia una cierta consideración para introducir el concepto de comprobación de llaves para millones de personas. Por el contrario, la plataforma de mensajería iMessage de Apple, que ganó notoriedad el año pasado por su propio uso del cifrado de fin a fin, no permite a los usuarios verificar las llaves entre ellos en absoluto. WhatsApp está demostrando al mundo que no es necesario sacrificar la facilidad de uso con el fin de proporcionar características significativas, tales como formas de verificar la autenticidad del contacto. A fin de verificar la identidad de un contacto, en primer lugar usted querrá asegurarse de que su contacto cuenta con la actualización de WhatsApp que actualmente es compatible con las nuevas características de seguridad. Usted puede hacer esto en el sistema Android mediante la visualización de los detalles del contacto (Ilustraciones en idioma inglés):
Verá un candado de color verde que indica que sus comunicaciones están cifradas. A continuación, usted puede tocar la cerradura para verificar un código de seguridad tal como se ha descrito anteriormente:
Desde esta pantalla, puede hacer que su contacto escanear su código, y puede escanear el código de su contacto.
Uno de los ajustes que aquellos conscientes de la seguridad deben de cambiar es mostrar las notificaciones de seguridad. Esto asegura que si cambia la llave de cifrado de sus contactos, usted será notificado de este cambio, de este modo usted sabrá que tiene que verificar de nuevo los códigos de seguridad. Con Signal estas notificaciones se muestran siempre, pero con WhatsApp son opcionales y están desactivadas de manera predeterminada. Para cambiar esto en el sistema Android, vaya a Ajustes → Cuenta → Seguridad, y deslice a la derecha la opción 'Mostrar las notificaciones de seguridad'.
Otra configuración que aquellos conscientes de su seguridad deben prestar atención es de no guardar copias de mensajes sin cifrar a la nube. En Android, WhatsApp da la opción de enviar copias de seguridad a Google Drive; para iOS de Apple la opción es enviarlas a iCloud. Para asegurar que las copias de chats en la nube están desactivadas ingresa a Ajustes → Chats → Copia de seguridad.
Desde EFF hemos actualizado nuestro tablero que analiza las aplicaciones de mensajería Secure Messaging Scorecard (inglés) para otorgar a WhatsApp 6 de 7 estrellas. Por desgracia, WhatsApp sigue siendo de código cerrado, lo que significa que un auditor independiente no puede revisar el código y su seguridad. Por esta razón, si usted ya está utilizando Signal para comunicarse con sus contactos, manténgalo. Es mejor utilizar un producto de código totalmente libre y abierto. Sin embargo, debido a la masiva adopción de WhatsApp, es posible que tenga contactos que jamás habrían anticipado utilizar el cifrado de fin a fin. Por el bien de la privacidad y seguridad de ellos y de usted, instale WhatsApp y utilícela cuando se comunica con ellos. Se alegrará de haberlo hecho.
Actualización 20 de abril: Agregada una explicación y captura de pantalla para desactivar las copias de seguridad de mensajes.