Wie Enklaven während der lokalen Bescheinigung sicher miteinander kommunizieren
Kann ein Man-in-the-Middle-Angriff (MITM), bei dem eine dritte Enklave Nachrichten abfängt und sich als eine der Enklaven ausgibt, während der lokalen Bestätigung zwischen zwei Enklaven implementiert werden?
Ein Man-in-the-Middle-Angriff ist nicht möglich, da eine dritte Enklave die Nachrichten zwischen der Quell-Enklave und der Ziel-Enklave nicht abfangen kann.
Bei der lokalen Bescheinigung kommunizieren die beiden Enklaven nicht direkt miteinander. Stattdessen kommunizieren die Enklaven über verschlüsselte Kanäle über die nicht vertrauenswürdige Anwendung als Vermittler.
Ausführliche Informationen finden Sie im Abschnitt Lokaler Nachweis im Intel® Software Guard Extensions (Intel® SGX) SDK Referenzhandbuch für Entwickler für Windows* . Im Unterabschnitt "Einrichtung geschützter Kanäle" heißt es:
Die Anwendung initiiert eine Sitzung zwischen der Quell-Enklave und der Ziel-Enklave, indem sie eine ECALL-Datei in die Quell-Enklave ausführt und die Enklaven-ID der Ziel-Enklave übergibt. Nach Erhalt der Enklaven-ID der Ziel-Enklave führt die Quell-Enklave eine OCALL-Datei in den nicht vertrauenswürdigen Kerncode aus, der dann eine ECALL-Datei in der Ziel-Enklave ausführt, um die zum Einrichten einer Sitzung erforderlichen Nachrichten über das ECDH Key Exchange*-Protokoll auszutauschen.
Die Intel SGX Developer Reference für Linux befindet sich im Dokumentationsordner der neuesten Version des Intel® Software Guard Extensions SDK für Linux*.