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.

Caixa de areia do aplicativo

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

Assinatura do aplicativo

A assinatura do aplicativo permite que os desenvolvedores identifiquem o autor do aplicativo e atualizem seu aplicativo sem criar interfaces e permissões complicadas. Todo aplicativo executado na plataforma Android deve ser assinado pelo desenvolvedor.

Autenticação

O Android usa o conceito de chaves criptográficas controladas por autenticação de usuário que requer armazenamento de chave criptográfica e provedor de serviços e autenticadores de usuário.

Em dispositivos com sensor de impressão digital, os usuários podem registrar uma ou mais impressões digitais e usar essas impressões digitais para desbloquear o dispositivo e realizar outras tarefas. O subsistema Gatekeeper executa a autenticação de padrão/senha do dispositivo em um Trusted Execution Environment (TEE).

O Android 9 e superior inclui a Confirmação Protegida, que oferece aos usuários uma maneira de confirmar formalmente transações críticas, como pagamentos.

Biometria

O Android 9 e superior inclui uma API BiometricPrompt que os desenvolvedores de aplicativos podem usar para integrar a autenticação biométrica em seus aplicativos de maneira independente de dispositivo e modalidade. Somente uma biometria forte pode se integrar ao BiometricPrompt .

Criptografia

Depois que um dispositivo é criptografado, todos os dados criados pelo usuário são criptografados automaticamente antes de enviá-los para o disco e todas as leituras descriptografam os dados automaticamente antes de devolvê-los ao processo de chamada. A criptografia garante que, mesmo que uma parte não autorizada tente acessar os dados, eles não poderão lê-los.

Armazenamento de chaves

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

Linux com segurança aprimorada

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

Trusty Trusted Execution Environment (TEE)

Trusty é um sistema operacional (SO) seguro que fornece um ambiente de execução confiável (TEE) para Android. O Trusty OS é executado no mesmo processador que o Android OS, mas o Trusty é isolado do resto 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 dispositivos), em vez de um invasor ou corrupção. Ele estabelece uma cadeia completa de confiança, começando de uma raiz de confiança protegida por hardware para o carregador de inicialização, para a partição de inicialização e outras partições verificadas.