ID de l'article: 000089548 Type de contenu: Information et documentation de produit Dernière révision: 05/08/2022

Le SDK Intel® Software Guard Extensions (Intel® SGX) fournit-il un moyen de déterminer la taille maximale de l’enclave ?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Deux méthodes permettant de déterminer la taille maximale de l’enclave.

Descriptif

Dans un environnement Cloud, il n’est pas possible de vérifier la mémoire réservée (PRM) du processeur, qui comprend le cache de page d’enclave (EPC), dans le BIOS.

Impossible d’utiliser le SDK Intel® Software Guard Extensions (Intel® SGX) pour trouver la mémoire disponible pour une enclave.

Résolution

Le SDK Intel® Software Guard Extensions (Intel® SGX) ne fournit pas le moyen de trouver la taille maximale de l’enclave. Le SDK Intel® Software Guard Extensions (Intel® SGX) vous permet de définir la taille de l’enclave dans une application à l’aide du fichier de configuration de l’enclave.

Il existe deux méthodes permettant de signaler les Intel® Software Guard Extensions (Intel® SGX) disponibles sur un processeur. Les deux options signalent la taille d’enclave maxenœuxize, qui est la taille d’enclave virtuelle maximale. La taille réelle maximale de l’enclave est déterminée par le système d’exploitation ou les limites de mémoire.

Option 1

Sur un système Linux*, exécutez un processeur dans un terminal :

$ cpuid | grep MaxEnclaveSize

Option 2

Utilisez test_sgx.c :

  1. Accédez à SGX Hardware Github et téléchargez le fichier test_sgx.c ou clonez le référentiel
  2. Compiler et Courir test_sgx.c selon ces instructions:

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

Explication de MaxEnospatialESize

Si MaxEnclaveSize est 0, SGX n’est pas activé sur la plateforme.

Si SGX est activé, le résultat le plus courant est :

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24

  • MaxEnclaveSize_Not64 : la taille maximale de l’enclave prise en charge est de 2^(EDX[7:0]) lorsqu’il n’est pas en mode 64 bits
  • MaxEnclaveSize_64 : la taille maximale de l’enclave prise en charge est de 2^(EDX[15:8]) lorsqu’il fonctionne en mode 64 bits.

La taille virtuelle maximale de l’enclave est de 2^(0x1f) pour les enclaves de 32 bits et de 2^(0x24) pour les enclaves de 64 bits.

Informations complémentaires

Reportez-vous aux valeurs renvoyées par l’appel CPUID à la section 37.7.2 du Tableau 37-6 du Manuel du développeur de logiciels IA vol 3d Partie 4.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.