Android proporciona FDE, pero usa un pin de bloqueo de pantalla, que es (al menos en mi caso) bastante débil (como un PIN de 4 dígitos). ¿Significa que mi FDE podría romperse fácilmente con un ataque fuera de línea?
¿O tal vez la clave maestra se almacena en TPM y todo el cifrado se realiza allí? En ese caso, podría limitar los ensayos o incluso cerrarse después de cierto número de ellos.
Encontré este artículo en source.android.com (énfasis mío):
La clave cifrada se almacena en metadatos criptográficos . El respaldo de hardware se implementa mediante el uso de la capacidad de firma de Trusted Execution Environment (TEE). Anteriormente, ciframos la clave maestra con una clave generada al aplicar scrypt a la contraseña del usuario y al archivo salt. Para que la clave sea resistente a los ataques fuera de la caja, extendemos este algoritmo firmando la clave resultante con una clave TEE almacenada . La firma resultante se convierte luego en una clave de longitud adecuada por una aplicación más de scrypt. Esta clave se utiliza para cifrar y descifrar la clave maestra. Para almacenar esta clave:
Sin embargo, no explican si este proceso de firma está de algún modo limitado o protegido por otros medios.