Acerca de la seguridad de las comunicaciones utilizando smartphones

26 de Abril de 2017
La opinión de Hugo Scolnik, fundador del Departamento de Computación de la Facultad de Ciencias Exactas de la UBA

El sistema más seguro de los disponibles para smartphones actualmente se basa en el protocolo Signal, desarrollado por la empresa Open Whisper Systems, creada por Moxie Marlinspike. Es el recomendado por Edward Snowden, pues realiza encriptación entre los extremos.

Tanto Facebook Messenger como Whatsapp y Google Allo utilizan este protocolo. Por su parte, Telegram usa un algoritmo propietario llamado MTProto que ha sido muy criticado (ver su criptoanálisis en http://cs.au.dk/~jakjak/master-thesis.pdf).

Sin embargo, existen ataques exitosos contra su seguridad:

  1. Para obtener una comunicación encriptada el primer paso es llegar a una clave en común para luego utilizar un algoritmo simétrico seguro como el AES (Advanced Encryption Standard). A esta clave se llega mediante el método de Diffie-Hellman (D-H) el cual, como es sabido, es susceptible de ser atacado mediante la técnica del “man in the middle”. Consistente en que un hacker pueda hacer creer a las partes que se quieren comunicar que están dialogando entre ellas, cuando de hecho lo hacen con el intruso que se apodera de los datos necesarios. Una solución a este problema es utilizar un protocolo de autenticación adicional para verificar las respectivas identidades.

    Otro problema del método de D-H es que utiliza un primo de gran longitud y un generador g (es un entero menor que el primo), y si los mismos están fijos, entonces se pueden generar bases de datos con precálculos que faciliten el quiebre (ver por ejemplo https://weakdh.org/imperfect-forward-secrecy.pdf). “Curiosamente” el estándar RFC 3526 del Internet Engineering Task Force específica primos de gran longitud, pero fijos, para el uso de D-H. En la norma RFC2409-IKE que siguen los sistemas comerciales ofrecidos en el mercado mundial, tanto los propietarios como los de código abierto (https://es.wikipedia.org/wiki/Internet_key_exchange) se especifican tres primos diferentes que siempre usan g=2 como generador.
  2. Otro ataque obvio es infectar a los smartphones con malware para apoderarse de la clave a utilizar antes de que se encripte la comunicación.


Un tema esencial para comparar la seguridad de Whatsapp y Signal es el manejo de los metadatos definidos por E. Snowden como los “activity records”. Whatsapp tiene acceso a los números telefónicos del smartphone, pero no guarda los mensajes en sus servidores sino que quedan en el mismo teléfono y obviamente en los lugares donde se hace el backup del mismo.

Asimismo tiene la información de con quien uno se comunica, la hora y el lugar, las direcciones IP, etc, y lo mismo con los metadatos de los interlocutores. Justamente la Electronic Frontier Foundation advirtió sobre el hecho de que fue adquirida por Facebook, con lo que eso implica.

Por su parte Signal sólo guarda el número de teléfono con el cual uno se registra y la hora de la última conexión con el server.

Para resolver estos problemas la empresa argentina Firmas Digitales ha desarrollado el sistema Cryptocomm, que también usa el protocolo Signal por los motivos expuestos, pero presenta diversas novedades como ser la posibilidad de cambiar los primos y los generadores obtenidos mediante algoritmos ultraseguros, agregar un sistema de autenticación de los interlocutores mediante tres factores, utilizar un algoritmo criptográfico simétrico con longitudes de claves de 1024 bits (y no de 128 o 256 como en el AES), un subsistema de alta o baja de los usuarios permitidos, y el hecho de que los mensajes se autodestruyen luego de un tiempo especificado por el emisor.

Otro aspecto diferencial de Cryptocomm es que, al contrario de lo que ocurre con las soluciones comerciales mencionadas, la nuestra hace que el servidor intermediario esté 100% en manos de la entidad administradora. Además, y mediante un convenio de confidencialidad, se entrega el código fuente de todo el sistema para que sea compilado y administrado por la entidad que lo utilice, de modo tal que se pueda comprobar que no tiene puertas traseras (backdoors) ni mecanismos extraños para quebrarlo.

(*) Hugo Scolnik: Fundador del Departamento de Computación de la Facultad de Ciencias Exactas de la UBA