Hace unos días os contamos cómo el FBI pedía a Apple que desbloqueara el iPhone de un terrorista para conseguir más información sobre él que ayudara en la investigación. Apple se negó porque, básicamente, no pueden hacerlo. iOS no tiene una puerta trasera o vulnerabilidad que permita a Apple (o cualquiera) hacer eso, y si la compañía se entera de uno, lo corrige para cerrar ese agujero, pagando mucho dinero al que lo descubre. Esta es la política de privacidad de Apple; Sólo el usuario puede tener la llave a sus datos… si la privacidad no funciona así, no funciona para nadie. Por eso en Apple, tiran la llave de sus usuarios. No la quieren, incluso en casos en los que, como este, parece obvio que se trata de una ayuda positiva.
Eventualmente el FBI ha conseguido desbloquear ese iPhone 11, último modelo, como ya consiguió con otros modelos de iPhone más antiguos en otros casos en el pasado, pagando mucho dinero a la empresa Cellebrite. La sorpresa de todos es, ¿cómo han conseguido liberar ese iPhone 11 si es un último modelo? – tiene sentido que un modelo antiguo de iPhone tenga más vulnerabilidades que permitan desbloquearlo, pero no el último modelo actualmente a la venta.
La verdad es que el método que utilizan es bastante más sencillo de lo que cabría esperar. Utilizan el método de fuerza bruta, es decir, probar miles y miles de contraseñas hasta que dan con una que desbloquea el iPhone. Esto lo hacen automatizadamente, con una máquina, no manualmente, para poder probar muchas contraseñas rápidamente.
La pregunta que nos hacemos todos ahora es, ¿no hay un límite de 10 intentos tras los cuales se borran todos los datos del iPhone? – así es. Lo hay. Si intentas meter la contraseña mal y te equivocas diez veces seguidas, iOS se hace el harakiri y borra todo lo que tiene ese iPhone. ¿Cómo consiguen entonces probar miles y miles de contraseñas rápidamente? – bueno, la respuesta está en que conocen una vulnerabilidad de iOS gracias a la cual pueden eliminar este límite de diez intentos. Esto de por si no desbloquea el sistema, pero sí que abre la puerta a utilizar una de estas máquinas que pruebe decenas de miles de contraseñas en pocas horas.
Si tienes una contraseña de 4 dígitos, esta máquina tarda unos siete minutos en dar con el número correcto. Si usas una clave de 6 dígitos, que es ahora la configuración por defecto de iOS cuando decides la clave, se tardan 11 horas. Si tiene 8 números, se tardan 46 días, porque el número de combinaciones posibles se incrementa notablemente. Si utilizas 10 dígitos… entonces el tiempo se incrementa a 12,5 años.
Si utilizas números y letras en lugar de sólo números, entonces el tiempo se multiplica exponencialmente. Adivinar una contraseña de 6 caracteres compuestos por números o letras requiere de una media de 72 años de espera.
Un iPhone tarda unos 80 milisegundos en determinar si una contraseña es correcta o no. No se puede hacer más rápido porque el hardware del iPhone actualmente no lo puede hacer más rápido, así de sencillo. 80 milisegundos es una cantidad de tiempo ínfima, ridícula para una persona, pero si se trata de un dispositivo que puede comprobar miles de contraseñas en un sólo segundo conectado al iPhone con un cable, entonces el ritmo de comprobación se reduce a 12 contraseñas probadas en un sólo segundo. Aún así, es cuestión de minutos adivinarla si utilizas una clave compuesta sólo por números, con 4 digitos. Este ritmo de comprobaciones es el que tiene cualquier modelo de iPhone antes del iPhone 7, es decir, todos los que no tienen el enclave seguro. A partir del iPhone 7 todos los modelos tienen enclave seguro, y eso ralentiza todavía más el proceso. En ese caso, se supone que incluso una clave de sólo cuatro números requiere de semanas de intentos para adivinarse… pero en Cellebrite han encontrado una manera de probar más rápidamente, como hemos podido comprobar con el iPhone 11 de ese terrorista.
Todos estos datos vienen de este interesante artículo de Jack Nicas en el New York Times. La moraleja que se aprende de todo esto es que si realmente tienes información en tu iPhone que no quieres que absolutamente nadie aparte de ti pueda conseguir, utilices una contraseña de seis caracteres, y a poder ser, que sea alfanumérica en lugar de utilizar sólo dígitos.