Heim > Artikel > Betrieb und Instandhaltung > Wie kann die CPU Ihre Daten und Privatsphäre vor Diebstahl durch bösartigen Code schützen? Grundlegende Einführung in Intel SGX
Dieser Artikel bietet Ihnen eine grundlegende Einführung in Intel SGX. Freunde in Not können darauf verweisen.
Grundlegende Einführung in Intel SGX
Intel SGX (Intel Software Guard Extension) ist eine Erweiterung der Intel-Befehlssatzarchitektur. SGX stellt Ihnen eine Enklave zur Verfügung, einen verschlüsselten, vertrauenswürdigen Ausführungsbereich im Speicher, in dem die CPU Ihre Daten und Privatsphäre vor Diebstahl durch bösartigen Code schützt.
Prinzip
SGX verwendet die neuen Prozessoranweisungen, um einen Teil des Bereichs EPC (Enclave Page Cache) im Speicher zuzuweisen, durch den CPU Die Verschlüsselungs-Engine MEE (Memory Encryption Engine) verschlüsselt die darin enthaltenen Daten. Der verschlüsselte Inhalt im EPC wird erst dann in Klartext entschlüsselt, wenn er in die CPU gelangt. Daher müssen Sie in SGX nicht dem Betriebssystem, VMM oder sogar dem BIOS vertrauen. Sie müssen nur der CPU vertrauen, um sicherzustellen, dass keine privaten Daten verloren gehen.
Anwendung
In der tatsächlichen Anwendung können Sie die privaten Daten verschlüsseln und in Form von Chiffretext an den Kreis in der Cloud übertragen. und Der entsprechende geheime Schlüssel wird ebenfalls per Fernzertifizierung an den Kreis übermittelt. Die Daten werden dann verwendet, um Berechnungen unter dem Verschlüsselungsschutz der CPU durchzuführen, und die Ergebnisse werden Ihnen als Chiffretext zurückgegeben. In diesem Modus können Sie die leistungsstarke Rechenleistung des Cloud Computing nutzen, ohne sich Gedanken über Datenlecks machen zu müssen.
EDL (Enclave Definition Language)
EDL ist der Kern der SGX-Programmierung, die alles definiert Funktionen zum Lesen, Schreiben und Verarbeiten von Daten im Kreis. Während der Kompilierungsphase generiert das vom SDK bereitgestellte Edger8r-Tool die Überbrückungsfunktion zwischen der Umgebung und dem normalen Speicher basierend auf den in der EDL definierten Funktionen und führt eine entsprechende Sicherheitserkennung durch.
Funktionen werden in vertrauenswürdige Funktionen (ecall) und nicht vertrauenswürdige Funktionen (ocall) unterteilt:
ecall: im vertrauenswürdigen Bereich definiert (vertrauenswürdig), außerhalb des Kreises aufgerufen und innerhalb des Kreises implementiert.
ocall: im nicht vertrauenswürdigen Bereich definiert (nicht vertrauenswürdig), innerhalb des Kreises aufgerufen und außerhalb des Kreises ausgeführt.
// demo.edl enclave { // Add your definition of "secret_t" here trusted { public void get_secret([out] secret_t* secret); }; untrusted { // This OCALL is for illustration purposes only. // It should not be used in a real enclave, // unless it is during the development phase // for debugging purposes. void dump_secret([in] const secret_t* secret); }; };
SGX installieren
Sie können SGX über die Installationsdatei oder den Quellcode installieren, einschließlich Treiber, PSW und SDK usw. Beide Installationsmethoden erfordern die Installation von Header-Dateien, die der Linux-Kernel-Version entsprechen.
Das obige ist der detaillierte Inhalt vonWie kann die CPU Ihre Daten und Privatsphäre vor Diebstahl durch bösartigen Code schützen? Grundlegende Einführung in Intel SGX. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!