ID do artigo: 000089548 Tipo de conteúdo: Documentação e informações do produto Última revisão: 05/08/2022

O SDK Intel® Software Guard Extensions (Intel® SGX) fornece uma maneira de determinar o tamanho máximo do enclave?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumo

Dois métodos para determinar o tamanho máximo do enclave.

Descrição

Em um ambiente de nuvem, não é possível verificar a memória reservada do processador (PRM), que inclui o Cache de página do Enclave (EPC), no BIOS.

Não é possível usar o SDK Intel® Software Guard Extensions (Intel® SGX) para encontrar a memória disponível para um enclave.

Resolução

A SDK Intel® Software Guard Extensions (Intel® SGX) não fornece uma maneira de encontrar o tamanho máximo do enclave. O SDK Intel® Software Guard Extensions (Intel® SGX) permite definir o tamanho do enclave em um aplicativo usando o Arquivo de configuração enclave.

Há dois métodos para relatar os recursos Intel® Software Guard Extensions (Intel® SGX) disponíveis em um processador. Ambas as opções relatam o MaxEnclaveSize, que é o tamanho máximo do enclave virtual. O tamanho máximo real do enclave é determinado pelos limites do sistema operacional ou da memória.

Opção 1

Em um sistema Linux*, execute cpuid em um terminal:

$ cpuid | grep MaxEnclaveSize

Opção 2

Use test_sgx.c:

  1. Vá para o Github de hardware SGX e baixe o arquivo test_sgx.c ou clone o repositório
  2. Compilar e correr test_sgx.c de acordo com estes Instruções:

    $ gcc test-sgx.c -o test-sgx
    $ ./test-sgx

Explicação do MaxEnclaveSize

Se MaxEnclaveSize estiver 0, o SGX não está habilitado na plataforma.

Se a SGX estiver habilitada, a saída mais comum é:

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24

  • MaxEnclaveSize_Not64: o tamanho máximo do enclave suportado é de 2^(EDX[7:0]) bytes quando não no modo de 64 bits
  • MaxEnclaveSize_64: o tamanho máximo do enclave suportado é de 2^(EDX[15:8]) bytes ao operar no modo de 64 bits.

O tamanho virtual máximo do enclave é de 2^(0x1f) para enclaves de 32 bits e 2^(0x24) para enclaves de 64 bits.

Outras informações

Consulte os valores devolvidos pela chamada CPUID na seção 37.7.2, Tabela 37-6 do Manual do Desenvolvedor de Software de IA Vol 3d Parte 4.

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.