Do básico ao avançado: Guia completo sobre a tecnologia TEE
Com o crescente aumento da demanda por computação de privacidade, a tecnologia de Ambiente de Execução Confiável (TEE) está recebendo cada vez mais atenção. Seja pelo serviço de nuvem privado lançado pela Apple, ou pela funcionalidade de computação confidencial integrada nas GPUs da NVIDIA, ambos refletem o amplo potencial de aplicação do TEE. O TEE pode fornecer forte proteção para os dados dos usuários (, incluindo chaves privadas ), ao mesmo tempo em que garante que a execução dos programas não seja afetada por interferências externas. Portanto, vemos que em campos como criptomoedas e inteligência artificial, o TEE se tornou uma tecnologia-chave para a construção de diversos produtos.
Como uma tecnologia emergente, o TEE está atualmente em uma fase experimental em pleno desenvolvimento. Este artigo tem como objetivo fornecer uma introdução aos conceitos básicos relacionados ao TEE para desenvolvedores e leitores em geral, incluindo a definição de TEE, modelos de segurança, vulnerabilidades comuns e melhores práticas, entre outros conteúdos. Para facilitar a compreensão, tentamos utilizar uma linguagem acessível ao longo do texto.
Introdução ao TEE
TEE refere-se a um ambiente independente em um processador ou centro de dados, onde os programas podem ser executados sem interferência externa. Para alcançar esse objetivo, o TEE utiliza uma série de designs, que incluem principalmente o controle rigoroso do acesso a programas e dados dentro do TEE por outras partes do sistema. Atualmente, o TEE é amplamente utilizado em telefones móveis, servidores, PCs e ambientes de nuvem, apresentando boa usabilidade e custo-benefício.
As diferentes maneiras de implementar TEE por diferentes fornecedores variam, mas o objetivo central é evitar que o TEE seja interferido por programas externos. Tomando como exemplo a informação biométrica, o TEE, através de isolamento de hardware e outras formas, impede fundamentalmente que aplicativos maliciosos, sites ou sistemas de quebra acessem dados sensíveis. A carteira de hardware também é um dos cenários típicos de aplicação do TEE, pois consegue comunicar-se de forma segura com o computador, ao mesmo tempo que impede o acesso direto do computador às palavras-chave armazenadas.
Modelo de Segurança do TEE
Existem muitos tipos de TEE, cada um implementando ( como Intel SGX, Intel TDX, AMD SEV, AWS Nitro Enclaves, ARM TrustZone, etc. ) requer uma análise de modelo de segurança independente. Este artigo discute principalmente Intel SGX, TDX e AWS Nitro, pois são os mais amplamente utilizados no campo do Web3.
O fluxo de trabalho geral da aplicação TEE é o seguinte:
Os desenvolvedores escrevem código ( que pode ser de código aberto ou não )
Empacotar o código em um arquivo de imagem Enclave que pode ser executado em TEE (EIF)
Implementar EIF em servidores com funcionalidade TEE
Os usuários interagem com o aplicativo através de interfaces predefinidas.
Existem três riscos potenciais neste processo:
Desenvolvedores: O código EIF pode apresentar comportamentos maliciosos, como roubar dados de privacidade dos usuários.
Servidor: pode executar EIF que não corresponde ao esperado, ou executar outros programas dentro do TEE.
Fornecedor: O design TEE pode ter vulnerabilidades de segurança ou portas dos fundos.
Para enfrentar esses riscos, o TEE adotou mecanismos como a construção repetível e a prova remota. A construção repetível garante que qualquer pessoa possa verificar se o código implantado final é consistente com o código-fonte público. A prova remota fornece mensagens assinadas pela parte confiável do TEE ( ), que incluem métricas de código do programa, versão da plataforma TEE e outras informações, permitindo que observadores externos confirmem que o programa está sendo executado em um ambiente TEE real.
No entanto, os usuários ainda precisam confiar nos fornecedores de TEE. Se os fornecedores forem vistos como potenciais atacantes, recomenda-se combinar o TEE com provas de conhecimento zero ou protocolos de consenso, em vez de depender unicamente do TEE.
Vantagens do TEE
A popularidade do TEE, especialmente na implementação de agentes de IA, deve-se principalmente às seguintes características:
Desempenho: TEE pode executar modelos LLM, com desempenho e custo comparáveis a servidores comuns.
Suporte a GPU: A mais recente série de GPUs da NVIDIA oferece suporte a cálculos TEE
Correção: LLMs que são executados em TEE confiáveis não podem ser manipulados maliciosamente
Confidencialidade: Os dados dentro do TEE são invisíveis para o exterior, permitindo a gestão segura da chave privada.
Acesso à rede: os programas dentro do TEE podem aceder à Internet de forma segura.
Permissões de escrita: o código interno do TEE pode construir mensagens e enviá-las através da API
Amigável para desenvolvedores: suporta várias linguagens de programação, fácil de implantar
Essas características tornam o TEE difícil de substituir em certos cenários de aplicação, e espera-se que impulsione o surgimento de novas aplicações.
Limitações do TEE
Apesar de ser uma ferramenta poderosa, o TEE ainda enfrenta vários riscos potenciais, que incluem:
descuido do desenvolvedor
Código não transparente, difícil de verificar
Problemas de medição de código
Lógica de código insegura
Risco de ataque à cadeia de suprimentos
Vulnerabilidade em tempo de execução
Risco de execução de código dinâmico
Dependência de fontes de dados externas
Canais de comunicação inseguros
falhas de design de arquitetura
Superfície de ataque muito grande
Problemas de portabilidade e atividade
Raízes de confiança inseguras
Problemas operacionais
Vulnerabilidades de segurança da versão da plataforma
Ameaças à segurança física
Construir programas TEE seguros
Para aumentar a segurança das aplicações TEE, recomendamos:
A solução mais segura: sem dependências externas
Ao eliminar dependências externas, é possível reduzir ao máximo o risco de ataque, mas isso pode limitar funcionalidades.
Medidas de segurança necessárias
Considerar a aplicação TEE como um contrato inteligente, testar rigorosamente, reduzir a frequência de atualizações
Auditoria de código e processo de construção
Usar bibliotecas auditadas
Verificar a prova fornecida pela TEE
Sugestões para casos de uso específicos
Garantir a comunicação segura entre o utilizador e o TEE
Considerando a volatilidade da memória TEE, adotar medidas de persistência de dados
Reduzir a superfície de ataque, como usar um sistema operacional minimizado
TEE com isolamento físico
Adotar um mecanismo de múltiplos provadores para aumentar a confiabilidade
Perspectivas Futuras
Com a popularização da tecnologia de IA e o crescente foco dos usuários na privacidade de dados, cada vez mais empresas de tecnologia estão começando a integrar TEE em seus produtos. Por outro lado, a comunidade de criptomoedas também está explorando ativamente o potencial do TEE em aplicações de escalabilidade de blockchain. Embora o TEE não alcance o mesmo nível de minimização de confiança que soluções de conhecimento zero completas, ele alcança um bom equilíbrio entre funcionalidade e suposições de confiança. Esperamos que o TEE se torne uma ponte entre produtos de empresas Web3 e grandes empresas de tecnologia, promovendo o desenvolvimento integrado de ambos os setores.
Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Guia completo da tecnologia TEE: do conceito à aplicação, desafios de segurança e melhores práticas
Do básico ao avançado: Guia completo sobre a tecnologia TEE
Com o crescente aumento da demanda por computação de privacidade, a tecnologia de Ambiente de Execução Confiável (TEE) está recebendo cada vez mais atenção. Seja pelo serviço de nuvem privado lançado pela Apple, ou pela funcionalidade de computação confidencial integrada nas GPUs da NVIDIA, ambos refletem o amplo potencial de aplicação do TEE. O TEE pode fornecer forte proteção para os dados dos usuários (, incluindo chaves privadas ), ao mesmo tempo em que garante que a execução dos programas não seja afetada por interferências externas. Portanto, vemos que em campos como criptomoedas e inteligência artificial, o TEE se tornou uma tecnologia-chave para a construção de diversos produtos.
Como uma tecnologia emergente, o TEE está atualmente em uma fase experimental em pleno desenvolvimento. Este artigo tem como objetivo fornecer uma introdução aos conceitos básicos relacionados ao TEE para desenvolvedores e leitores em geral, incluindo a definição de TEE, modelos de segurança, vulnerabilidades comuns e melhores práticas, entre outros conteúdos. Para facilitar a compreensão, tentamos utilizar uma linguagem acessível ao longo do texto.
Introdução ao TEE
TEE refere-se a um ambiente independente em um processador ou centro de dados, onde os programas podem ser executados sem interferência externa. Para alcançar esse objetivo, o TEE utiliza uma série de designs, que incluem principalmente o controle rigoroso do acesso a programas e dados dentro do TEE por outras partes do sistema. Atualmente, o TEE é amplamente utilizado em telefones móveis, servidores, PCs e ambientes de nuvem, apresentando boa usabilidade e custo-benefício.
As diferentes maneiras de implementar TEE por diferentes fornecedores variam, mas o objetivo central é evitar que o TEE seja interferido por programas externos. Tomando como exemplo a informação biométrica, o TEE, através de isolamento de hardware e outras formas, impede fundamentalmente que aplicativos maliciosos, sites ou sistemas de quebra acessem dados sensíveis. A carteira de hardware também é um dos cenários típicos de aplicação do TEE, pois consegue comunicar-se de forma segura com o computador, ao mesmo tempo que impede o acesso direto do computador às palavras-chave armazenadas.
Modelo de Segurança do TEE
Existem muitos tipos de TEE, cada um implementando ( como Intel SGX, Intel TDX, AMD SEV, AWS Nitro Enclaves, ARM TrustZone, etc. ) requer uma análise de modelo de segurança independente. Este artigo discute principalmente Intel SGX, TDX e AWS Nitro, pois são os mais amplamente utilizados no campo do Web3.
O fluxo de trabalho geral da aplicação TEE é o seguinte:
Existem três riscos potenciais neste processo:
Para enfrentar esses riscos, o TEE adotou mecanismos como a construção repetível e a prova remota. A construção repetível garante que qualquer pessoa possa verificar se o código implantado final é consistente com o código-fonte público. A prova remota fornece mensagens assinadas pela parte confiável do TEE ( ), que incluem métricas de código do programa, versão da plataforma TEE e outras informações, permitindo que observadores externos confirmem que o programa está sendo executado em um ambiente TEE real.
No entanto, os usuários ainda precisam confiar nos fornecedores de TEE. Se os fornecedores forem vistos como potenciais atacantes, recomenda-se combinar o TEE com provas de conhecimento zero ou protocolos de consenso, em vez de depender unicamente do TEE.
Vantagens do TEE
A popularidade do TEE, especialmente na implementação de agentes de IA, deve-se principalmente às seguintes características:
Essas características tornam o TEE difícil de substituir em certos cenários de aplicação, e espera-se que impulsione o surgimento de novas aplicações.
Limitações do TEE
Apesar de ser uma ferramenta poderosa, o TEE ainda enfrenta vários riscos potenciais, que incluem:
descuido do desenvolvedor
Vulnerabilidade em tempo de execução
falhas de design de arquitetura
Problemas operacionais
Construir programas TEE seguros
Para aumentar a segurança das aplicações TEE, recomendamos:
A solução mais segura: sem dependências externas
Ao eliminar dependências externas, é possível reduzir ao máximo o risco de ataque, mas isso pode limitar funcionalidades.
Medidas de segurança necessárias
Sugestões para casos de uso específicos
Perspectivas Futuras
Com a popularização da tecnologia de IA e o crescente foco dos usuários na privacidade de dados, cada vez mais empresas de tecnologia estão começando a integrar TEE em seus produtos. Por outro lado, a comunidade de criptomoedas também está explorando ativamente o potencial do TEE em aplicações de escalabilidade de blockchain. Embora o TEE não alcance o mesmo nível de minimização de confiança que soluções de conhecimento zero completas, ele alcança um bom equilíbrio entre funcionalidade e suposições de confiança. Esperamos que o TEE se torne uma ponte entre produtos de empresas Web3 e grandes empresas de tecnologia, promovendo o desenvolvimento integrado de ambos os setores.