Privacidade no Litentry II: Ambiente de Execução Confiável Explicado

Jan 04 2023
*Você pode encontrar a primeira parte do artigo aqui. O Trusted Execution Environment (TEE) é uma área segura, também conhecida como “Enclave”, na CPU isolada do sistema operacional (SO) principal.

*Você pode encontrar a primeira parte do artigo aqui .

O Trusted Execution Environment (TEE) é uma área segura, também conhecida como “Enclave”, na CPU isolada do sistema operacional (SO) principal. Ele é projetado para proteger os dados e garantir que eles sejam armazenados, processados ​​e mantidos em segurança.

O TEE é protegido por uma estrutura eletrônica criptográfica isolada, resistente a ataques maliciosos e acesso não autorizado. O fabricante do hardware garante que ninguém — nem mesmo o administrador do sistema ou o sistema operacional — tenha acesso às chaves ou possa ler a memória armazenada no TEE. Isso o torna uma ótima opção para executar tarefas confidenciais, como transferência de token privado, contratos inteligentes privados e canais privados de estado.

Você pode pensar no TEE como uma caixa preta em uma CPU isolada do resto do sistema. Assim como uma caixa preta, os dados dentro do TEE são invisíveis do lado de fora, e estão protegidos e somente as pessoas com a chave certa podem acessá-los.

O que torna um TEE seguro?

1. A computação dentro de um TEE é totalmente invisível do lado de fora

Um TEE gerencia suas próprias chaves criptográficas, e o fabricante do hardware garante por design que ninguém — nem mesmo o administrador do sistema ou o sistema operacional — tenha acesso a essas chaves ou possa ler sua memória. Isso nos permite executar qualquer atualização de estado sem precisar compartilhar nossos dados com o validador do blockchain ou outros usuários. Transferência de token privado, contratos inteligentes privados e canais de estado privados podem, portanto, ser alcançados com esforço computacional mínimo. Essas características permitem a execução de software totalmente confidencial e à prova de adulteração.

2. Cada TEE tem um atestado remoto para garantir que o código esteja sendo executado em um TEE genuíno e seguro

Depois que o fabricante do hardware verifica um relatório TEE, ele o assina com seu certificado conhecido. Este atestado confirma:

  • O enclave é um TEE genuíno do fabricante do hardware. A fabricação de hardware Intel SGX pode gerar pares de chaves exclusivos para identificar a CPU. A UCP usará sua chave privada para assinar o certificado do enclave, confirmando que o certificado foi emitido pela UCP. Isso verifica se o enclave está sendo executado no hardware Intel SGX.
  • A versão do microcódigo da CPU indica o nível de segurança do hardware. Manter a versão atualizada garante correções para as últimas vulnerabilidades de segurança conhecidas. Esta versão também nos ajuda a avaliar o nível de segurança de uma CPU.
  • O software específico em execução e os dados armazenados no enclave são verificados para garantir que o código não seja modificado e o estado inicial seja determinado. Além disso, cada programa executado em um TEE possui um hash da chave pública no certificado ISV, o que garante que o programa seja emitido pelo Independent Software Vendor (ISV).

Os usuários irão configurar uma Chave de Proteção e usar a chave para criptografar mensagens/dados que devem ser enviados para um TEE. O TEE possui uma chave de blindagem pública que pode descriptografar a mensagem/dados do usuário. A chave de blindagem permite a comunicação de um usuário com o TEE ou o blockchain permanece confidencial.

Por que Intel SGX?

A tecnologia TEE é altamente dependente de hardware, por isso é essencial selecionar hardware que tenha um nível de segurança mais alto. Quando se trata de serviços SGX, o Intel SGX é uma excelente escolha devido ao seu confiável serviço de atestado remoto.

O Intel SGX foi proposto pela primeira vez em 2015, o que o torna um dos primeiros TEEs. Além disso, em comparação com outros TEEs, como AMD SEV ou ARM CCA, o Intel SGX possui cadeias de ferramentas e materiais de suporte mais robustos, o que o torna uma escolha muito melhor. Além disso, o Intel SGX também fornece aos seus usuários maiores garantias de segurança e desempenho mais confiável. Portanto, quando se trata de tecnologia TEE, o Intel SGX é certamente uma ótima opção a se considerar.

Por que IntergriTEE?

Os TEEs são invisíveis do lado de fora e, embora isso apresente uma grande vantagem em termos de segurança, também tem uma desvantagem: se o hardware for comprometido, todos os dados armazenados no TEE são completamente perdidos e irrecuperáveis. Para fornecer uma solução para esse problema, a IntergriTEE desenvolveu uma cadeia lateral e um oráculo TEE de Camada 2.

Essa cadeia lateral permite que os cálculos sejam executados em paralelo em vários TEE workers, permitindo a sincronização e o cálculo de informações em vários TEEs. Isso garante que, se um dos TEEs for comprometido, não haverá nenhum efeito negativo no funcionamento da sidechain. Além disso, como os cálculos são divididos entre vários TEEs, os dados armazenados na sidechain são muito mais seguros do que seriam se fossem armazenados em um único TEE.

Por que TEE, não prova de conhecimento zero?

A prova de conhecimento zero (ZKP) é uma tecnologia que vem ganhando força nos últimos anos, pois permite a transmissão ou interação segura de informações sem revelar os dados subjacentes. No entanto, o TEE é, em última análise, uma solução melhor para nós do que o ZKP, depois de considerar a complexidade do design, a escalabilidade e a maturidade das duas tecnologias.

  • O ZKP gerencia apenas a transmissão ou interação de informações, mas não fornece proteção para extração/consulta de informações, armazenamento ou computação. Por outro lado, o TEE oferece uma proteção mais abrangente em todo o fluxo de trabalho de dados.
  • A sofisticação do projeto de um sistema ZKP é muito mais complexa do que a de um sistema TEE, que requer uma profissão mais especializada, como projeto de comprometimento polinomial, dos desenvolvedores. Isso significa que os desenvolvedores devem ter um maior nível de especialização ao trabalhar com um sistema ZKP, em comparação com um sistema TEE.
  • O ZKP não é escalável o suficiente para lidar com uma ampla gama de problemas e geralmente é desenvolvido apenas para um ou dois problemas comuns. Por outro lado, o TEE permite que você especifique qualquer lógica de negócios a ser executada internamente e é uma solução madura com o Intel SGX em uso há cerca de sete anos. Levará muito tempo para que o ZKP tenha desempenho suficiente para muitos casos de negócios.

Agradecimentos especiais a Adegoke Yusuff , Eric Zhang e Kailai Wang por contribuir com seus conhecimentos para este artigo.

Se você estiver interessado em ler mais sobre nossas soluções de privacidade, pode encontrar a primeira parte do artigo aqui — Privacy in Litentry I: Implication and Design .

No próximo artigo, exploraremos a implementação do TEE no Litentry Parachain e como ele facilita a proteção e privacidade de dados. Se você tiver alguma dúvida, deixe um comentário abaixo.