Änderungen an der Enklaven-Konfigurationsdatei, die es Enklaven ermöglichen, (Intel® SGX) SGX2-Funktionen zu verwenden
Es kann nicht bestimmt werden, wie eine Enklave geschrieben werden soll, die dynamische Speicherverwaltungsfunktionen von Intel® Software Guard Extensions (Intel® SGX) SGX2 verwendet.
Intel® Software Guard Extensions (Intel® SGX) SGX2-Anweisungen in Intel® SGX führen drei grundlegende Funktionen zur dynamischen Speicherzuweisung aus: Heap erweitern, Stapel erweitern, Threads erstellen. Diese Funktionen sind im Intel SGX Treiber, in der vertrauenswürdigen Laufzeit und in der nicht vertrauenswürdigen Laufzeit implementiert. Die einzige explizite Aktion, die der Enclave-Programmierer ausführen muss, um diese Funktionen nutzen zu können, besteht darin, die folgenden Parameter in der Enclave-Konfigurationsdatei festzulegen:
- StackMinSize, StackMaxSize: Legen Sie die minimale und maximale Stapelgröße fest, die der Enklave zur Verfügung steht.
- HeapMinSize, HeapMaxSize: Legen Sie die minimale und maximale Heap-Größe fest, die der Enklave zur Verfügung steht.
- TCSNum, TCSMaxNum, TCSMinPool: Wird verwendet, um zu bestimmen, wie viele Threads nach der Enklaveninitialisierung erstellt werden und wie viele Threads dynamisch erstellt werden können, wenn die Enklave ausgeführt wird.
Das Intel® SGX Developer Reference Guide 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, die vertrauenswürdige Laufzeit und die nicht vertrauenswürdige Laufzeit übernehmen die dynamischen Speicherzuweisungen nach Bedarf unter der Haube.
Im Abschnitt Implementierung von (Intel® SGX) SGX2 Dynamic Memory Management in Intel® Software Guard Extensions Softwareunterstützung für dynamische Speicherzuweisung in einer Enklave wird erläutert, wie das Intel® SGX SDK dynamische Speicherverwaltungsfunktionen implementiert.
Die Intel® SGX Developer Reference für Linux* befindet sich im Dokumentationsordner der neuesten Version des Intel® Software Guard Extensions SDK für Linux*.
Die Intel® SGX Developer Reference für Windows* wird mit dem Intel® SGX SDK für Windows* Installationspaket geliefert.