El caso de Apple vs FBI ha llamado la atención sobre el tema de la privacidad, particularmente en el contexto de los dispositivos móviles. Después del ataque terrorista de San Bernardino en 2015, el FBI confiscó un teléfono celular perteneciente al tirador, Syed Farook, con la intención de buscar pruebas o pistas adicionales relacionadas con la investigación en curso. Sin embargo, a pesar de estar en posesión del dispositivo, el FBI no pudo desbloquear el teléfono y acceder a su contenido.
Esto puede parecer desconcertante al principio.
"¿Seguramente si el FBI tuviera acceso al teléfono, no podrían extraer los datos del usuario almacenados en él usando herramientas forenses?"
Bueno, la respuesta no es tan simple. Verá, el dispositivo en cuestión es un iPhone 5c con iOS 9.
Como sabe, a partir de iOS 8, Apple ha activado automáticamente el Cifrado de disco completo (FDE) utilizando una clave de cifrado derivada de la contraseña del usuario. Para acceder a los datos del dispositivo, el FBI tendría que romper ese cifrado. Salvo errores en el diseño de cifrado, lo más probable es que esto se haya logrado descifrando la contraseña del usuario.
"Entonces, ¿por qué no usar la fuerza bruta?"
Esto suena como un enfoque muy bueno, especialmente porque la mayoría de los usuarios son notoriamente torpes al elegir contraseñas seguras, más aún cuando se trata de dispositivos móviles.
Sin embargo, los ingenieros de Apple no ignoraban esta preocupación cuando diseñaron su esquema FDE. Para tratar de mitigar este tipo de ataque, diseñaron el esquema de encriptación para que la clave criptográfica generada esté ligada al hardware del dispositivo.
En resumen, cada dispositivo tiene una clave inmutable única de 256 bits llamada UID, que se genera aleatoriamente y se fusiona con el hardware del dispositivo cuando se produce. La clave se almacena de una manera que impide completamente el acceso mediante software o firmware (solo se puede configurar como clave para el motor AES), lo que significa que ni siquiera Apple puede sacarlo del dispositivo una vez que se ha configurado.
Esta clave específica del dispositivo se usa luego junto con la contraseña proporcionada por el usuario para generar la clave de cifrado resultante que se usa para proteger los datos del dispositivo. Esto efectivamente "enreda" la contraseña y la clave UID.
Vincular la clave de cifrado al hardware del dispositivo permite a Apple hacer el trabajo mucho más difícil para los posibles atacantes. Básicamente, obliga a los atacantes a usar el dispositivo para cada intento de violación. Esto, a su vez, permite a Apple introducir una gran cantidad de defensas que harían inconvenientes los intentos de piratería.
Para empezar, la función de derivación de claves está diseñada de tal manera que llevaría una cantidad significativa de tiempo calcularla en el dispositivo. Específicamente, Apple eligió los parámetros de función para que una sola clave de derivación tuviera un retraso de aproximadamente 80 milisegundos. Este retraso haría que la piratería de contraseñas alfanuméricas cortas fuera lenta (aproximadamente 2 semanas para una contraseña alfanumérica de 4 caracteres) y la piratería de contraseñas más largas sería completamente inviable.
Para mitigar aún más los ataques de fuerza bruta en el propio dispositivo, Apple también ha introducido un retraso incremental entre los sucesivos intentos de adivinar la contraseña. En el iPhone 5c, este retraso se alivió por completo a través del software. Finalmente, Apple ha permitido la capacidad de borrar por completo todos los datos almacenados en el dispositivo después de 10 intentos fallidos de recuperar la contraseña. Esta configuración, junto con los retrasos inducidos por el software, hizo que piratear la contraseña en el dispositivo en sí fuera poco práctico.
RETRASO ENTRE INTENTOS
- [1-4]> Ninguno
- [5] > 1 Minuto
- [6]> 5 minutos
- [7-8]> 15 minutos
- [9]> 1 hora
Sabiendo esto, es mucho más razonable suponer que el FBI no pudo descifrar el cifrado del dispositivo.
Si hubieran podido extraer la clave UID, podrían haber utilizado el hardware necesario (especializado) para encontrar rápidamente muchas contraseñas, lo que probablemente les habría permitido encontrar la contraseña correcta. Sin embargo, dado que la clave UID no se puede extraer mediante software o firmware, esta opción está excluida.
En cuanto a piratear la contraseña en el dispositivo, las demoras inducidas por el software entre los intentos de ingresar la contraseña y la capacidad de eliminar todos los datos en el dispositivo hicieron que la opción no fuera muy conveniente. Esto excluye la posibilidad de eludir las protecciones del software.
Volviendo a la pregunta que nos ocupa: podemos ver que Apple ha diseñado inteligentemente su esquema FDE de una manera que lo hace muy difícil de descifrar.
vía