jueves, 22 de enero de 2015

Whatsapp desde el navegador Chrome

Whatsapp desde tu ordenador


Desde hace unas horas, Whatsapp ha liberado las modificaciones necesarias para habilitar una de las funcionalidades más demandadas por sus usuarios desde hace tiempo: la posibilidad de usar Whatsapp desde un ordenador. Hasta hace nada, la única opción posible pasaba por instalar un emulador de Android en el ordenador e instalar la aplicación móvil de Whatsapp en el mismo. Esta opción, desapareaba la cuenta de Whatsapp con el móvil ya que los servidores de Whatsapp no permiten tener la cuenta simultáneamente aparejada con más de un dispositivo.



Allá por el mes de febrero se anunció que Facebook había adquirido Whatsapp por 13.800 millones de euros. Coincidencia o no, desde entonces parece que Whatsapp se ha puesto las pilas para intentar cumplir con los deseos de sus numerosos usuarios, deseos que en muchos casos eran más bien condiciones necesarias para lograr una implementación razonablemente segura y responsable de la famosa aplicación de mensajería. Ejemplo  de característica responsable de cara a sus clientes es la encriptación segura de los mensajes enviados por sus usuarios, funcionalidad que no se presentó hasta noviembre del año pasado.

A la hora de implementar el acceso a las funcionalidades de Whatsapp desde un ordenador convencional, la empresa se ha decidido por implementar una aplicación web, en lugar de una aplicación de escritorio convencional, y la ha bautizado como "Whatsapp Web" Esto, en esencia, permite a la empresa dotar a la aplicación de las facilidades multiplataforma de las que disfruta cualquier aplicación web, sin necesidad de codificar y mantener distintas aplicaciones para distintos sistemas operativos. Por otro lado se simplifica la actualización de la aplicación, que tendrá que mantener su compatibilidad con las aplicaciones móviles de Whatsapp, sometidas a actualizaciones muy frecuentes.

Por otro lado, aunque la funcionalidad es multiplataforma e independiente del sistema operativo, en la versión actual no es multinavegador. De hecho es "mono-navegador" ya que solo soporta el navegador Google Chrome. Desde el lado del dispositivo móvil, el soporte de la funcionalidad tampoco es completamente universal ya que actualmente "Whatsapp Web" no es soportado por el cliente para iPhone. 

La liberación de esta funcionalidad ha coincidido en tiempo con el bloqueo de los usuarios de Whatsapp Plus, que desde ayer se encontraron con esta desagradable sorpresa al abrir la aplicación Whatsapp Plus:


Whatsapp Plus es una aplicación realizada por un español a partir de ingeniería inversa sobre la aplicación oficial, y que sustituye a la misma. Usa los mismos servidores de Whatsapp y la cuenta del usuario, pero añade muchas más funcionalidades que la aplicación oficial no ofrece. La razón oficial dada por la empresa es que no puede garantizar la seguridad de Whatsapp Plus ni de los mensajes y datos que se cursan a través de dicha aplicación. Puede que Whatsapp Plus no soporte las funcionalidades de encriptación punto a punto introducidas por Whatsapp el pasado mes de noviembre, o puede que el bloqueo tenga algo que ver con la aplicación web presentada hoy.

Whatsapp Web


