WhatsApp multidispositivo: Sincronizando los datos entre dispositivos – Parte 2
Este post pertenece a una serie dedicada a WhatsApp multidispositivo. Una breve explicación de la misma con algunas notas aclaratorias se incluye al comienzo del primer artículo.
Entradas de la serie:
- WhatsApp multidispositivo: ¿Qué hay de nuevo? – Parte 1
- WhatsApp multidispositivo: Sincronizando los datos entre dispositivos – Parte 2
- Aplicación del cifrado de extremo a extremo en las copias de seguridad de WhatsApp – Parte 3
- WhatsApp multidispositivo: ¿Cómo afectan los cambios al análisis forense? – Parte 4
En el post anterior, vimos cómo funcionaba la vinculación de WhatsApp con otros dispositivos o con “WhatsApp Web” antes de los cambios que están por venir y cuáles son las principales novedades de la nueva arquitectura.
Al introducir los dispositivos vinculados como parte de la cuenta de WhatsApp de cada usuario, los ingenieros se enfrentaron al reto de seguir manteniendo la seguridad y privacidad de los mensajes de extremo a extremo, pero a su vez poder mantener el historial de mensajes y otros ajustes sincronizados entre los distintos dispositivos.
Veamos cómo han resuelto ambas cuestiones.
Contenidos
Manteniendo la privacidad de los mensajes
Cuando se establece un chat individual entre dos personas, se configura una sesión cifrada entre los dispositivos de ambas personas.
La nueva arquitectura multidispositivo de WhatsApp, en la que cada usuario tiene varios dispositivos, requiere que cada mensaje sea enviado mediante sesiones cifradas N+M-1 veces, siendo N el número de dispositivos del destinatario y M el número de dispositivos del emisor.
Cada mensaje es cifrado utilizando las claves de cifrado extremo a extremo establecidas con cada dispositivo y los mensajes sólo serán almacenados en el servidor hasta que son descargados en cada dispositivo.
Este sistema aumentará exponencialmente el número de mensajes intercambiados, y por extensión, la carga de trabajo de los servidores de WhatsApp. Donde antes se enviaba un único mensaje, ahora se enviarán varias copias del mismo, con un máximo de 7, pues se establece en 4 el máximo de dispositivos asociados a cada cuenta.
Sincronizando el historial y los ajustes entre los distintos dispositivos.
Dado que un requisito principal de esta nueva arquitectura es que la experiencia del usuario entre sus distintos dispositivos sea consistente, se hace necesaria la existencia de un mecanismo de sincronización entre ellos.
El mecanismo que han desarrollado incluye tanto el historial de mensajes cómo los datos de configuración de la cuenta, entre los que se encuentran los nombres de los contactos, si un chat está archivado o no, o los mensajes marcados como favoritos.
Respecto al historial de mensajes, cuando se enlaza un nuevo dispositivo vinculado, el dispositivo principal (el teléfono móvil) prepara un paquete con todos los mensajes recientes, y los envía al dispositivo vinculado. En las pruebas que he realizado, los mensajes enviados correspondían al último año.
Este paquete va cifrado con una clave simétrica, y dicha clave es remitida al dispositivo vinculado a través de un mensaje normal, cifrado de extremo a extremo. Una vez el dispositivo vinculado ha descargado, descifrado y almacenado de forma segura los mensajes, las claves son eliminadas.
Desde ese instante, el dispositivo vinculado accede a los mensajes almacenados en su propia base de datos local. Además, el dispositivo recibirá una copia de todos los mensajes enviados desde ese instante, tal y como ya expliqué en el apartado anterior.
Sin embargo, no sólo los mensajes necesitan ser sincronizados. Todas aquellas opciones de configuración que afectan de forma general a la cuenta, deben ser compartidas entre todos los dispositivos. Y estas opciones deben ser sincronizadas en el mismo instante en que se produzca cualquier cambio en cualquiera de ellas.
Para resolver esto, WhatsApp ha implementado un mecanismo que almacena estos datos en sus servidores, de tal forma que todos los dispositivos asociados a la cuenta puedan consultarlos y actualizarlos. Según dicen, los datos están cifrados con claves que cambian con frecuencia y que sólo están accesibles para los dispositivos de la cuenta.
En el siguiente post de esta serie (PARTE 3), veremos la nueva funcionalidad que permite el cifrado extremo a extremo de las copias de seguridad almacenadas en la nube. Si te perdiste el post anterior (PARTE 1), en él explico los fundamentos de la nueva arquitectura multidispositivo de WhatsApp.
Espero el post os haya gustado y como siempre, os animo a enviarme vuestros comentarios y sugerencias a través de este blog o a través de mi cuenta de twitter (@peritotec).
Y si necesitáis un perito informático colegiado, podéis conocer más sobre mí y los servicios que presto a través de mi página web www.peritotecnologico.net
Fuentes:
https://engineering.fb.com/2021/07/14/security/whatsapp-multi-device/
https://www.whatsapp.com/security/WhatsApp_Security_Whitepaper_v4_Preview.pdf
3 thoughts on “WhatsApp multidispositivo: Sincronizando los datos entre dispositivos – Parte 2”