Enclaves de aplicativos

Importante

Para a maioria das novas cargas de trabalho de computação confidencial, comece com as opções de VM confidenciais do Azure e contêineres confidenciais. Este artigo foca no desenvolvimento especializado ciente de enclaves.

Enclaves de aplicativos, como o Intel SGX, são ambientes isolados que protegem dados e códigos específicos. Ao criar enclaves, você deve determinar qual parte do aplicativo é executada dentro do enclave. Ao criar ou gerenciar enclaves, use os SDKs e as estruturas compatíveis com a pilha de implantação escolhida.

Observação

Se você ainda não leu a introdução às VMs e enclaves Intel SGX, leia-a antes de continuar.

Microsoft Mechanics

Desenvolvendo aplicativos

Uma aplicação construída com enclaves possui duas partições.

O host é o componente "não confiável". Seu aplicativo enclave é executado sobre o host. O host é um ambiente não confiável. Quando você implanta o código do 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 de enclave protege seus segredos e dados confidenciais. Verifique se os cálculos seguros ocorrem em um enclave.

Diagrama de um aplicativo, mostrando as partições de host e enclave. Dentro do enclave estão os componentes de código de aplicativo e dados.

Para usar o poder de enclaves e ambientes isolados, escolha ferramentas que dão suporte à computação confidencial. Várias ferramentas são compatíveis com o desenvolvimento de aplicativos de enclave. Por exemplo, você pode usar essas estruturas de software livre:

Ao projetar uma aplicação, identifique e determine qual parte precisa rodar em enclaves. O código no componente confiável é isolado do restante do 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.

Próximas etapas