ID del artículo: 000089548 Tipo de contenido: Información y documentación sobre productos Última revisión: 05/08/2022

¿El SDK de Intel® Software Guard Extensions (Intel® SGX) proporciona una forma de determinar el tamaño máximo de enclave?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumen

Dos métodos para determinar el tamaño máximo de enclave.

Descripción

En un entorno de nube, no es posible comprobar la memoria reservada para procesadores (PRM), que incluye la caché de páginas enclaves (EPC), en el BIOS.

No se puede utilizar el SDK de Intel® Software Guard Extensions (Intel® SGX) para encontrar la memoria disponible para un enclave.

Resolución

El SDK de Intel® Software Guard Extensions (Intel® SGX) no proporciona una manera de encontrar el tamaño máximo de enclave. El SDK de Intel® Software Guard Extensions (Intel® SGX) le permite establecer el tamaño de enclave en una aplicación utilizando el archivo de configuración de enclave.

Hay dos métodos para informar sobre las capacidades de Intel® Software Guard Extensions (Intel® SGX) disponibles en un procesador. Ambas opciones informan maxEnclaveIndex, que es el tamaño de enclave máximo virtual. El tamaño máximo real del enclave está determinado por los límites del sistema operativo o de la memoria.

Opción 1

En un sistema Linux*, ejecute el cpuid en un terminal:

$ cpuid | grep MaxEnclaveSize

Opción 2

Utilice test_sgx.c:

  1. Vaya al Github de hardware SGX y descargue el archivo test_sgx.c o clone el repositorio.
  2. Compilar y correr test_sgx.c de acuerdo con estos instrucciones:

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

Explicación de MaxEnclave Persuasión

Si MaxEnclaveSize está 0, SGX no está habilitado en la plataforma.

Si SGX está activado, el resultado más común es:

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24

  • MaxEnclaveSize_Not64: el tamaño máximo de enclave admitido es de 2^(EDX[7:0]) bytes cuando no está en modo de 64 bits
  • MaxEnclaveSize_64: el tamaño máximo de enclave compatible es de 2^(EDX[15:8]) bytes cuando opera en el modo de 64 bits.

El tamaño virtual máximo del enclave es de 2^(0x1f) para enclaves de 32 bits y 2^(0x24) para enclaves de 64 bits.

Más información

Consulte los valores devueltos por la llamada CPUID en la Sección 37.7.2, Tabla 37-6 del Manual para desarrolladores de software de IA Vol 3d Parte 4.

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.