La principal protección contra la fuerza bruta es que la clave de cifrado del disco, que se supone que se desbloquea con la contraseña del usuario, es almacenado en el SoC M1 en un Enclave Seguro - en lugar de ser almacenado por disco. Esto significa que no se puede sacar el disco del ordenador y empezar a forzar la contraseña, sino que habría que forzar la clave, lo que es mucho más difícil.
Tenga en cuenta que el disco está encriptado y la clave almacenada en el Enclave Seguro no importa si File Vault está activado o desactivado .
La funcionalidad mencionada anteriormente hace posible que el SoC M1 aplique protecciones aún más fuertes contra la fuerza bruta de la contraseña. Lo hace mediante imponer retrasos cuando se han intentado contraseñas incorrectas durante el primer inicio de sesión después de un arranque. Los retrasos son según el siguiente esquema:
Intentos
Retraso (minutos)
1-14
0
15-17
1
18-20
5
21-26
15
27-30
60
Cuando se han utilizado los 30 intentos, ya no es posible seguir adivinando durante esa sesión de inicio de sesión. Un reinicio no ayudará.
El usuario puede arrancar en el modo de recuperación de MacOS, donde son posibles otros 10 intentos. Si el usuario tiene uno o más mecanismos de recuperación de FileVault habilitados (es decir, recuperación de iCloud, una clave de recuperación o una clave institucional), es posible intentar 30 veces más por cada uno de los mecanismos habilitados, hasta un máximo de 90 intentos.
Una vez utilizados esos 90 intentos, el disco deja de ser accesible. La única manera de avanzar es borrar el disco y empezar de nuevo con una nueva instalación de MacOS.
En caso de que un atacante sea capaz de saltarse estos retrasos, existe una protección adicional contra la fuerza bruta simplemente porque el sistema está diseñado intencionadamente para que la generación de la clave a partir de la contraseña (y, por tanto, la comprobación de si la contraseña es correcta) lleve mucho tiempo (en términos de tiempo de CPU). Esto significa que la comprobación de una contraseña tarda del orden de 80 ms. Eso no parece mucho, pero significa que sólo puedes comprobar 12,5 contraseñas por segundo, mientras que un sistema con un simple hash de contraseña almacenado en el disco podría permitir comprobar millones de contraseñas por segundo.
En cuanto a tu segunda pregunta, esto significa que para protegerte contra la fuerza bruta, tu contraseña no tiene que ser tan compleja. 90 intentos no te llevarán a ninguna parte si intentas forzar una contraseña de 4 caracteres con una mezcla de letras mayúsculas y minúsculas y números.
Sin embargo, recomiendo utilizar contraseñas más complejas, ya que existen otras amenazas además de la simple forzadura bruta. Por ejemplo, alguien podría estar mirando por encima de tu hombro, y en ese caso una contraseña muy simple sería más fácil de reconocer y memorizar.
Si suponemos que nos enfrentamos a un pirata informático que de alguna manera ha encontrado la forma de burlar los retrasos impuestos por el chip M1, y queremos mantener nuestra cuenta asegurada durante 100 años, un cálculo sencillo sería algo así:
12.5 combinations/sec * 100 years = 12.5 c/s * 3.155.760.000 s ~ 40 * 10^9 combinations
Esto significa que, por término medio, un atacante utilizaría 100 años para forzar una contraseña de hasta 80 * 10^9 combinaciones.
Si suponemos que su contraseña está formada por una mezcla de caracteres procedentes del conjunto de 26 letras minúsculas, 26 letras mayúsculas, 10 dígitos numéricos y 10 caracteres especiales, verá que una contraseña de al menos 6 caracteres tendría una complejidad más que suficiente (es decir 72^6 ~ 139 * 10^9
).
Tenga en cuenta que los cálculos anteriores son una forma simplificada de ver el problema. Por ejemplo, en la práctica su Mac M1 probablemente no sobreviviría 100 años de funcionamiento 24/7.