Enclaves de aplicação
Enclaves de aplicativos, como o Intel SGX, são ambientes isolados que protegem códigos e dados específicos. Ao criar enclaves, você deve determinar qual parte do aplicativo é executada dentro do enclave. Ao criar ou gerenciar enclaves, certifique-se de usar SDKs e estruturas compatíveis para a pilha de implantação escolhida.
Nota
Se você ainda não leu a introdução às VMs e enclaves Intel SGX, faça-o antes de continuar.
Mecânica da Microsoft
Desenvolvimento de aplicações
Há duas partições em um aplicativo construído com enclaves.
O host é o componente "não confiável". Seu aplicativo de enclave é executado sobre o host. O host é um ambiente não confiável. Quando você implanta o código de enclave no host, o host não pode acessar esse código.
O enclave é o componente "confiável". O código do aplicativo e seus dados armazenados em cache e memória são executados no enclave. O ambiente do enclave protege seus segredos e dados confidenciais. Certifique-se de que seus cálculos seguros aconteçam em um enclave.
Para usar o poder de enclaves e ambientes isolados, escolha ferramentas que suportem computação confidencial. Várias ferramentas suportam o desenvolvimento de aplicações de enclave. Por exemplo, você pode usar estas estruturas de código aberto:
- O Open Enclave Software Development Kit (OE SDK)
- O SDK do Intel SGX
- O Kit de Desenvolvimento de Software EGo
- Quadro confidencial de consórcios (CCF)
Ao projetar um aplicativo, identifique e determine qual parte precisa ser executada em enclaves. O código no componente confiável é isolado do resto do seu aplicativo. Depois que o enclave é inicializado e o código é carregado na memória, os componentes não confiáveis não podem ler ou alterar esse código.