Recursos de segurança do Android

Use os recursos descritos nesta seção para tornar os dispositivos Android desenvolvidos o mais seguros possível.

Sandbox de aplicativos

A plataforma Android aproveita a proteção baseada no usuário do Linux para identificar e isolar os recursos do app. Para fazer isso, o Android atribui um ID de usuário exclusivo (UID) a cada app e o executa no próprio processo. O Android usa esse UID para configurar um Sandbox de aplicativo no nível do kernel.

Assinatura de apps

A assinatura de apps permite que os desenvolvedores identifiquem o autor do app e atualizem o app sem criar interfaces e permissões complicadas. Todos os apps executados na plataforma Android precisam ser assinados pelo desenvolvedor.

Autenticação

O Android usa o conceito de chaves criptográficas controladas pela autenticação do usuário, que exige o armazenamento de chaves criptográficas e os autenticadores do provedor de serviços e do usuário.

Em dispositivos com um sensor de impressão digital, os usuários podem cadastrar uma ou mais impressões digitais e usá-las para desbloquear o dispositivo e realizar outras tarefas. O subsistema Gatekeeper executa a autenticação de padrão ou senha do dispositivo em um ambiente de execução confiável (TEE).

O Android 9 e versões mais recentes incluem a Confirmação protegida, que oferece aos usuários uma maneira de confirmar formalmente transações importantes, como pagamentos.

Biometria

O Android 9 e versões mais recentes incluem uma API BiometricPrompt que os desenvolvedores de apps podem usar para integrar a autenticação biométrica aos apps de forma independente de dispositivos e modalidades. Apenas biometrias fortes podem ser integradas ao BiometricPrompt.

Criptografia

Quando um dispositivo é criptografado, todos os dados criados pelo usuário são criptografados automaticamente antes de serem confirmados no disco, e todas as leituras descriptografam os dados automaticamente antes de serem retornados ao processo de chamada. A criptografia garante que, mesmo que uma parte não autorizada tente acessar os dados, ela não consiga lê-los.

Keystore

O Android oferece um Keystore com suporte de hardware que oferece geração de chaves, importação e exportação de chaves assimétricas, importação de chaves simétricas brutas, criptografia assimétrica e descriptografia com modos de preenchimento adequados e muito mais.

Security-Enhanced Linux

Como parte do modelo de segurança do Android, o Android usa o Security-Enhanced Linux (SELinux) para aplicar o controle de acesso obrigatório (MAC) a todos os processos, mesmo aqueles executados com privilégios de raiz ou superusuário (recursos do Linux).

Ambiente de execução confiável (TEE)

O Trusty é um sistema operacional (SO) seguro que oferece um ambiente de execução confiável (TEE, na sigla em inglês) para Android. O Trusty OS é executado no mesmo processador do SO Android, mas é isolado do restante do sistema por hardware e software.

Inicialização verificada

A Inicialização verificada se esforça para garantir que todo o código executado venha de uma fonte confiável (geralmente OEMs de dispositivo), e não de um invasor ou de um arquivo corrompido. Ela estabelece uma cadeia de confiança completa, começando com uma raiz de confiança protegida por hardware para o carregador de inicialização, a partição de inicialização e outras partições verificadas.