Recursos de segurança do Android

Use os recursos descritos nesta seção para tornar os dispositivos Android que você desenvolve o mais seguros possível.

Sandbox do aplicativo

A plataforma Android aproveita a proteção baseada no usuário do Linux para identificar e isolar recursos de apps. Para fazer isso, o Android atribui um ID de usuário (UID) exclusivo a cada app Android 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 o atualizem sem criar interfaces e permissões complicadas. Todos os apps executados na plataforma Android precisam ser assinados pelo desenvolvedor.

Autenticação

O Android tem o conceito de autenticadores de usuário que podem desbloquear o dispositivo e realizar outras tarefas:

O Android também oferece suporte a chaves criptográficas com suporte de hardware que só podem ser usadas se a autenticação do usuário com um desses mecanismos tiver ocorrido.

Biometria

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

Criptografia

Depois que 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 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 poderá lê-los.

Keystore

O Android oferece um keystore com suporte de hardware que fornece funcionalidade criptográfica em que o material da chave está contido em um ambiente seguro. O Keystore do Android oferece suporte à geração e importação de chaves simétricas e assimétricas, combinadas com primitivos de criptografia, descriptografia, assinatura e acordo de chaves.

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, na sigla em inglês) em todos os processos, mesmo aqueles executados com privilégios de raiz ou superusuário (recursos do Linux).

Trusty TEE

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

Inicialização verificada

A Inicialização Verificada foi projetada para garantir que todo o código executado venha de uma fonte confiável (geralmente OEMs de dispositivos), em vez de um invasor ou corrupção. A Inicialização Verificada estabelece uma cadeia completa de confiança, começando por uma raiz de confiança protegida por hardware até o carregador de inicialização, a partição de inicialização e outras partições verificadas.