Artikel-ID: 000089548 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 05.08.2022

Bietet das Intel® Software Guard Extensions (Intel® SGX) SDK eine Möglichkeit, um die maximale Enklavengröße zu bestimmen?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

Zwei Methoden zur Bestimmung der maximalen Enklavengröße.

Beschreibung

In einer Cloud-Umgebung ist es nicht möglich, den Processor Reserved Memory (PRM), der den Enclave Page Cache (EPC) umfasst, im BIOS zu überprüfen.

Das Intel® Software Guard Extensions SDK (Intel® SGX) kann nicht verwendet werden, um den verfügbaren Speicher für einen Enklaven zu finden.

Lösung

Das Intel® Software Guard Extensions (Intel® SGX) SDK bietet keine Möglichkeit, die maximale Enklavengröße zu finden. Mit dem Intel® Software Guard Extensions (Intel® SGX) SDK können Sie die Enklavengröße in einer Anwendung mithilfe der Enklaven-Konfigurationsdatei festlegen.

Es gibt zwei Methoden zur Meldung der Intel® Software Guard Extensions (Intel® SGX) Funktionen eines Prozessors. Beide Optionen melden die MaxEnklavengröße, die die virtuelle maximale Enklavengröße ist. Die tatsächliche maximale Enklavengröße wird von den Betriebssystem- oder Speicherbeschränkungen bestimmt.

Option 1

Führen Sie auf einem Linux* System die CPUID in einem Terminal aus:

$ cpuid | grep MaxEnclaveSize

Option 2

Verwenden Sie test_sgx.c:

  1. Gehen Sie zum SGX Hardware Github und laden Sie die Datei test_sgx.c herunter oder klonen Sie das Repository.
  2. Kompilieren und laufen test_sgx.c entsprechend diesen Anweisungen:

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

Erklärung von MaxEnclaveSize

Wenn MaxEnclaveSize 0ist, ist SGX auf der Plattform nicht aktiviert.

Wenn SGX aktiviert ist, ist die am häufigsten ausgegebene Ausgabe:

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24

  • MaxEnclaveSize_Not64: die maximale unterstützte Enklavengröße ist 2^(EDX[7:0]) Byte, wenn sich der 64-Bit-Modus nicht befindet
  • MaxEnclaveSize_64: Die maximale unterstützte Enklavengröße beträgt 2^(EDX[15:8]) Byte beim Betrieb im 64-Bit-Modus.

Die maximale virtuelle Größe der Enklave ist 2^(0x1f) für 32-Bit und 2^(0x24) für 64-Bit-Enklaven.

Weitere Informationen

Beziehen Sie sich auf die Werte, die vom CPUID-Aufruf in Abschnitt 37.7.2, Tabelle 37-6 des IA Software Developer Manual Vol 3d Part 4 zurückgegeben werden.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.