A criptografia é o processo de codificação de todos os dados do usuário em um dispositivo Android usando chaves de criptografia simétrica. Depois que um dispositivo é criptografado, todos os dados criados pelo usuário são criptografados automaticamente antes de serem enviados ao 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 consiga ler.
O Android tem dois métodos de criptografia de dispositivo: criptografia baseada em arquivos e criptografia de disco completo.
Criptografia baseada em arquivos
O Android 7.0 e versões mais recentes oferecem suporte à criptografia baseada em arquivos. A criptografia baseada em arquivo permite que diferentes arquivos sejam criptografados com chaves diferentes que podem ser desbloqueadas de forma independente. Os dispositivos que oferecem suporte à criptografia baseada em arquivos também podem oferecer suporte ao Direct Boot, que permite que dispositivos criptografados inicializem diretamente na tela de bloqueio, permitindo acesso rápido a recursos importantes do dispositivo, como serviços de acessibilidade e alarmes.
Com a criptografia baseada em arquivos e APIs que informam os apps sobre a criptografia, eles podem operar em um contexto limitado. Isso pode acontecer antes que os usuários forneçam as credenciais e, ao mesmo tempo, proteger as informações particulares deles.
Criptografia de metadados
O Android 9 oferece suporte à criptografia de metadados, quando há suporte de hardware. Com a criptografia de metadados, uma única chave presente no momento da inicialização criptografa qualquer conteúdo que não esteja criptografado pela FBE, como layouts de diretório, tamanhos de arquivo, permissões e tempos de criação/modificação. Essa chave é protegida pelo Keymaster, que, por sua vez, é protegido pela inicialização verificada.
Criptografia de disco completo
As versões 5.0 até o Android 9 oferecem suporte à criptografia de disco completo. A criptografia de disco completo usa uma única chave, protegida com a senha do dispositivo do usuário, para proteger toda a partição de dados do usuário de um dispositivo. Ao inicializar, o usuário precisa fornecer as credenciais antes que qualquer parte do disco seja acessível.
Embora isso seja ótimo para a segurança, significa que a maioria das funcionalidades principais do smartphone não fica imediatamente disponível quando os usuários reiniciam o dispositivo. Como o acesso aos dados é protegido por uma credencial de usuário única, recursos como alarmes não funcionavam, serviços de acessibilidade estavam indisponíveis e os smartphones não podiam receber chamadas.