Estas últimas semanas se ha producido un gran revuelo, tras las revelaciones por parte de Apple y Google, de que los contenidos almacenados por los usuarios en las nuevas actualizaciones de iOS y Android, están codificados de manera que ni las propias compañías son capaces de decodificarlos.
Codificación por defecto
Las fuerzas de seguridad no están contentas con esta noticia, porque significa que ni siquiera con una orden judicial podrán tener acceso a la decodificación de datos locales almacenados por los usuarios. Sus oficiales se dedican, por tanto, a asustar al público con los típicos temas de pedófilos y terroristas, para que crean que la codificación es mala y peligrosa.
Parece ser que el nuevo sistema de codificación de discos, propuesto para la privacidad y seguridad, equipa a los consumidores con seguridad para sus datos móviles.
Algunos pensarán que es una imprudencia, otros, como una reacción obvia a un ambiente en el cual es cada vez más fácil para el gobierno recopilar información con muy poca supervisión o incluso sin ella.
La nueva versión de #Google #Android, igual que la de #Apple #iOS, habilitará la #codificación completa por defecto
Tweet
A principios de mes, hablamos sobre la nueva codificación total por defecto de Apple, un artículo que se puede leer desde el punto de vista de las fuerzas de seguridad. Ahora, es momento de hablar técnicamente sobre la codificación que Google está desarrollando como parte de su nuevo Android Lollipop, también conocido como “Adroid 5.0” o “Android L” (“L” por Lollipop y “L” el 50 en número romano).
Breve historia de la codificación de Android
Según Nikolay Elenkov, de Android Explorations, los usuarios de Android han tenido la oportunidad de implementar la codificación de disco completo (FDE en inglés) desde Android 3.0, también conocido como Honeycomb. La FDE ofrecía mantenerse así hasta que Google lo potenciara lanzando Android 4.4. Fortalecerán el sistema de codificación en Android L, pero lo más importante aún, es que activarán por primera vez la FDE por defecto en el nuevo Android 5.0.
El esquema de codificación inicial desarrollado por Google en Android era, aparentemente, seguro. Sin embargo, al implementarlo en el software, como pasa en muchos casos, aparecieron las debilidades. En concreto, la seguridad en este esquema de codificación depende casi por completo de la complejidad de la contraseña de codificación del disco y la reacción del sistema a ataques de fuerza bruta.
http://instagram.com/p/ptPZ2dv0Fj/?utm_source=partner&utm_medium=embed&utm_campaign=photo&modal=true
“Si la master key es suficientemente larga y compleja, , se podría tardar años en llevar a cabo un ataque de fuerza bruta”.
Elenkov explica: “Sin embargo, como Android ha decidido volver a utilizar el PIN de bloqueo de pantalla o una contraseña de 16 caracteres como máximo, la gente termina poniendo contraseñas cortas o de alto riesgo”.
En otras palabras: la fuerza de la codificación de disco en Android es tan fuerte (o tan débil) como lo es la contraseña de bloqueo. Y en la mayoría de los casos es muy débil, porque a la gente le da pereza tener contraseñas largas en los móviles.
Gracias a un mecanismo interno, los ataques de fuerza bruta podría ser ineficaces, porque el atacante sería bloqueado tras un cierto número de intentos de acceso. Por supuesto, Elenkov evadió esta protección. Si quieres saber más detalles sobre cómo manejó esta situación, puedes leer el artículo que escribió al respecto, pero no vamos a profundizar el asunto en este artículo. Lo que hace falta saber es que hay un tipo de ataque de fuerza bruta contra las contraseñas débiles que permite decodificar el contenido almacenado en dispositivos Android.
Repito, un ataque sería mucho más difícil de conseguir con una contraseña fuerte. Pero si tienes la típica de 4 a 6 caracteres, se puede decodificar literalmente en unos segundos.
Hashkill now cracks Android FDE images master password. Speed is ~135k on 6870, ~270k/s on 7970. Android FDE is weak. pic.twitter.com/mhcvEuEP48
— gat3way (@gat3way) abril 28, 2013
En la versión 4.4 de Android, Google ha decidido pasar a un sistema de codificación más fuerte. A pesar de eso, siguen utilizando el PIN o contraseña. Así que siguen siendo posibles los ataques de fuerza bruta hacia los PIN y contraseñas débiles, aunque en Android 4.4 puedes tardar unos minutos en hacerlo.
Algunas variedades de Android 4.4, permiten a los usuarios crear una contraseña codificada por separado. De esta forma, los usuarios con contraseñas codificadas por separado están protegidos por dos barreras (bloqueo de pantalla y contraseña codificada).
Lollipop
Estos ataques no funcionarán para Android L. No se sabe la razón exacta, porque todavía no está disponible ningún código de fuente del sistema operativo. El análisis que hizo Elenkov, le llevó a la deducción de que la decodificación de clave ya no está basada en la contraseña o PIN del usuario. Al parecer, en un futuro las variedades de decodificación de Android estarán basadas solo en parte en el PIN de bloqueo de pantalla o contraseña.
Elenkov cree que habrá algún tipo de autenticación en dos pasos. En el pasado, el PIN o contraseña llevaban a la clave de decodificación. Ahora parece que la contraseña o PIN, más una posible credencial de hardware, darán como resultado la clave de decodificación. Aun así, un ataque de fuerza bruta a una contraseña sigue siendo posible, pero no se podrá decodificar el disco.
En resumen
“Además de permitir la codificación completa del disco, se espera que Android L incluya protección hardware para las claves de codificación de discos, así como la aceleración de hardware para el acceso al disco codificado”, concluye Elenkov. “Estas dos herramientas deberían hacer la codificación de disco completo en Android más rápida y segura”.
En otras palabras, el sistema operativo de teléfonos móviles más popular se vuelve más seguro.