Estoy tratando de reunir información sobre el sistema de seguridad en Android. Particularmente sobre cómo la contraseña / PIN del usuario se conecta con las claves de cifrado en el modo de cifrado basado en archivos. Estoy haciendo esto para mi proyecto universitario. He encontrado mucha información útil en el sitio de origen de Android . Pero algunas cosas aún no están claras para mí.
- ¿Cómo se conectan las contraseñas / información de PIN con las claves, que se utilizan para cifrar archivos?
La credencial extendida es la credencial del usuario después de la salazón y estiramiento con el algoritmo scrypt. La credencial es en realidad hash una vez en el servicio de configuración de bloqueo antes de pasar a vold Por pasar a scrypt. Esto está criptográficamente vinculado a la clave en el TEE con todas las garantías que se aplican a KM_TAG_APPLICATION_ID.
- ¿Dónde almacena Android esta clave: en hardware o en alguna memoria no accesible?
El hash separable es un hash de 512 bits de un archivo aleatorio de 16 KB almacenado junto con otra información utilizada para reconstruir la clave, como como la semilla
- ¿Qué algoritmo usa Android para reconstruir la clave?