Trusted Execution Environment e ARM TrustZone
- por Sergio Prado
Trusted Execution Environment (TEE) é um ambiente em que o código executado e os dados acessados são isolados e protegidos em termos de confidencialidade (ninguém tem acesso aos dados) e integridade (ninguém pode alterar o código e seu comportamento).
Podemos não estar cientes, mas muitos dispositivos ao nosso redor utilizam TEE (smartphones, set-top-boxes, consoles de videogame, Smart TVs, etc) para gerenciar de forma segura chaves de criptografia, mecanismos de autenticação, pagamentos eletrônicos e conteúdo protegido por direito autoral (DRM).
Em um sistema com TEE, temos aplicações não confiáveis (untrusted applications) em execução em um Rich Execution Environment (REE) e aplicações confiáveis (trusted applications – TAs) em execução em um Trusted Execution Environment (TEE). Somente aplicações confiáveis rodando em um TEE têm acesso completo ao processador, periféricos e memória, enquanto o isolamento de hardware os protege de aplicações não confiáveis em execução no sistema operacional principal.
Este artigo será uma introdução aos conceitos de TEE e à tecnologia TrustZone da ARM.
O conteúdo completo do artigo está disponível no meu blog em inglês #embeddedbits.
Um abraço,
Sergio Prado