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 proteção de aplicativos

A plataforma Android aproveita a proteção baseada no usuário do Linux para identificar e isolar recursos do aplicativo. 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 em nível de kernel.

Assinatura de aplicativo

A assinatura de aplicativos 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 usá-las para desbloquear o dispositivo e realizar outras tarefas. O subsistema Gatekeeper executa autenticação de padrão/senha do dispositivo em um Trusted Execution Environment (TEE).

O Android 9 e versões posteriores incluem 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 versões posteriores incluem 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 biometria forte pode ser integrada ao BiometricPrompt .

Criptografia

Depois que um dispositivo é criptografado, todos os dados criados pelo usuário são criptografados automaticamente antes de serem enviados para o 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 conseguirá lê-los.

Armazenamento de chaves

O Android oferece um Keystore apoiado por 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étricas 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 Security-Enhanced Linux (SELinux) para impor o controle de acesso obrigatório (MAC) sobre todos os processos, até mesmo processos executados com privilégios de root/superusuário (recursos do Linux).

Ambiente de execução confiável (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 do sistema operacional Android, 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), e não de um invasor ou corrupção. Ele estabelece uma cadeia completa de confiança, começando com 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.