El cifrado es el proceso de codificar todos los datos del usuario en un dispositivo Android utilizando claves de cifrado simétricas. Una vez que se cifra un dispositivo, todos los datos creados por el usuario se cifran automáticamente antes de enviarlos al disco y todas las lecturas descifran automáticamente los datos antes de devolverlos al proceso de llamada. El cifrado garantiza que incluso si una parte no autorizada intenta acceder a los datos, no podrá leerlos.
Android tiene dos métodos para el cifrado de dispositivos: cifrado basado en archivos y cifrado de disco completo.
Cifrado basado en archivos
Android 7.0 y versiones posteriores admiten el cifrado basado en archivos . El cifrado basado en archivos permite cifrar diferentes archivos con diferentes claves que se pueden desbloquear de forma independiente. Los dispositivos que admiten el cifrado basado en archivos también pueden admitir Direct Boot , que permite que los dispositivos cifrados se inicien directamente en la pantalla de bloqueo, lo que permite un acceso rápido a funciones importantes del dispositivo, como servicios de accesibilidad y alarmas.
Con el cifrado basado en archivos y las API que hacen que las aplicaciones reconozcan el cifrado, las aplicaciones pueden operar dentro de un contexto limitado. Esto puede ocurrir antes de que los usuarios hayan proporcionado sus credenciales mientras se sigue protegiendo la información privada del usuario.
Cifrado de metadatos
Android 9 introduce soporte para el cifrado de metadatos , donde está presente el soporte de hardware. Con el cifrado de metadatos, una sola clave presente en el momento del arranque cifra cualquier contenido que no esté cifrado por FBE, como diseños de directorios, tamaños de archivos, permisos y tiempos de creación/modificación. Esta clave está protegida por Keymaster, que a su vez está protegida por un arranque verificado.
Cifrado de disco completo
Android 5.0 hasta Android 9 admite el cifrado de disco completo . El cifrado de disco completo utiliza una única clave, protegida con la contraseña del dispositivo del usuario, para proteger la totalidad de la partición de datos de usuario de un dispositivo. Al arrancar, el usuario debe proporcionar sus credenciales antes de que se pueda acceder a cualquier parte del disco.
Si bien esto es excelente para la seguridad, significa que la mayor parte de la funcionalidad principal del teléfono no está disponible de inmediato cuando los usuarios reinician su dispositivo. Debido a que el acceso a sus datos está protegido detrás de su credencial de usuario único, funciones como las alarmas no podían funcionar, los servicios de accesibilidad no estaban disponibles y los teléfonos no podían recibir llamadas.