Criptografia

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 gravados em disco, e todas as leituras descriptografam automaticamente os dados antes de retorná-los ao processo de chamada. Ela garante que, mesmo que uma parte não autorizada tente acessar os dados, não será possível lê-los.

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 são compatíveis com criptografia baseada em arquivo. A criptografia baseada em arquivos permite que arquivos diferentes 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 à inicialização direta, que permite que dispositivos criptografados sejam inicializados 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, mas ainda protegendo as informações privadas deles.

Criptografia de metadados

O Android 9 introduz 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 horários de criação/modificação. Essa chave é protegida pelo KeyMint (antigo Keymaster), que, por sua vez, é protegido pela Inicialização verificada.

Criptografia de disco completo

O Android 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 fique acessível.

Isso é ótimo para a segurança, mas significa que a maior parte da funcionalidade principal do smartphone não fica disponível imediatamente quando os usuários reiniciam o dispositivo. Como o acesso aos dados deles é protegido por uma única credencial de usuário, recursos como alarmes não funcionavam, os serviços de acessibilidade não estavam disponíveis e os smartphones não podiam receber ligações.