ID del artículo: 000089477 Tipo de contenido: Mantenimiento y desempeño Última revisión: 14/02/2022

Inicializar un enclave Intel® Software Guard Extensions (Intel® SGX) con un gran tamaño de montón es lento

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumen

Causa y mitigación para una asignación lenta de gran cantidad de memoria para un enclave.

Descripción
  • Inicializar un enclave con HeapInitIndex de unos pocos megabytes toma menos de un segundo.
  • Initaitar un enclave con un gran HeapInitInitInit, por ejemplo, de 1 GB, toma varios segundos.
Resolución

Causa:
Se espera que inicializar grandes cantidades de memoria para un montón de enclaves tome mucho tiempo. Inicializar y agregar memoria a la caché de página de enclave (EPC) para un enclave es mucho más complejo que una asignación de memoria simple en una aplicación regular. Antes de agregar un bloque de memoria al EPC, debe pasar por varias comprobaciones de seguridad, incluida la medición mediante una función de hash seguro SHA-2 de 256 bits.

Consulte las secciones 5.1, 5.3, 5.6 de SGX explicadas y las instrucciones EADD y EEXTEND en Intel SGX ciclo de vida de enclaves.

Mitigación:
Si el procesador es compatible con Intel® Software Guard Extensions (Intel® SGX) SGX2, en el archivo de configuración de enclave:

HeapInitInitInit es la cantidad para inicializar completamente (es decir , EADD la página y luego EEXTENDla ) en el lanzamiento del enclave, lo que lleva tiempo. Con un tamaño de inicialización mínimo, sería más rápido, y el resto de la memoria solo se añadiría utilizando las instrucciones SGX2 cuando el enclave durante el tiempo de ejecución lo asigna, a través de un claro.

Productos relacionados

Este artículo se aplica a 1 productos

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.