O Google está comprometido em promover a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

T confiável

O Trusty é um sistema operacional (SO) seguro que fornece um ambiente de execução confiável (TEE) para Android. O sistema operacional Trusty é executado no mesmo processador que o sistema operacional Android, mas o Trusty é isolado do resto do sistema por hardware e software. Trusty e Android correm paralelos um ao outro. O Trusty tem acesso a toda a potência do processador e da memória principal de um dispositivo, mas é completamente isolado. O isolamento de Trusty o protege de aplicativos maliciosos instalados pelo usuário e de possíveis vulnerabilidades que podem ser descobertas no Android.

O Trusty é compatível com os processadores ARM e Intel. Nos sistemas ARM, o Trusty usa o Trustzone ™ da ARM para virtualizar o processador principal e criar um ambiente de execução confiável e seguro. Suporte semelhante também está disponível nas plataformas Intel x86 usando a Tecnologia de virtualização da Intel.

Figura 1 . Diagrama de visão geral confiável.

O Trusty consiste em:

  • Um pequeno kernel do SO derivado do Little Kernel
  • Um driver de kernel Linux para transferir dados entre o ambiente seguro e o Android
  • Uma biblioteca de espaço de usuário do Android para se comunicar com aplicativos confiáveis ​​(ou seja, tarefas / serviços seguros) por meio do driver do kernel

Nota: Confiável e a API confiável estão sujeitas a alterações. Para obter informações sobre a API confiável, consulte a Referência da API .

Por que confiável?

Outros sistemas operacionais TEE são tradicionalmente fornecidos como blobs binários por terceiros ou desenvolvidos internamente. O desenvolvimento de sistemas TEE internos ou o licenciamento de um TEE de terceiros pode ser oneroso para fornecedores e OEMs do System-on-Chip (SoC). O custo monetário combinado com sistemas de terceiros não confiáveis ​​cria um ecossistema instável para o Android. O Trusty está sendo fornecido aos seus parceiros como uma alternativa de código aberto confiável e gratuita para o Trusted Execution Environment. O Trusty oferece um nível de transparência que simplesmente não é possível com sistemas de código fechado.

O Android suporta várias implementações de TEE, para que você não fique restrito ao uso do Trusty. Cada SO TEE possui sua própria maneira única de implantar aplicativos confiáveis. Essa fragmentação pode ser um problema para desenvolvedores de aplicativos confiáveis ​​que tentam garantir que seus aplicativos funcionem em todos os dispositivos Android. O uso do Trusty como padrão ajuda os desenvolvedores de aplicativos a criar e implantar aplicativos com facilidade, sem levar em consideração a fragmentação de vários sistemas TEE. O Trusty TEE fornece aos desenvolvedores e parceiros transparência, colaboração, capacidade de inspeção do código e facilidade de depuração. Os desenvolvedores de aplicativos confiáveis ​​podem convergir em torno de ferramentas e APIs comuns para reduzir o risco de introdução de vulnerabilidades de segurança. Esses desenvolvedores terão a confiança de que podem desenvolver um aplicativo e reutilizá-lo em vários dispositivos sem desenvolvimento adicional.

Aplicações e serviços

Um aplicativo Trusty é definido como uma coleção de arquivos binários (arquivos executáveis ​​e de recursos), um manifesto binário e uma assinatura criptográfica. No tempo de execução, os aplicativos Trusty são executados como processos isolados no modo não privilegiado no kernel Trusty. Cada processo é executado em sua própria caixa de proteção de memória virtual, utilizando os recursos da unidade de gerenciamento de memória do processador TEE. A construção do hardware altera o processo exato que Trusty segue, mas, por exemplo, o kernel agenda esses processos usando um agendador de rodízio rotativo baseado em prioridade, controlado por um tique seguro do timer. Todos os aplicativos Trusty compartilham a mesma prioridade.

Figura 2 . Visão geral do aplicativo confiável.

Aplicativos confiáveis ​​de terceiros

Atualmente, todos os aplicativos Trusty são desenvolvidos por uma única parte e empacotados com a imagem do kernel Trusty. A imagem inteira é assinada e verificada pelo gerenciador de inicialização durante a inicialização. No momento, o desenvolvimento de aplicativos de terceiros não é suportado no Trusty. Embora o Trusty permita o desenvolvimento de novas aplicações, isso deve ser exercido com extremo cuidado; cada novo aplicativo aumenta a área da base de computação confiável (TCB) do sistema. Os aplicativos confiáveis ​​podem acessar os segredos do dispositivo e podem executar cálculos ou transformações de dados usando-os. A capacidade de desenvolver novos aplicativos executados no TEE abre muitas possibilidades de inovação. No entanto, devido à própria definição de um TEE, esses aplicativos não podem ser distribuídos sem alguma forma de confiança anexada. Normalmente, isso ocorre na forma de uma assinatura digital por uma entidade confiável pelo usuário do produto no qual o aplicativo é executado.

Usos e exemplos

Ambientes de execução confiáveis ​​estão rapidamente se tornando um padrão em dispositivos móveis. Os usuários confiam cada vez mais em seus dispositivos móveis para a vida cotidiana e a necessidade de segurança está sempre aumentando. Dispositivos móveis com um TEE são mais seguros que dispositivos sem um TEE.

Em dispositivos com uma implementação de TEE, o processador principal é frequentemente chamado de "não confiável", o que significa que não pode acessar determinadas áreas da RAM, registros de hardware e fusíveis de gravação única onde dados secretos (como chaves criptográficas específicas do dispositivo) são armazenado pelo fabricante. O software em execução no processador principal delega quaisquer operações que exijam o uso de dados secretos no processador TEE.

O exemplo mais conhecido disso no ecossistema Android é a estrutura DRM para conteúdo protegido. O software em execução no processador TEE pode acessar chaves específicas do dispositivo necessárias para descriptografar o conteúdo protegido. O processador principal vê apenas o conteúdo criptografado, fornecendo um alto nível de segurança e proteção contra ataques baseados em software.

Existem muitos outros usos para um TEE, como pagamentos móveis, banco seguro, autenticação multifatorial, proteção de redefinição de dispositivo, armazenamento persistente protegido por reprodução, processamento seguro de PIN e impressão digital e até detecção de malware.