En el esquema de funcionamiento propuesto por Whatsapp, la aplicación web (https://web.whatsapp.com) nos presenta un código QR que debe ser escaneado por el cliente actualizado de Whatsapp. A partir de ese momento, la aplicación web y la aplicación móvil se sincronizan, pasando la aplicación móvil a funcionar como un servidor de la aplicación web. Esto implica que el dispositivo móvil debe mantenerse encendido y conectado a la red de datos, ya sea a la red de datos móvil de nuestro operador de telefonía o bien a una red wifi.


¿Por qué es necesario tener el móvil encendido?

Esto para muchos usuarios puede parecer un fastidio, ya que si queremos apagar el móvil, o éste se queda sin batería, o estamos en un entorno en el que no hay cobertura de datos móviles ni red wifi disponible, nuestra aplicación web dejará de funcionar. Lo que para muchos puede parecer una chapuza por parte de Whatsapp, es una condición completamente necesaria. Puesto que desde el pasado mes de noviembre los mensajes se encriptan punto a punto, la aplicación web no puede alimentarse directamente de los servidores de Whatsapp. En teoría, tras dicha actualización, los mensajes de nuestra cuenta solo pueden desencriptarse en nuestra aplicación móvil. De hecho, si "Whatsapp Web" pudiera funcionar con el móvil apagado estaríamos ante un escándalo de proporciones monumentales ya que significaría que la encriptación punto a punto anunciada en noviembre no era más que un bulo y una conspiración para hacernos creer que la confidencialidad de nuestros mensajes estaba, por fin, garantizada.

De esta manera, cuando desde la aplicación web creamos un nuevo mensaje en uno de nuestros chats, este mensaje es transmitido a la aplicación móvil, y es ésta la que se encarga de retransmitirlo hacia los servidores de Whatsapp. Posteriormente los distintos acuses de recibo (primer check cuando los servidores de Whatsapp reciben el mensaje, segundo check cuando el móvil del destinatario descarga el mensaje, y el controvertido doble check azul de acuse de lectura) aparecen primero en la aplicación móvil para un instante después reflejarse en la aplicación web abierta en nuestro navegador Chrome. Análogamente, un mensaje recibido en nuestra cuenta, aparecerá primero en la aplicación móvil para enseguida reflejarse en la aplicación web. Por supuesto, cualquier nueva actividad que realicemos en la aplicación móvil (enviar un mensaje o archivo, crear un nuevo chat, etc...) también aparece reflejado al instante en la aplicación web.

La aplicación web dispone de funcionalidades para notificaciones en escritorio, permitiendo tener la ventana de Chrome que tiene "Whatsapp Web" minimizada. Asimismo, la propia aplicación web nos advertirá si el teléfono se encuentra con la batería baja, indicándonos que debemos cargarlo si queremos seguir usando la aplicación web.

Cuidado con las sesiones abiertas


Cuando la aplicación móvil de Whatsapp escanea un código QR de "Whatsapp Web" se produce un emparejamiento entre la aplicación móvil y la aplicación web en ese ordenador. El funcionamiento en esencia es similar al emparejamiento de dispositivos bluetooth. Mientras este emparejamiento permanezca activo, nuestro Whatsapp  en el terminal móvil será accesible desde dicho ordenador. Esto significa que si dejamos el ordenador con la sesión abierta, cualquiera que lo encienda y acceda a web.whatsapp.com le aparecerá nuestra cuenta Whatsapp con todos sus chat, mensajes, fotos, contactos, etc...

No vale cerrar el navegador Chrome. Hay que cerrar la sesión que empareja dicho ordenador con nuestra aplicación móvil. Para ello, la aplicación web, en la parte superior dispone de un menú con la opción "Cerrar sesión".

¿Y qué ocurre si me voy y no me acuerdo de cerrar la sesión? ¿Tengo que volver? Afortunadamente en Whatsapp también han pensado en ello, y desde la propia aplicación móvil podemos listar las sesiones "Whatsapp Web" abiertas y cerrarlas todas.


¿Sesiones abiertas? ¿Puedo acceder desde varios ordenadores a la misma cuenta de Whatsapp? Podemos tener nuestra aplicación móvil de Whatsapp emparejada simultáneamente con más de un ordenador, pero la aplicación móvil solo intercambiará datos con uno de ellos, quedando los demás con una pantalla de advertencia que permite volver a reconectar desde dicho ordenador.


Limitación a Google Chrome

Junto con la necesidad de mantener el móvil conectado, la otra queja que expresan los usuarios en estas primeras horas es la limitación de uso solo en Google Chrome. A falta de una comunicación oficial de la compañía que justifique esa decisión, solo nos queda revisar un poco por encima el código de la aplicación web.

Revisando las librerías javascript que usa la aplicación web conseguimos hacernos una idea de como puede funcionar. La mayor parte son librerías open-source y con una pequeña búsqueda en internet podemos ver para qué sirven. 

Entre ellas encontramos una librería denominada "end-to-end.compiled.min.js". End-To-End es una extensión creada por Google para Chrome que permite encriptar, desencriptar, firmar y verificar mensajes firmados en el propio navegador Chrome usando OpenPGP. Es de suponer que si Whatsapp en noviembre blindó criptográficamente el intercambio de mensajes en su aplicación, lo lógico es hacer los mismo en las comunicaciones entre la aplicación móvil y la aplicación web. Y seguro que en ese cometido la librería End-To-End juega un papel crucial. Puesto que está implementada como una extensión de Chrome, quizás por ahí venga la limitación de soporte únicamente al navegador de Google.

Pero hay más. Actualmente End-To-End se encuentra en desarrollo, pero Google decidió en Junio de 2014 liberar una versión alfa para permitir a la comunidad probar y evaluar esta extensión, principalmente para recibir opiniones, detectar fallos, etc... Es muy usual en aplicaciones criptográficas complejas donde un fallo puede tener consecuencias catastróficas, dejar un tiempo que la comunidad juegue con la nueva aplicación. La propia Google ya advierte que compilar y lanzar esta extensión prematuramente puede ser peligroso... y por añadidura entiendo que también lanzar una aplicación basada en parte del código de dicha extensión...

Así pues, da la impresión que la encriptación de las comunicaciones entre "Whatsapp Web" y la aplicación Whatsapp de nuestro móvil parece basarse, presuntamente, en un producto cuyos creadores aún no se sienten lo suficientemente seguros como para lanzarlo formalmente. Desconozco el estado de dicho proyecto de Google. Es posible que las partes que usa "Whatsapp Web" están ya debidamente probadas y su puesta en funcionamiento sea segura. Pero resulta cuanto menos inquietante la advertencia de Google... 

Lo que nos puede deparar el futuro

Conociendo la popularidad de Whatsapp, y la forma en la que se ha implementado "Whatsapp Web" doy prácticamente por seguro la aparición en breve de productos de terceros que se basen en esta nueva funcionalidad. Por ejemplo, no sería imposible crear una extensión de Chrome que permitiera hacer copias de seguridad de los chats... y tampoco sería imposible crear nuevos malware que explotaran esta nueva funcionalidad cuando el usuario accede con su ordenador a su cuenta de Whatsapp, o por ejemplo una librería simule el comportamiento de "Whatsapp Web" y que permita acceder a la funcionalidad de otra manera que no sea mediante el navegador Chrome.

La nueva funcionalidad abre muchas puertas a la imaginación a la hora de "meter mano" a Whatsapp. Seguro que en breve comenzarán a aparecer estas nuevas aplicaciones... 

No hay comentarios:

Publicar un comentario