Enclaves de aplicativos
Enclaves de aplicativos, como Intel SGX, são ambientes isolados que protegem códigos e dados específicos. Ao criar enclaves, você precisa 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 aos enclaves do Intel SGX, faça isso antes de continuar.
Mecânica da Microsoft
Desenvolvendo aplicativos
Há duas partições em um aplicativo criado com enclaves.
O host é o componente "não confiável". O aplicativo de 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 e sua memória em cache são executados no enclave. O ambiente do enclave protege seus segredos e dados confidenciais. Certifique-se de que suas computações seguras ocorram em um enclave.
Para aproveitar o potencial dos enclaves e dos ambientes isolados, escolha ferramentas compatíveis com a 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:
- O OE SDK (Open Enclave Software Development Kit)
- O SDK do Intel SGX
- O Software Development Kit do EGo
- O CCF (Confidential Consortium Framework)
Ao projetar um aplicativo, identifique e determine qual parte dele precisa ser executada 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 nem alterar o código.