Los expertos estudiaron la criptografía de los SO móviles y descubrieron cómo los hackers y policía omiten el cifrado de un teléfono.

Los criptógrafos de la Universidad Johns Hopkins utilizaron documentación disponible públicamente de Apple y Google, así como análisis de propiedad para evaluar la solidez del cifrado en Android y iOS.

Cuando bloqueas tu teléfono con una contraseña, el bloqueo de huellas digitales o de reconocimiento facial encripta el contenido del dispositivo. Incluso si alguien roba tu teléfono y extrae datos de él, solo verá un montón de símbolos extraños. Para decodificar todos los datos necesitará una clave, que solo se puede recuperar cuando se desbloquea el teléfono con una contraseña o biometría.

Con todo esto en mente los investigadores asumieron que sería extremadamente difícil para un atacante encontrar alguna de estas claves y descifrar los datos. Pero, como siempre suele ser, todo resultó estar mal.

Nuestros teléfonos utilizan un sistema de cifrado jerárquico:

  • Cuando el teléfono se apaga y se inicia, todos los datos se encuentran en un estado que llama “Protección total”. El usuario tiene que desbloquear el dispositivo antes de que suceda cualquier otra cosa, y la protección de la privacidad del dispositivo es muy alta.
  • Sin embargo, después de desbloquear tu teléfono por primera vez tras reiniciar, muchos datos pasan a un modo diferente. El fabricante lo llama “Protegido hasta que el primer usuario esté autenticado“, pero los investigadores a menudo lo llaman simplemente “Después del primer desbloqueo“.

Si pensarlo, entonces resulta que el teléfono casi siempre está en el estado “Después del primer desbloqueo“. Probablemente no reinicias tu teléfono durante días o semanas y la mayoría de la gente ciertamente no lo apaga después de cada uso.

Dónde está la trampa?

Cuando los datos se encuentran en un estado de protección completa, las claves para el descifrado se almacenan en lo profundo del sistema operativo y se cifran. Pero al desbloquearlo por primera vez después de reiniciar muchas claves de cifrado comienzan a persistir en la memoria rápida, incluso cuando el teléfono está bloqueado.

Para comprender la diferencia en estos estados de cifrado puedes hacer una pequeña demostración en iOS o Android.

Cuando tu mejor amigo te llama, su nombre generalmente se muestra en la pantalla de llamada porque está en tus contactos. Pero si reinicias el dispositivo, no lo desbloqueas y luego te llama la misma persona, solo se mostrará su número, no su nombre. Esto se debe a que las claves para descifrar los datos de la libreta de direcciones aún no están en la memoria.

El hecho de que el teléfono esté constantemente en el modo “Después del primer desbloqueo” significa que un atacante puede encontrar claves de cifrado y usarlas luego para descifrar todos los datos del teléfono.

Basándose en los informes disponibles sobre herramientas de acceso a teléfonos, como los del contratista israelí de aplicación de la ley Cellebrite y la firma forense estadounidense Grayshift, los investigadores concluyeron que así es como funcionan casi todas las herramientas de acceso a teléfonos inteligentes.

Por lo tanto, eso sin mencionar cómo Android e iOS manejan las copias de seguridad en la nube, otra área donde las garantías de cifrado pueden verse erosionadas.