Apple tiene un cryptochip que, además de administrar las claves de cifrado, autentica los túneles y proporciona una regulación de fallos intentos, así como la capacidad de desencadenar un borrado del dispositivo después de varios intentos fallidos de autenticación. Esto permite una seguridad razonable utilizando un PIN de 4 dígitos.
No encontré ninguna información sobre la existencia de dicho mecanismo hardware en dispositivos basados en Android. El más cercano podría ser el TEE (Entorno de ejecución de confianza)
El TEE es un área segura del procesador principal en un teléfono inteligente (o cualquier dispositivo conectado). Asegura que los datos sensibles se almacenan, procesado y protegido en un entorno aislado y de confianza
Entiendo que esto es esencialmente una implementación de un TPM , que solo protege las claves de cifrado, y específicamente no manejar la autentificación en si misma.
En ese caso, ¿cómo garantiza Android que la limitación de los intentos de autenticación fallidos no se supere durante un ataque sin conexión?
Específicamente:
- no es posible descifrar un disco desnudo extraído del dispositivo (la clave generada por el TEE es robusta)
- el descifrado de un disco en el dispositivo con la ayuda del TEE debe protegerse - mediante la limitación o el borrado después de un número determinado de intentos.
Una descripción de la implementación de este último es lo que estoy buscando.
Nota : soy consciente de que hay errores de seguridad que ayudan a evitar una configuración de seguridad. Esto sucede en todas partes y en todos los dispositivos y es de esperar que se solucione con parches. Este no es el tema de mi pregunta. Estoy especialmente interesado en los mecanismos de hardware diseñados para protegerse contra mecanismos de autenticación aparentemente inseguros (de los cuales sería un PIN de 4 dígitos, en ausencia de estos sistemas).
EDITAR: también vea esta respuesta sobre el propio TEE (como complemento de la pregunta anterior)