TL; DR: Según la admisión de Apple, la fuerza bruta de un código de acceso numérico de 4 dígitos toma aproximadamente 3 minutos. La actualización de su código de acceso a alfanumérico de 8 dígitos aumenta el tiempo de fuerza bruta en el dispositivo, de modo que un ataque exitoso probablemente necesite exfiltrar el UID del enclave seguro, sin importar el tiempo que lleve.
Descargo de responsabilidad: no estoy muy familiarizado con la implementación de seguridad de iOS. Esta respuesta se basa en las revelaciones vagas de Apple y en varios supuestos, algunos de los cuales pueden ser incorrectos.
Tiempo de fuerza bruta del código de acceso sin conocer el UID
Según Whitepaper de seguridad de iOS de octubre de 2014 de Apple cada intento de fuerza bruta del código de acceso tomará aproximadamente 80 milisegundos.
El código de acceso está enredado con el UID del dispositivo, por lo que la fuerza bruta
Los intentos deben realizarse en el dispositivo bajo ataque. Un gran
el recuento de iteraciones se utiliza para hacer cada intento más lento. La iteración
el recuento se calibra para que un intento tome aproximadamente 80
milisegundos. Esto significa que llevaría más de 5 años y medio probar todo
combinaciones de un código de acceso alfanumérico de seis caracteres con minúsculas
Letras y números.
No sé qué definición de "enredo" está usando Apple aquí, pero supongo que significan que una clave de descifrado que protege sus datos se deriva del UID y la contraseña del dispositivo.
UID Exfiltration
Apple afirma que "los intentos de fuerza bruta se deben realizar en el dispositivo bajo ataque", a diferencia de otros dispositivos con velocidades de iteración mucho más rápidas. Supongo que Apple basa esta afirmación en la suposición (no demostrada) de que el UID no puede ser exfiltrado. Apple declara que el UID se almacena en su "Enclave seguro":
Cada Enclave seguro se aprovisiona durante la fabricación con su propio UID
(ID única) que no es accesible a otras partes del sistema y
Apple no lo conoce.
No encontré ninguna información relacionada con la posibilidad de eliminar el UID del "Enclave seguro". Si el UID está exfiltrado, entonces un atacante debería poder usar otro hardware informático para forzar la fuerza bruta a una velocidad mucho mayor que 80 ms por intento. La exfiltración del UID puede incluso significar que el tiempo de fuerza bruta se vuelve trivial.
¿Cuánto tiempo tomará un ataque para tener éxito?
Suponiendo que
- tu contraseña no es fácil de adivinar,
- El documento técnico de Apple describe con precisión la implementación, y
- Apple no cometió ningún error que debilite la protección más allá de lo que se describe en el documento técnico
luego, más o menos, la cantidad de tiempo que requiere un atacante para forzar la fuerza bruta de tu contraseña es la menor de
a) en promedio, 40 ms * a^n
donde a
es el número de posibilidades para cada dígito, y n
es el número de dígitos, y
b) la cantidad de tiempo necesario para filtrar el UID del "Enclave seguro".
¿Por cuánto tiempo debe ser su contraseña?
Un código de acceso numérico de 4 dígitos tomaría un promedio de aproximadamente 7 minutos para que un atacante adecuadamente equipado tenga fuerza bruta, lo cual es seguramente más fácil que exfiltrar el UID. Por lo tanto, su seguridad probablemente se beneficiaría de la actualización a un código de acceso alfanumérico de 8 dígitos que tomaría un promedio de unos 7000 años para la fuerza bruta. Con un código de acceso alfanumérico de 8 dígitos, probablemente sería más rápido para un atacante exfiltrar el UID.