Habilité el cifrado del dispositivo, pero Android no me dio la oportunidad de elegir una nueva contraseña, sino que usó la pantalla de bloqueo. Volví a la configuración de bloqueo de pantalla y cambié la contraseña y la contraseña de cifrado cambió automáticamente. Pero eso sucedió instantáneamente, mi dispositivo no pasó por ningún proceso de encriptación.
La pregunta es: ¿Cambiar la contraseña de encriptación requiere algún tipo de proceso largo de encriptación? En otras palabras, ¿mi dispositivo sigue siendo seguro y los datos están encriptados de forma segura?
Dispositivo: Xperia E4 Dual
Versión de Android: 4.4.2 stock sony
De la fuente oficial de Android :
En el primer arranque, el dispositivo crea una clave maestra de 128 bits generada aleatoriamente y luego la codifica con una contraseña predeterminada y sal almacenada. (La contraseña predeterminada es: "default_password").
Sin embargo, el hash resultante también se firma a través de un TEE (como TrustZone), que utiliza un hash de la firma para cifrar la clave maestra .Cuando el usuario establece el PIN/contraseña o la contraseña en el dispositivo, solo se vuelve a cifrar y almacenar la clave de 128 bits. (es decir, los cambios de PIN/contraseña/patrón de usuario NO provocan el nuevo cifrado de los datos de usuario ).
Lo que esto significa es que, esencialmente, hay dos claves para entender:
La clave maestra se genera solo durante el primer arranque y nunca cambia (a menos que se realice un restablecimiento de fábrica o se borre la partición de datos de usuario). Los datos en la partición /data se cifran o descifran solo con la clave maestra. La clave maestra no se puede almacenar tal como está (no es seguro hacerlo, ¿verdad?), por lo que se cifra con otra clave que se indica a continuación.
La clave user_encryption es la clave con la que se puede descifrar la clave maestra cifrada, porque solo con la clave maestra se pueden descifrar los datos cifrados. (Esta clave se calcula en función de su PIN/contraseña/lo que sea).
La gente a menudo tiende a pensar que ambas claves son una y la misma, lo cual no es el caso aquí.
Cuando cambia su PIN/contraseña de desbloqueo, solo cambia la clave user_encryption, no la clave maestra, por lo que los datos no se vuelven a cifrar.
Melab
Gokul NC
Gokul NC
user_encryption key
que he mencionado anteriormente se calcula comohash_128(sign(hash(master_key_hash, password/pin, salt), TEE_key))
. Ahora, esta clave se calcula sobre la marcha cada vez que desbloquea el teléfono. Esta es la clave con la que se cifra la clave maestra. Por lo tanto, se requiere la misma clave para descifrar y obtener la clave maestra y usar esa clave maestra para descifrar su archivouserdata
.Gokul NC