Abstract:
PROBLEM TO BE SOLVED: To provide a flexible AES instruction set for a general purpose processor.SOLUTION: The instruction set includes instructions to perform a "one round" pass for AES encryption or decryption and also includes instructions to perform key generation. An immediate field or separate instructions may be used to indicate a round number and a key size for key generation for 128/192/256 bit keys. The flexible AES instruction set can set whether implicit registers to store round keys are utilized and, when the implicit registers are not used, enables full use of pipelining capabilities because it does not require tracking of the implicit registers.
Abstract:
PROBLEM TO BE SOLVED: To provide a flexible AES instruction set for a general purpose processor.SOLUTION: An AES instruction set includes instructions to perform a "one round" pass for AES encryption or decryption and also includes instructions to perform key generation. An immediate may be used to indicate round number and key size for key generation for 128/192/256 bit keys. The flexible AES instruction set enables full use of pipelining capabilities because it does not require tracking of implicit registers.
Abstract:
A server, processing device and/or processor includes a processing core and a memory controller, operatively coupled to the processing core, to access data in an off-chip memory. A memory encryption engine (MEE) may be operatively coupled to the memory controller and the off-chip memory. The MEE may store non-MEE metadata bits within a modified version line corresponding to ones of a plurality of data lines stored in a protected region of the offchip memory, compute an embedded message authentication code (eMAC) using the modified version line, and detect an attempt to modify one of the non-MEE metadata bits by using the eMAC within a MEE tree walk to authenticate access to the plurality of data lines. The non-MEE metadata bits may store coherence bits that track changes to a cache line in a remote socket, poison bits that track error containment within the data lines, and possibly other metadata bits.
Abstract:
Es werden erste Daten gespeichert. Eine Anforderung für die ersten Daten wird von einer Kommunikationsvorrichtung über eine Verbindungsstrecke empfangen, die mit einer Kommunikationsvorrichtung aufgebaut ist. Eine Zugriffssteuermaschine mit einer Schaltungsanordnung soll den Zugriff auf die ersten Daten für die Kommunikationsvorrichtung auf der Basis eines Authentifizierungszustandes der Kommunikationsvorrichtung und eines Schutzzustandes der Verbindungsstrecke steuern.
Abstract:
Es werden Techniken zur Echtzeitaktualisierung von Verschlüsselungsschlüsseln offenbart. Bei der veranschaulichenden Ausführungsform wird eine verschlüsselte Verbindung zwischen einem lokalen und einem fernen Prozessor über eine Punkt-zu-Punkt-Zwischenverbindung hergestellt. Die verschlüsselte Verbindung wird für einige Zeit betrieben, bis der Verschlüsselungsschlüssel aktualisiert werden sollte. Der lokale Prozessor sendet eine Schlüsselaktualisierungsnachricht an den fernen Prozessor, die den fernen Prozessor über die Änderung benachrichtigt. Der ferne Prozessor bereitet die Änderung vor und sendet eine Schlüsselaktualisierungsbestätigungsnachricht an den lokalen Prozessor. Der lokale Prozessor sendet dann eine Schlüsselumschaltnachricht an den fernen Prozessor. Der lokale Prozessor pausiert die Übertragung der verschlüsselten Nachricht, während der ferne Prozessor die Verwendung der verschlüsselten Nachricht abschließt. Nach einer Pause setzt der lokale Prozessor das Senden verschlüsselter Nachrichten mit dem aktualisierten Verschlüsselungsschlüssel fort.
Abstract:
Die vorliegende Offenbarung stellt vertrauliche Verifikation für FPGA-Code bereit. Vertrauliche Verifikation für FPGA-Code kann enthalten: Empfangen der Richtlinie von einer Cloud-Dienstanbieter(CSP - Cloud Service Provider)-Rechenvorrichtung, wobei die Richtlinie mehrere Richtlinienanforderungen umfasst, die verwendet werden, um festzustellen, ob das FPGA mithilfe des Codes konfiguriert werden soll, Empfangen des Codes und des Codeverschlüsselungsschlüssels von der Nutzerrechenvorrichtung, Feststellen, ob der Code die mehreren Richtlinienanforderungen erfüllt, und wenn der Code die mehreren Richtlinienanforderungen erfüllt, Verschlüsseln und Integritätsschützen des Codes mithilfe des Codeverschlüsselungsschlüssels und Bereitstellen des verschlüsselten und integritätsgeschützten Codes an einen Beschleunigerlader zum Konfigurieren des FPGAs mithilfe des Codes.
Abstract:
Bei einer Ausführungsform weist eine Vorrichtung auf: einen Integritätsschaltkreis zum Empfangen von Daten und zum Erzeugen eines Schutzcodes mindestens teilweise aufgrund der Daten; einen kryptographischen Schaltkreis, der mit dem Integritätsschaltkreis verbunden ist, um die Daten in verschlüsselte Daten zu verschlüsseln und um den Schutzcode in einen verschlüsselten Schutzcode zu verschlüsseln; einen Nachrichtenauthentifizierungscodeschaltkreis (MAC-Schaltkreis), der mit dem kryptographischen Schaltkreis verbunden ist, um mithilfe von Kopfzeileninformationen, der verschlüsselten Daten und des verschlüsselten Schutzcodes einen MAC zu berechnen, der einen Tag umfasst; und einen Ausgabeschaltkreis zum Senden der Kopfzeileninformationen, der verschlüsselten Daten und des Tags über eine Verbindung zu einem Empfänger. Weitere Ausführungsformen werden beschrieben und beansprucht.
Abstract:
In einer Ausführungsform umfasst eine Einrichtung einen Prozessor zum: Empfangen einer Anforderung zum Konfigurieren einer sicheren Ausführungsumgebung für eine erste Nutzlast; Konfigurieren einer ersten Gruppe sicherer Ausführungsenklaven zur Ausführung der ersten Nutzlast, wobei die erste Gruppe sicherer Ausführungsenklaven auf einer ersten Gruppe von Verarbeitungsbetriebsmitteln konfiguriert wird, wobei die erste Gruppe von Verarbeitungsbetriebsmitteln eine oder mehrere zentrale Verarbeitungseinheiten und einen oder mehrere Beschleuniger umfasst; Konfigurieren einer ersten Gruppe sicherer Datenpfade zur Kommunikation unter der ersten Gruppe sicherer Ausführungsenklaven während der Ausführung der ersten Nutzlast, wobei die erste Gruppe sicherer Datenpfade über eine erste Gruppe von Zusammenschaltungsbetriebsmitteln konfiguriert wird; Konfigurieren der sicheren Ausführungsumgebung für die erste Nutzlast, wobei die sichere Ausführungsumgebung die erste Gruppe sicherer Ausführungsenklaven und die erste Gruppe sicherer Datenpfade umfasst.