Ayer por fin se activó una de las características más demandadas y esperadas en WhatsApp: el cifrado extremo a extremo. Como explicaban los responsables del servicio, eso significa que todos nuestros mensajes, fotografías, vídeos y notas de voz serán cifrados al ser enviados, y solo se descifrarán cuando lleguen al dispositivo del receptor.
Han tardado en adoptar esta medida, pero por fin contamos con un mecanismo que protege nuestra privacidad. Ahora bien: ¿cómo funciona ese sistema de cifrado? Y lo más importante: ¿podemos estar realmente tranquilos a la hora de usar este servicio sin que se viole nuestra privacidad?
La seguridad de WhatsApp era un chiste
En mayo de 2011 se descubría una vulnerabilidad crítica en WhatsApp: este problema hacía que las sesiones de usuarios pudieran ser "secuestradas" y que el ciberatacante pudiera tener acceso a información.
Aunque WhatsApp publicó una actualización, había un problema latente: los datos seguían transmitiéndose en texto plano, sin cifrado alguno. Eso provocó que apareciera otro polémico problema de seguridad meses más tarde. En 2012 nos enteramos de que el sitio web WhatsAppStatus.net permitía a cualquier usuario cambiar el estado de cualquier usuario de WhatsApp.
Aquel error demostró que la capacidad de respuesta de WhatsApp en esta materia era deficiente: aunque sus ingenieros indicaron que habían corregido el problema, simplemente habían bloqueado la dirección IP de ese servicio para que no pudiera utilizarse.
Eso provocó que otros servicios similares aparecieran, y no fue hasta la primavera que se implementó una solución algo más robusta. El servicio dejó de usar por fin texto plano para la transmisión de datos, pero el método de cifrado que se integró por parte del servicio de mensajería no era lo suficientemente seguro, según confirmaron diversos informes de expertos en seguridad.
Las cosas han mejorado con la actualización que se anunció ayer y que permitirá al fin contar con un cifrado seguro para nuestros mensajes. Para entender las diferencias es útil comparar la calificación de esos mecanismos antes y después del anuncio.
La Electronic Frontier Foundation, que analiza siete parámetros clave de esos mecanismos, indicaba en noviembre de 2014 que WhatsApp solo cumplía 2 de las 7 grandes condiciones de un buen sistema de cifrado. Hoy cumple todas menos una: que el código es propietario y no está disponible para revisión pública. En realidad sí hay parte del código disponible, como demuestra su disponibilidad en GitHub: quizás la EFF simplemente no haya actualizado ese apartado de su calificación y deba echar un vistazo a este punto.
Mejor dejar las cosas en manos de expertos
En noviembre de 2014 la empresa decidió poner fin a las críticas y implementar un nuevo sistema de cifrado. Sin embargo no fue la propia WhatsApp la que lo implementó: para lograr una solución realmente sólida acabaron colaborando con Open Whisper Systems, una empresa muy conocida por ser responsbale de productos como Redphone, Signal -sí, esa aplicación que Edward Snowden recomienda- o Textsecure.
De hecho una de las garantías de la empresa era estar fundada por Moxie Marlinspike, un investigador de seguridad informática muy conocido por sus logros que ha publicado sus desarrollos bajo licencias Open Source, algo que ha permitido auditarlas.
Los responsables de Open Whisper Systems indicaron que este nuevo cifrado se basaría en TextSecure -un servicio que utiliza una clave de cifrado única para cada dispositivo- para proteger la gigantesca base de usuarios del servicio de mensajería instantánea de Facebook. El propio Moxie participaba ayer en el siempre nutrido debate que aparecía en Hacker News. Uno de los lectores le preguntaba si este nuevo sistema haría que ni Facebook ni los servidores de Signal pudieran cotillear, respondió con claridad: "los únicos que pueden leer el mensaje (u oír una llamada de voz) son los receptores".
Así funciona el cifrado extremo a extremo de WhatsApp
Uno de los aspectos más destacados del tipo de cifrado que utiliza ahora WhatsApp es la forma en la que se gestionan las claves de cifrado. En lugar de almacenar esas claves en un servidor centralizado y gestionado por personal de WhatsApp, el cifrado extremo a extremo funciona mediante el almacenamiento de esas claves de cifrado en el dispositivo de cada usuario.
Al ser combinado con TextSecure -que utiliza un protocolo que emite una nueva clave por cada nuevo mensaje- se logra que esos mensajes no puedan ser interceptados por nadie. Ni siquiera el personal de WhatsApp podría tener acceso a esas comunicaciones... a no ser, claro, que uno de ellos nos robara el dispositivo y lo tuviera desbloqueado, ya que es allí donde se produce el mecanismo de descifrado de la información.
Este sistema difiere de otros sistemas de mensajería instantánea y de redes sociales o servicios en internet en los que las claves no solo se almacenan en los dispositivos sino también en esa infraestructura de servidores centralizada. Eso hace que tanto las empresas como los gobiernos puedan tener acceso a dichos datos, y supone también una forma de que hackers y crackers puedan tratar de violar nuestra privacidad.
Pongámonos algo más técnicos
Los responsables de WhatsApp han publicado un documento técnico (lo tenéis en PDF aquí) en el que se explica con más detalle el sistema de cifrado, basado en el protocolo Signal (antes conocido como Axolotl) diseñado por Open Whisper Systems. Si queréis echar un vistazo a una explicación "distinta" de cómo funciona el protocolo, atentos a esta presentación de Codexgalactic. Como explican allí:
Este protocolo de cifrado extremo a extremo está diseñado para evitar que terceras partes y WhatsApp tengan acceso al texto plano de las llamadas o los mensajes. Y lo que es más, incluso si las clavs de cifrado de un dispositivo de usuario se ven comprometidas físicamente, no podrán ser usadas para volver atrás en el tiempo y descifrar mensajes transmitidos con anterioridad.
El sistema hace uso de tres tipos de claves públicas (una para identificar al dispositivo, otra generada periódicamente y firmada digitalmente por la anterior, y otra que se usa solo una vez en cada utilización del servicio) y tres tipos de claves de sesión (una clave de administrador usada para generar la clave de cadena, una clave de cadena utilizada para crear la clave de mensaje, y una clave de mensaje que consta de 80 bytes: 32 de ellos para una clave AES-256, otros 32 para una clave HMAC-SHA256, y otros 16 para un IV, un vector de inicialización).
En el documento se explica el proceso con el cual se van utilizando y eliminado claves de un solo uso durante el proceso de comunicación tanto entre comunicaciones de usuario a usuario como en las comunicaciones de grupos, para los que existe una implementación ligeramente distinta que toma en cuenta ese escenario en el que lógicamente también se produce ese cifrado extremo a extremo. Por cierto, otra nota importante: los adjuntos que enviáis también están cifrados, algo que también se explica en ese artículo.
El sistema hace uso de una cola de claves que se va rellenando a medida que se va necesitando, pero aún hay más: la seguridad también se implementa en el canal de transporte, que es un canal separado y también cifrado haciendo uso del llamado Noise Protocol Framework también desarrollado por Open Whisper Systems y que hace uso de "tuberías" llamadas Noise Pipes en las que una vez más se hace uso de cifrado Curve25519 (los sistemas de cifrado de clave elíptica están muy de moda últimamente), AES-GCM y SHA256 para proteger esas transmisiones e incluso los metadatos: "no se revela información de la identidad de los usuarios que se están conectando", indican en el documento.
El sistema es, afirma Marlinspike, incluso más seguro que el que utiliza Telegram, que hasta ahora era una opción más reputada en este ámbito. Como afirmaba el fundador de Open Whisper Systems, "por defecto Telegram almacena en sus servidores una copia en texto plano de cada mensaje que has enviado o recibido en sus servidores. WhatsApp utiliza cifrado extremo a extremo usando el Signal Protocol por defecto y no almacena nada en sus servidores". Aquí hay que señalar que en el sitio web de Telegram se indica que su servicio Cloud Chat cifra textos y adjuntos, pero Moxie y otro experto en seguridad llamado Thomas Ptacek afirmaban que eso solo era marketing, y que por lo que aparece en su API ese cifrado no existe.
El protocolo "Secret Chat" de Telegram ha sido cuestionado por algunos, pero la empresa hace tiempo que propuso a cualquiera que quisiera tratar de romper esa seguridad y llevarse una recompensa de 200.000 dólares en bitcoin. Eso no significa mucho, en realidad: varios expertos en seguridad como el propio Moxie Marlinspike y Bruce Schneier hablaban de "la falacia del concurso de cifrado", pero lo cierto es que el paso dado por WhatsApp parece notable en este sentido. Sobre todo si tenemos en cuenta algunos estudios recientes sobre el esquema de cifrado simétrico de Telegram, MTProto (PDF).
Hacer un "downgrade" de WhatsApp no servirá de nada: los mensajes se cifrarán de todos modos
Los responsables de Open Whisper Systems explicaban también en su blog cómo esa transición a un modelo de cifrado extremo a extremo está ya implantada en toda la red, aunque "antes de que todos los usuarios hayan actualizado a la última versión del software para sus plataformas, habrá algo de texto plano en la red". Por eso WhatsApp notificará a todos los usuarios con el célebre mensaje en fondo amarillo que apartir de ese momento sus chats estarán cifrados de extremo a extremo.
De hecho, destacaban una vez que el cliente reconozca a un contacto que soporta el cifrado extremo a extremo ("e2e" lo llaman, en referencia al "end to end"), no permitirá que se haga transmisión de texto plano a otro contacto, incluso si ese contacto se descargara una versión anterior (downgrade) del software que no tuviera soporte e2e.
"Esto evita que el servidor o un atacante en la red pueda realizar un ataque basado en esas versiones anteriores", añadían en ese texto. Los clientes "pre-e2e" acabarán desapareciendo, punto en el cual las nuevas versiones del software no transmitirán ni aceptarán mensajes en texto plano de ningún modo.
El debate sobre la privacidad, más importante que nunca
Esta medida de WhatsApp llega de hecho en un momento en el que la privacidad es uno de los temas candentes de nuestra actualidad. El reciente caso de Apple vs. el FBI ha provocado la preocupación de las grandes de internet, que ahora parecen estar mucho más dispuestas a hacer que la privacidad sea mucho mayor con sistemas extremo a extremo.
Eso haría que ni siquiera ellas pudieran ayudar al gobierno a descifrar mensajes, respetando así la privacidad de los usuarios, algo que precisamente se está convirtiendo en un interesante mecanismo de defensa para empresas que están cediendo esa responsabilidad al usuario en último término. Ocurre con iOS y con Android, pero es evidente que la medida se quiere trasladar a todo tipo de servicios gradualmente.
En juego está la reputación de estas grandes de la tecnología, que tras las filtraciones de Edward Snowden han quedado en evidencia. El cifrado extremo a extremo de WhatsApp es un paso importantísimo por la magnitud que tiene el servicio, y ahora solo queda esperar a que otros (todos, esperemos) sigan esos pasos e integren sistemas similares para salvaguardar algo que cada vez es más precioso: nuestra privacidad.
En Xataka | Por qué la privacidad es necesaria: desmontando el "no tengo nada que ocultar"
Ver 56 comentarios