Änderungen an der Enklaven-Konfigurationsdatei, die es Enklaven ermöglichen, SGX2-Funktionen (Intel® SGX) zu verwenden
Es ist nicht möglich, einen Enklaven zu schreiben, der dynamische Speicherverwaltungsfunktionen von Intel® Software Guard Extensions (Intel® SGX) SGX2 verwendet.
Intel® Software Guard Extensions (Intel® SGX) SGX2-Anweisungen in Intel® SGX drei grundlegende Funktionen ausführen, um Speicher dynamisch zuzuweisen: erweitern, Stack erweitern, Threads erstellen. Diese Funktionen werden im Intel SGX Treiber, vertrauenswürdiger Runtime und nicht vertrauenswürdiger Runtime implementiert. Die einzige explizite Handlung, die der Enklaven-Programmierer unternehmen muss, um diese Funktionen zu nutzen, besteht darin, die folgenden Parameter in der Enklaven-Konfigurationsdatei festzulegen:
- StackMinSize, StackMaxSize: Legen Sie die für den Enklaven verfügbare Mindest- und maximale Stack-Größe fest.
- HeapMinSize, HeapMaxSize: Legen Sie die für die Enklave verfügbare Mindest- und maximale Größe fest.
- TCSNum, TCSMaxNum, TCSMinPool: Wird verwendet, um festzustellen, wie viele Threads nach der Enklaveninitialisierung erstellt werden und wie viele Threads dynamisch erstellt werden können, wenn der Enklaven ausgeführt wird.
Der Intel® SGX Entwickler-Referenzleitfaden für Ihr Betriebssystem enthält weitere Details zu diesen Parametern.
Schreiben Sie darüber hinaus den Enklavencode und weisen Sie den Speicher wie gewohnt zu. Der Intel® SGX Treiber, vertrauenswürdige Runtime und nicht vertrauenswürdige Runtime bewältigen die dynamischen Speicherzuweisungen nach Bedarf unter der Motorhaube.
Die Implementierung des Abschnitts (Intel® SGX) SGX2 Dynamic Memory Management in Intel® Software Guard Extensions Softwareunterstützung für die dynamische Speicherzuweisung innerhalb eines Enklavens erläutert weiter, wie das Intel® SGX SDK dynamische Speicherverwaltungsfunktionen implementiert.
Die Intel® SGX-Entwickler-Referenz für Linux* befindet sich im Dokumentationsverzeichnis der neuesten Version des Intel® Software Guard Extensions SDK für Linux*.
Die Intel® SGX-Entwickler-Referenz für Windows* wird mit dem Intel® SGX SDK für Windows* Installationspaket verteilt.