Artikel-ID: 000089477 Inhaltstyp: Wartung und Leistung Letzte Überprüfung: 14.02.2022

Die Initialisierung einer Intel® Software Guard Extensions (Intel® SGX) Enklave mit einer großen Befestigungsgröße ist langsam

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

Ursache und Risikominderung für eine langsame Zuweisung großer Speichermengen für einen Enklaven.

Beschreibung
  • Die Initialisierung einer Enklave mit einer Größe von wenigen Megabyte dauert weniger als eine Sekunde.
  • Die Initalisierung eines Enklavens mit großer , beispielsweise 1 GB, dauert mehrere Sekunden.
Lösung

Ursache:
Es wird erwartet, dass die Initialisierung großer Speichermengen für eine Enklave lange dauert. Die Initialisierung und Erweiterung des Speichers zum Enklaven-Page-Cache (EPC) für eine Enklave ist viel komplexer als eine einfache Speicherzuweisung in einer regulären Anwendung. Bevor dem EPC ein Speicherblock hinzugefügt wird, muss er mehrere Sicherheitsüberprüfungen durchlaufen, einschließlich der Messung mit einer 256-Bit SHA-2 sicheren Hash-Funktion.

Lesen Sie die Abschnitte 5.1, 5.3, 5.6 in SGX Explained und die Anweisungen zu EADD und EEXTEND in Intel SGX Enklaven-Lebenszyklus.

Minderung:
Wenn der Prozessor Intel® Software Guard Extensions (Intel® SGX) SGX2 unterstützt, in der Enklaven-Konfigurationsdatei:

Die Menge, die beim Start der Enklave vollständig initialisiert werden muss (d. h. EADD der Seite und EEXTEND it) ist die Menge, die beim Start der Enklave benötigt wird. Mit einer minimalen Initialisierungsgröße würde es schneller gehen, und der Rest des Speichers würde nur unter Verwendung der SGX2-Anweisungen hinzugefügt werden, wenn der Enklave während der Laufzeit über Malloc zugewiesen wird.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

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.