A criptografia é o processo de codificação de todos os dados do usuário em um dispositivo Android usando chaves de criptografia simétricas. Depois que um dispositivo é criptografado, todos os dados criados pelo usuário são criptografados automaticamente antes de serem enviados para o disco e todas as leituras descriptografam automaticamente os dados antes de retorná-los ao processo de chamada. A criptografia garante que mesmo que uma parte não autorizada tente acessar os dados, ela não conseguirá lê-los.
O Android tem dois métodos para criptografia de dispositivos: criptografia baseada em arquivo e criptografia de disco completo.
Criptografia baseada em arquivo
O Android 7.0 e posterior oferece suporte à criptografia baseada em arquivos . A criptografia baseada em arquivo permite que diferentes arquivos sejam criptografados com diferentes chaves que podem ser desbloqueadas de forma independente. Dispositivos que suportam criptografia baseada em arquivo também podem suportar Direct Boot , que permite que dispositivos criptografados inicializem diretamente na tela de bloqueio, permitindo assim acesso rápido a recursos importantes do dispositivo, como serviços de acessibilidade e alarmes.
Com criptografia baseada em arquivos e APIs que tornam os aplicativos conscientes da criptografia, os aplicativos podem operar dentro de um contexto limitado. Isso pode acontecer antes que os usuários forneçam suas credenciais, ao mesmo tempo que protegem as informações privadas do usuário.
Criptografia de metadados
O Android 9 introduz suporte para criptografia de metadados , onde o suporte de hardware está presente. Com a criptografia de metadados, uma única chave presente no momento da inicialização criptografa qualquer conteúdo não criptografado pelo FBE, como layouts de diretório, tamanhos de arquivo, permissões e tempos de criação/modificação. Esta chave é protegida pelo Keymaster, que por sua vez é protegido por inicialização verificada.
Criptografia de disco completo
Android 5.0 até Android 9 suporta criptografia de disco completo . A criptografia de disco completo usa uma única chave — protegida pela senha do dispositivo do usuário — para proteger toda a partição de dados do usuário de um dispositivo. Na inicialização, o usuário deve fornecer suas credenciais antes que qualquer parte do disco fique acessível.
Embora isso seja ótimo para segurança, significa que a maior parte da funcionalidade principal do telefone não está disponível imediatamente quando os usuários reiniciam o dispositivo. Como o acesso aos seus dados é protegido por uma credencial de usuário único, recursos como alarmes não funcionavam, os serviços de acessibilidade não estavam disponíveis e os telefones não podiam receber chamadas.