Abstract:
An embodiment includes a processor coupled to memory to perform operations comprising: creating a first trusted execution environment (TXE), in protected non-privileged user address space of the memory, which makes a first measurement for at least one of first data and first executable code and which encrypts the first measurement with a persistent first hardware based encryption key while the first measurement is within the first TXE; creating a second TXE, in the non-privileged user address space, which makes a second measurement for at least one of second data and second executable code; creating a third TXE in the non- privileged user address space; creating a first secure communication channel between the first and third TXEs and a second secure communication channel between the second and third TXEs; and communicating the first measurement between the first and third TXEs via the first secure communication channel.
Abstract:
Befehle und Logik zur Bereitstellung verbesserter Paging-Fähigkeiten für Secure Enclave-Seitencaches. Ausführungsformen beinhalten mehrere Hardware-Threads oder Prozessorkerne, einen Cache zum Speichern sicherer Daten für gemeinsame Seitenadressen, die einer Secure Enclave zugeordnet sind, und für die Hardware-Threads zugänglich sind. Eine Decode-Stufe dekodiert einen ersten Befehl, der besagte gemeinsame Seitenadresse als einen Operand festlegt, und Ausführungseinheiten markieren einen Eintrag entsprechend einer Enclave-Seitencache-Zuordnung für die gemeinsame Seitenadresse, um die Erstellung einer neuen Übersetzung für entweder besagten ersten oder zweiten Hardware-Thread für den Zugriff auf die gemeinsame Seite zu blockieren. Ein zweiter Befehl wird zur Ausführung dekodiert, wobei der zweite Befehl besagte Secure Enclave als einen Operand festlegt, und Ausführungseinheiten Hardware-Threads aufzeichnet, die gerade auf sichere Daten im Enclave-Seitencache entsprechend der Secure Enclave zugreifen, und die aufgezeichnete Anzahl an Hardware-Threads dekrementiert, wenn einer der Hardware-Threads die Secure Enclave verlässt.
Abstract:
A processor has multiple hardware threads and an enclave page cache. The processor has a first instruction to prevent new address translations being created. This instruction takes the address of a page in a secure enclave as a as a parameter. It prevents new entries being made in a translation look-aside buffer for that page. The processor has a second instruction to record the threads accessing an enclave. This instruction specifies the enclave identifier as a parameter and records the number of hardware threads accessing the enclave. The number is decremented whenever a thread exits the enclave. The processor has a third instruction to evict a page from an enclave page cache. The instruction takes the page address to evict as a parameter. It writes the page back to memory if the number of threads accessing the enclave is zero.
Abstract:
An embodiment includes a processor coupled to memory to perform operations comprising: creating a first trusted execution environment (TXE), in protected non-privileged user address space of the memory, which makes a first measurement for at least one of first data and first executable code and which encrypts the first measurement with a persistent first hardware based encryption key while the first measurement is within the first TXE; creating a second TXE, in the non-privileged user address space, which makes a second measurement for at least one of second data and second executable code; creating a third TXE in the non-privileged user address space; creating a first secure communication channel between the first and third TXEs and a second secure communication channel between the second and third TXEs; and communicating the first measurement between the first and third TXEs via the first secure communication channel. Other embodiments are described herein.
Abstract:
Ein System und eine Einrichtung für Datenvertraulichkeit im Distributed Ledger werden offenbart. Das System und die Einrichtung bewahren die Qualitäten von Distributed Ledgers, etwa Transparenz, Integrität und Redundanz, und bieten gleichzeitig Vertraulichkeit, Skalierbarkeit und Sicherheit, wie sie zuvor in Distributed Ledgers nicht zu finden waren. Das System weist ein Datenvertraulichkeitsmodul auf, das eine vertrauenswürdige Ausführungsumgebung sowohl für die Transaktionsverarbeitung als auch für die Schlüsselsynchronisation nutzt. Die Einrichtung, die auf das Distributed Ledger zugreift, ermöglicht, dass neue Knoten dem Netz beitreten, vorhandene Knoten Transaktionen an das Ledger senden, die Transaktion unter Nutzung der vertrauenswürdigen Ausführungsumgebung sicher zu verarbeiten, die Übertragung an die Logikschicht zur Anwendung von Geschäftslogik zu schützen, das Lesen und Schreiben von Daten in einen lokalen Speicher und das Lesen von verschlüsselten Transaktionen.
Abstract:
A processor has an enclave page cache to cache data from a secure enclave. An instruction (ETRACK) causes it to record the number of hardware threads accessing the data in the cache corresponding to the secure enclave. This may be the threads, which are executing code in the secure enclave. When any of the threads exits the secure enclave, the number is decremented. A second instruction (EWB) may cause the data in the cache to be evicted and written back to main memory when the number reaches zero. A third instruction (EBLOCK) may prevent the creation of new address translation entries for the pages in the cache. The data may be encrypted, when written to main memory, and decrypted, when read from main memory.
Abstract:
A processor has multiple hardware threads and an enclave page cache. The processor has a first instruction to prevent new address translations being created. This instruction takes the address of a page in a secure enclave as a as a parameter. It prevents new entries being made in a translation look-aside buffer for that page. The processor has a second instruction to record the threads accessing an enclave. This instruction specifies the enclave identifier as a parameter and records the number of hardware threads accessing the enclave. The number is decremented whenever a thread exits the enclave. The processor has a third instruction to evict a page from an enclave page cache. The instruction takes the page address to evict as a parameter. It writes the page back to memory if the number of threads accessing the enclave is zero.