DE102015213263A1 - Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen - Google Patents

Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen Download PDF

Info

Publication number
DE102015213263A1
DE102015213263A1 DE102015213263.3A DE102015213263A DE102015213263A1 DE 102015213263 A1 DE102015213263 A1 DE 102015213263A1 DE 102015213263 A DE102015213263 A DE 102015213263A DE 102015213263 A1 DE102015213263 A1 DE 102015213263A1
Authority
DE
Germany
Prior art keywords
processor
control information
safety
execution mode
protected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102015213263.3A
Other languages
English (en)
Inventor
Rainer Falk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102015213263.3A priority Critical patent/DE102015213263A1/de
Publication of DE102015213263A1 publication Critical patent/DE102015213263A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft einen Prozessor (100) mit einschaltbaren Sicherheitsfunktionen. Der Prozessor umfasst eine Steuereinrichtung zum Ausschalten von Beschleunigungsfunktionen des Prozessors (100) anhand einer Steuerinformation während eines sicherheitsgeschützten Ausführungsmodus, wobei während des sicherheitsgeschützten Ausführungsmodus Programmcode zeitlich strikt deterministisch ausgeführt wird.

Description

  • Die Erfindung bezieht sich auf einen Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen und ein Verfahren zum Ausführen der Sicherheitsfunktionen auf dem Prozessor.
  • Seitenkanalangriffe wie die Analyse von Stromverbrauch, elektromagnetischer Ausstrahlung oder Zeitverhalten werden heute überwiegend für Sicherheitsanwendungen mit besonders hohen Sicherheitsanforderungen betrachtet. Entsprechende Schutzmaßnahmen, beispielsweise auf einem kryptographischen Gerät, erfordern spezielle Hardware und/oder sehr speziell entwickelte Software. Da diese Maßnahmen aufwendig zu implementieren und teuer in ihrer Umsetzung sind, besteht ein Bedarf an einer kostengünstigen alternative.
  • Die Aufgabe der vorliegenden Erfindung ist es einen Prozessor mit generisch realisierbaren Seitenkanalhärtungsmaßnahmen bereitzustellen.
  • Die Aufgabe wird durch die in den unabhängigen Ansprüchen angegebenen Merkmalen gelöst. In den Unteransprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt.
  • Gemäß einem ersten Aspekt betrifft die Erfindung einen Prozessor mit einschaltbaren Sicherheitsfunktionen. Der Prozessor umfasst eine Steuereinrichtung zum Ausschalten von Beschleunigungsfunktionen des Prozessors anhand einer Steuerinformation während eines sicherheitsgeschützten Ausführungsmodus, wobei während des sicherheitsgeschützten Ausführungsmodus Programmcode zeitlich strikt deterministisch ausgeführt wird.
  • Durch den strikt deterministischen Ausführungsmodus wird zwar die Performance eines Prozessors, beispielsweise eines Mikroprozessors oder einer integrierten Schaltung, reduziert. Es lassen sich dadurch jedoch softwarebasierte Härtungsmaßnahmen gegen Seitenkanalangriffe einfacher und mit höherer Wirksamkeit realisieren. Es ist möglich, Härtungsmaßnahmen zu realisieren, die auf unterschiedlichen Hardware-Realisierungen eines Prozessors wirksam sind. Es sind beispielsweise generische Härtungsmaßnahmen für unterschiedliche Prozessorarchitektur realisierbar, die die Merkmale des erfindungsgemäßen Prozessors aufweisen. Somit müssen Härtungsmaßnahmen nicht mehr an den jeweiligen Prozessor-Typ, beispielsweise den Intel Core i3-4360 oder den Intel Core i5-2500T, oder die jeweiligen Prozessorarchitektur, beispielsweise die Intel x86 Architektur oder die ARM Architektur, angepasst werden. Auch müssen nicht Produkt-spezifische Optimierungen eines Prozessors, z.B. bezüglich Cache-Verdrängungsalgorithmen, Pipelining oder bei spekulativer Ausführung berücksichtigt werden.
  • Ein generischer Prozessor kann verwendet werden, um kryptographische Funktionen robust zu implementieren. Es ist dabei nicht erforderlich, dass an die spezielle Hardware-Architektur eines Prozessors angepasste Härtungsmaßnahmen realisiert werden.
  • Insbesondere können algorithmische Gegenmaßnahmen gegen Timing-Angriffe robust und unabhängig von dem jeweiligen konkreten Prozessor-Typ realisiert werden.
  • Mit anderen Worten müssen durch den vorgeschlagenen Prozessor beispielsweise die Härtungsmaßnahmen einer Software-Implementierung nicht mehr speziell an die verwendete Prozessorimplementierung bzw. Prozessorarchitektur angepasst werden. Insbesondere hängen die Härtungsmaßnahmen nicht mehr von den Optimierungsmaßnahmen ab, die ein Halbleiter-Hersteller für seine Prozessoren einsetzt.
  • Bei der softwarebasierten Realisierung beispielsweise von Seitenkanalhärtungsmaßnahmen wird ein nicht-deterministisches Laufzeitverhalten von Programmcode unterbunden.
  • Bei einer ersten Ausführungsform des Prozessors aktiviert und/oder deaktiviert die Steuerinformation den sicherheitsgeschützten Ausführungsmodus.
  • Die Steuerinformation ist in der Lage den sicherheitsgeschützten Ausführungsmodus zu aktivieren und/oder zu deaktivieren. Das hat den Vorteil, dass beispielsweise bei aktiviertem sicherheitsgeschütztem Ausführungsmodus dieser notfalls deaktiviert werden kann, falls der sicherheitsgeschützte Ausführungsmodus zu lange läuft und aus Performancegründen zunächst ein sicherheitsunkritischer Programmcode ausgeführt werden muss.
  • Bei weiteren Ausführungsformen des Prozessors stellt ein Schalter die Steuerinformation bereit, wobei der Schalter insbesondere mit einem Maschinenbefehl und/oder einer Unterbrechungsanforderung und/oder einem Betriebssystemereignis und/oder mit einem elektromechanischen Bauteil schaltbar ist.
  • Das Bereitstellen der Steuerinformation mittels eines Schalters erlaubt es die Steuerinformation unkompliziert und schnell bereitzustellen.
  • Bei weiteren Ausführungsformen des Prozessors umfasst ein Maschinenbefehl die Steuerinformation, wobei die Steuerinformation insbesondere den sicherheitsgeschützten Ausführungsmodus nur für den Maschinenbefehl aktiviert und nach dessen Abarbeitung deaktiviert, wobei die Steuerinformation insbesondere ein Flag des Maschinenbefehls ist.
  • Aus Sicherheitsgründen kann es notwendig sein, dass nur ein bestimmter Maschinenbefehl im sicherheitsgeschützten Ausführungsmodus ausgeführt wird. Um dies möglichst effizient zu gestalten, enthält der Maschinenbefehlt ein Flag, beispielsweise einen Opcode, der den Prozessor nur für diesen Maschinenbefehl in den sicherheitsgeschützten Ausführungsmodus versetzt.
  • Bei weiteren Ausführungsformen des Prozessors ist die Steuerinformation an einen Zugriff auf einen bestimmten Speicherbereich gekoppelt.
  • Um eine möglichst hohe Effektivität des sicherheitsgeschützten Ausführungsmodus zu erreichen, wird der sicherheitsgeschützte Ausführungsmodus automatisch aktiviert, wenn auf bestimmte Speicherbereiche zugegriffen wird. Dadurch wird erreicht, dass der Aufrufende die Steuerinformation nicht zusätzlich zum Zugriff auf den Speicherbereich schicken muss.
  • Bei weiteren Ausführungsformen des Prozessors ist der sicherheitsgeschützte Ausführungsmodus für eine fest vorgegebene und/oder definierbare Zeitdauer und/oder Anzahl an Taktzyklen und/oder Anzahl an Maschinenbefehlen aktiv.
  • Hierdurch kann der sicherheitsgeschützte Ausführungsmodus auf flexible weise für unterschiedliche Anwendungsszenarien aktiviert und/oder deaktiviert werden.
  • Bei weiteren Ausführungsformen des Prozessors ist der Schalter als Prozessorflag ausgebildet.
  • Der Schalter, der die Steuerinformation bereitstellt, ist durch ein Prozessorflag direkt auf dem Prozessor integriert und stellt dadurch die Steuerinformation sehr schnell bereit.
  • Bei weiteren Ausführungsformen des Prozessors ist der Schalter als Register ausgebildet.
  • Der Schalter, der die Steuerinformation bereitstellt, ist durch ein Register direkt auf dem Prozessor integriert und stellt dadurch die Steuerinformation sehr schnell bereit. Zusätzlich kann das Register beispielsweise mehrere Bits umfassen, sodass der sicherheitsgeschützte Ausführungsmodus für mehrere Prozessoren und/oder Prozessorkerne aktiviert oder deaktiviert werden kann.
  • Bei weiteren Ausführungsformen des Prozessors ist der Schalter als Jumper ausgebildet ist.
  • Ein Jumper ist ein mechanischer Schalter, der es erlaubt, den Prozessor in den sicherheitsgeschützten Ausführungsmodus zu versetzten. Damit lässt sich der Prozessor beispielsweise dauerhaft in den sicherheitsgeschützten Ausführungsmodus versetzen, falls beispielsweise ein Gerät in einem extrem sicherheitskritischen Umfeld betrieben wird.
  • Bei weiteren Ausführungsformen des Prozessors sind sicherheitsgeschützte Speicher und/oder Speicherbereiche nur während des sicherheitsgeschützten Ausführungsmodus zugreifbar.
  • Dies gewährleistet eine möglichst hohe Sicherheit bei der Ausführung von Programmcode.
  • Bei weiteren Ausführungsformen des Prozessors umfasst der Prozessor weitere Sicherheitsfunktionen, wobei die weiteren Sicherheitsfunktionen insbesondere wahlweise mehrstufig einschaltbar sind, und wobei die weiteren Sicherheitsfunktionen insbesondere durch die Steuerinformation oder mindestens eine weitere Steuerinformation einschaltbar sind oder jeweils eine Sicherheitsfunktion mit jeweils einer Steuerinformation aktivierbar ist.
  • Um eine noch höhere Sicherheit des sicherheitsgeschützten Ausführungsmodus zu erreichen, lassen sich wahlweise weitere Sicherheitsfunktionen durch die Steuerinformation aktivieren oder werden automatisch aktiviert, wenn Programmcode zeitlich strikt deterministischen ausgeführt wird.
  • Bei weiteren Ausführungsformen des Prozessors umfassen die weiteren Sicherheitsfunktionen einen Maskierungsmodus, bei dem Daten redundant mit einem randomisierten Maskierungsparameter mittels eines Zufallsgenerators geschützt bearbeitbar sind und/oder eine spezielle Daten-/Zahlendarstellung verwendbar ist, bei der die Anzahl von 1-Bits und 0-Bits in einem Registerwert gleich ist.
  • Mit dem Maskierungsmodus oder der speziellen Daten-/Zahlendarstellung ist der sicherheitsgeschützte Ausführungsmodus noch besser vor Seitenkanalangriffen geschützt.
  • Bei weiteren Ausführungsformen des Prozessors ist der sicherheitsgeschützte Ausführungsmodus automatisch einschaltbar, wenn ein Zugriff auf einen geschützten Speicherbereich und/oder Speicheradresse und/oder Speicher erfolgt.
  • Hiermit kann ein Nutzer, beispielsweise ein Administrator, zum Erreichen einer möglichst hohen Sicherheit vor Seitenkanalangriffen festlegen.
  • Bei weiteren Ausführungsformen des Prozessors ist der Prozessor ein Mehrkern-Prozessor.
  • Mehrkern-Prozessoren bieten den Vorteil einer deutlich höheren Rechenleistung als ein Einzelkern-Prozessor.
  • Bei weiteren Ausführungsformen des Prozessors aktiviert und/oder deaktiviert die Steuerinformation den sicherheitsgeschützten Ausführungsmodus für alle Prozessorkerne des Mehrkern-Prozessors.
  • Dadurch, dass die Steuerinformation alle Prozessorkerne in den sicherheitsgeschützten Ausführungsmodus bringt, lässt sich der sicherheitsgeschützte Ausführungsmodus sehr einfach implementieren.
  • Bei weiteren Ausführungsformen des Prozessors stellt jeder Prozessorkern des Mehrkern-Prozessors eine Steuerinformation bereit, die den sicherheitsgeschützten Ausführungsmodus für den jeweiligen Prozessorkern aktiviert und/oder deaktiviert.
  • Um den sicherheitsgeschützten Ausführungsmodus möglichst flexibel für unterschiedliche Anwendungen auf einem Mehrkern-Prozessor auszuführen, ist der sicherheitsgeschützte Ausführungsmodus für jeden Prozessorkern jeweils mit einer eigenen Steuerinformation aktivierbar und/oder deaktivierbar.
  • Gemäß einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum wahlweisen sicherheitsgeschützten Ausführen von Programmcode auf einem Prozessor. Das Verfahren umfasst einen Verfahrensschritt zum Ausschalten von Beschleunigungsfunktionen des Prozessors anhand einer Steuerinformation während eines sicherheitsgeschützten Ausführungsmodus. Das Verfahren umfasst einen Verfahrensschritt zum zeitlich strikt deterministischen Ausführen von Programmcode während des sicherheitsgeschützten Ausführungsmodus.
  • Bei einer ersten Ausführungsform des Verfahrens aktiviert und/oder deaktiviert die Steuerinformation den sicherheitsgeschützten Ausführungsmodus.
  • Bei weiteren Ausführungsformen des Verfahrens wird die Steuerinformation durch einen Schalter bereitgestellt.
  • Bei weiteren Ausführungsformen des Verfahrens wird auf sicherheitsgeschützte Speicher und/oder Speicherbereiche nur während des sicherheitsgeschützten Ausführungsmodus zugegriffen.
  • Bei weiteren Ausführungsformen des Verfahrens werden weitere Sicherheitsfunktionen eingeschaltet, wobei die weiteren Sicherheitsfunktionen insbesondere wahlweise mehrstufig eingeschaltet werden, und wobei die weiteren Sicherheitsfunktionen insbesondere durch die Steuerinformation oder mindestens eine weitere Steuerinformation eingeschaltet werden oder jeweils eine Sicherheitsfunktion mit jeweils einer Steuerinformation aktiviert wird.
  • Bei weiteren Ausführungsformen des Verfahrens umfassen die weiteren Sicherheitsfunktionen einen Maskierungsmodus, bei dem Daten redundant mit einem randomisierten Maskierungsparameter geschützt bearbeitet werden und/oder eine spezielle Daten-/Zahlendarstellung verwendet wird, bei der die Anzahl von 1-Bits und 0-Bits in einem Registerwert gleich ist.
  • Bei weiteren Ausführungsformen des Verfahrens wird der sicherheitsgeschützte Ausführungsmodus automatisch eingeschaltet, wenn auf einen geschützten Speicherbereich und/oder Speicheradresse und/oder Speicher zugegriffen wird.
  • Gemäß einem weiteren Aspekt betrifft die Erfindung ein Computersystem mit einem Prozessor mit den erfindungsgemäßen Merkmalen.
  • Desweiteren wird ein vitalisierter Prozessor, der auch als Soft-CPU bezeichnet wird, mit den genannten erfindungsgemäßen Merkmalen beansprucht. Zusätzlich wird ein programmierbarer Prozessor beansprucht, der mit Konfigurationsschritten zur Ausführung des genannten erfindungsgemäßen Verfahrens ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die erfindungsgemäßen Merkmale des Prozessors aufweist.
  • Desweiteren wird ein Computerprogrammprodukt mit Programmbefehlen zur Durchführung des genannten erfindungsgemäßen Verfahrens beansprucht. Zusätzlich wird eine Bereitstellungsvorrichtung zum Speichern und/oder Breitstellen einer Datenstruktur, die das Computerprogrammprodukt umfasst, beansprucht. Die Bereitstellungsvorrichtung ist beispielsweise ein Datenträger, der das Computerprogrammprodukt speichert oder bereitstellt. Alternativ ist die Bereitstellungsvorrichtung beispielsweise ein Computersystem, ein Serversystem, ein Netzwerk, ein cloudbasiertes Rechnersystem und/oder virtuellen Rechnersystem, welches das Computerprogrammprodukt speichert und/oder bereitstellt. Diese Bereitstellung erfolgt vorzugsweise als Download des vollständigen Computerprogrammprodukts, kann aber beispielsweise auch als partieller Download erfolgen, der aus mehreren Teilen besteht und insbesondere über ein Peer-to-Peer Netzwerk heruntergeladen wird. Ein solches Computerprogrammprodukt wird beispielsweise unter Verwendung der Bereitstellungsvorrichtung in Form des Datenträgers in einem System eingelesen und führt die Programmbefehle aus, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird.
  • Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Figuren näher erläutert werden. Dabei zeigen:
  • 1 eine schematische Darstellung eines Ausführungsbeispiels eines Prozessors mit wahlweise einschaltbaren Sicherheitsfunktionen;
  • 2 ein Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens zum sicherheitsgeschützten Ausführen von Programmcode; und
  • 3 eine schematische Darstellung eines Ausführungsbeispiels eines Computers mit einem Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen.
  • In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.
  • 1 zeigt eine schematische Darstellung eines Ausführungsbeispiels eines Prozessors 100 mit wahlweise einschaltbaren Sicherheitsfunktionen. Die Grundstruktur des Prozessors orientiert sich dabei an der Architektur einer x86 CPU. Die Erfindung ist jedoch nicht auf diese Prozessorarchitektur beschränkt, sondern es können vom Fachmann andere Variationen für andere Prozessorarchitekturen, beispielsweise ARM, abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
  • Im Einzelnen wird ein Prozessor 100 mit zwei Betriebsarten beschrieben. In einer ersten Betriebsart, auch High Performance Mode oder regulärer Modus genannt, werden allgemein bekannte Beschleunigungsverfahren, beispielsweise Caching, Pipelining mit spekulativer Ausführung, Sprungvorhersage oder spekulative Speicherzugriffe verwendet. In einer zweiten Betriebsart, auch als zeitlich strikt deterministischer Modus oder sicherheitsgeschützter Ausführungsmodus bezeichnet, erfolgt eine deterministische, d.h. nicht datenabhängige Ausführung. Dadurch ist die Ausführung von Programmcode zwar langsamer, aber dafür ist das Zeitverhalten unabhängig von den Daten immer identisch. Dies hat den Vorteil, dass es zu keinem Datenabhängigen Laufzeitverhalten kommt, wodurch Seitenkanalangriffe, wie beispielsweise Timing-Angriffe, verhindert werden. Auch können Software-basierte Seitenkanalgegenmaßnahmen einfacher implementiert werden.
  • Der Prozessor 100 weist einen L2 Cache 105, einen L1-Befehlscache 110, mindestens einen Issue Port 115, mindestens eine arithmetisch-logische Einheit 120 (engl. arithmetic logic unit), mindestens ein Register 125, mindestens eine Sprungeinheit 130 (engl. branch unit), einen Schalter 135, mindestens einen Performance Counter 140, eine Steuereinrichtung 145, einen L1 Datencache 150, eine Sprungvorhersageeinheit 155 (engl. branch prediction) und eine Befehlssteuerung zum Laden von Befehlen 160 (engl. fetch contrl), die über einen Bus 165 kommunikativ miteinander verbunden sind. Der Schalter 135, beispielsweise ein Prozessorflag, stellt eine Steuerinformation der Steuereinrichtung 145 über den Bus 165 bereit. Anhand der Steuerinformation aktiviert oder deaktiviert die Steuereinrichtung 145 den sicherheitsgeschützten Ausführungsmodus des Prozessors 100, der dafür sorgt, dass Programmcode zeitlich strikt deterministisch durch den Prozessor ausgeführt wird.
  • Mit anderen Worten wird abgängig vom Wert dieses Schalters 135 eine zeitlich deterministische, nicht datenabhängige Ausführungsart aktiviert. Dieser sicherheitsgeschützte Ausführungsmodus kann beispielsweise durch einen speziellen Maschinenbefehl, beispielsweise einen Trap-Befehl, durch die Steuereinrichtung 145 aktiviert werden.
  • Bei Aktivierung des Schalter und/oder bei Deaktivierung des Schalters wird in einer Variante die Pipeline geleert oder ein Cache-Speicher geleert.
  • Wenn der sicherheitsgeschützte Ausführungsmodus aktiv ist, so kann das zeitlich strikt deterministische Ausführen von Programmcode auf unterschiedliche Weise implementiert werden. Nachfolgend werden Implementierungsmöglichkeiten angegeben, die entweder einzeln oder in einer Kombination den sicherheitsgeschützten Ausführungsmodus mittels der Steuereinrichtung 145 umsetzen.
  • Eine Implementierungsmöglichkeit ist, auf die Verwendung von Cache-Speicher, beispielsweise des L1-Datencaches 150 oder des L1 Befehlscaches 110, zu verzichten.
  • Eine weitere Implementierungsmöglichkeit ist einen Zugriff nur auf Daten bzw. Programmcode zu erlauben, der im Cache liegt, beispielsweise im L1-Cache 105, L1-Datencache 150 oder L1 Befehlscache 110. Mit anderen Worten bedeutet dies, dass keine externen Speicherzugriffe auf Speicher außerhalb des Prozessors 100 erfolgen und somit nur prozessorinterne Speicherzugriffe durchgeführt werden.
  • Eine weitere Implementierungsmöglichkeit ist, einen Zugriff nur auf Daten bzw. Programmcode zu erlauben, der im L1-Cache, also L1 Datencache 150 oder L1-Befehlscache 110, liegt. Mit anderen Worten bedeutet dies, dass keine externen Speicherzugriffe auf Speicher außerhalb des Prozessors 100 erfolgen und keine Zugriffe auf den L2-Cache 105 erlaubt sind. Somit erfolgen nur L1-Cache-interne Speicherzugriffe.
  • Eine weitere Implementierungsmöglichkeit ist, einen Zugriff nur auf Daten bzw. Programmcode zu erlauben, der im L2-Cache 105 liegt. Mit anderen Worten bedeutet dies, dass keine externen Speicherzugriffe auf Speicher außerhalb des Prozessors 100 erfolgen und keine Zugriffe auf den L1-Cache 105 erlaubt sind. Somit erfolgen nur L2-Cache-interne Speicherzugriffe.
  • Weitere Implementierungsmöglichkeiten sind das Deaktivieren der spekulativen Ausführung von Programmcode und/oder das Deaktivieren des spekulativen Speicherzugriffs. Hierzu wird durch die Steuereinrichtung 145 beispielsweise die Sprungvorhersageeinheit 155 deaktiviert.
  • Eine weitere Implementierungsmöglichkeit ist das Einführen von Wartezyklen bei der Ausführung von Maschinenbefehlen. Hierzu werden beispielsweise, um eine fixe Ausführungsdauer für einen Maschinenbefehl eines Programmcodes zu erreichen, unabhängig vom Maschinenbefehl alle denkbaren Stalls (Fachausdruck, der für eine Verwendung von Verzögerungen beim Ausführen von Rechenoperationen eines Prozessors steht, bevor der Prozessor mit der nächsten Rechenoperation weitermachen kann) einer Pipeline erzeugt, auch wenn sie gar nicht notwendig wären. Mit anderen Worten wird die zeitlich strikt deterministische Ausführung von Programmcode dadurch erreicht, dass jeder Maschinenbefehl des Programmcodes die gleiche Ausführungszeit hat.
  • Eine weitere Implementierungsmöglichkeit ist das Warten nach Ausführung eines Maschinenbefehls oder einer Befehlsfolge eines Programmcodes, bis eine zeitlich strikt deterministische Ausführung von Programmcode dadurch erreicht ist. Hierzu verwendet die Steuereinrichtung 145 beispielsweise den Performance-Counter 140 und zählt bzw. misst die tatsächliche Ausführungsdauer eines Programmbefehls. Die Steuereinrichtung 145 verzögert die Ausführung des nächsten Maschinenbefehls nach dem Maschinenbefehl oder der Befehlsfolge, bis eine vorbestimmte Ausführungsdauer für den Maschinenbefehl oder die Befehlsfolge erreicht ist. Im Einzelnen wird dazu beispielsweise der Performance-Counter 140 des Prozessors 100 verwendet. Dieser zählt beispielswese die Taktzyklen des Prozessors 100, während ein Maschinenbefehl ausgeführt wird. Hierzu wird bei Beginn des Maschinenbefehls bzw. der Befehlsfolge der Startzeitpunkt bestimmt. Nach Beendigung des Maschinenbefehls bzw. der Befehlsfolge wird gewartet, bis die vorbestimmte Ausführungszeit erreicht ist. Somit ist die zeitliche Ausführung eines Maschinenbefehls deterministisch und folglich wird Programmcode zeitlich strikt deterministisch ausgeführt. Die vorbestimmte Ausführungszeit kann auf unterschiedliche Art gegeben sein. Beispielsweise ist je Maschinenbefehl eine maximal mögliche Ausführungszeit hinterlegt. Bei einer Befehlsfolge wird für jeden Maschinenbefehl der Befehlsfolge diese addiert.
  • In einer Variante enthalten spezielle Maschinenbefehle, beispielsweise jeweils ein Maschinenbefehl, um den sicherheitsgeschützten Ausführungsmodus zu starten oder zu beenden, die Steuerinformation. Dabei kann beim Starten ein Parameter angegeben werden, der die vordefinierte Ausführungszeit festlegt. Beim Beenden wird dann gewartet, bis diese erreicht ist.
  • In einer weiteren Variante wird eine Unterbrechung (engl. Interrupt) ausgelöst, wenn die vordefinierte Ausführungszeit bereits überschritten ist.
  • In einer weiteren Variante werden weitere Sicherheitsfunktionen durch die Steuerinformation oder durch eine gleichartige Steuerinformation zusätzlich aktiviert. Beispielsweise kann zusätzlich zum sicherheitsgeschützten Ausführungsmodus ein Sicherheitsmodus aktiv sein, der mindestens eine Sicherheitsfunktion umsetzt, die aus dem TrustZone-Monitor-Modus von ARM-Prozessoren bekannt ist. Alternativ oder zusätzlich kann ein Sicherheitsmodus aktiv sein, der mindestens eine Sicherheitsfunktion einer Intel-SGX-unterstützenden CPU implementiert.
  • In einer weiteren Variante sind zur Verbesserung der Systemsicherheit zusätzlich nur bestimmte Speicherbereiche, beispielsweise Schlüsselspeicher, zugreifbar, wenn der sicherheitsgeschützte Ausführungsmodus aktiv ist.
  • In einer weiteren Variante wird der sicherheitsgeschützte Ausführungsmodus automatisch aktiviert, sobald auf einen bestimmten Speicherbereich zugegriffen wird. Hierzu wird beispielsweise durch einen speziellen Maschinenbefehl beim Zugreifen die Steuerinformation der Steuereinrichtung 145 bereitgestellt.
  • Zum Deaktivieren des sicherheitsgeschützten Ausführungsmodus wird vorzugsweise eine Programmanweisung, die beispielsweise als Trap implementiert ist, verwendet. Eine weitere Möglichkeit ist insbesondere, dass der sicherheitsgeschützte Ausführungsmodus nach der Abarbeitung eines Maschinenbefehls deaktiviert wird. Eine weitere Möglichkeit ist insbesondere, dass der sicherheitsgeschützte Ausführungsmodus automatisch nach der Abarbeitung einer vorgebbaren Anzahl von Maschinenbefehlen oder nach Ablauf einer vorgebbaren Zeitdauer, beispielsweise durch einen Timer, deaktiviert wird.
  • Der Prozessor 100 implementiert beispielsweise mindestens eine der Möglichkeiten zum Deaktivieren des sicherheitsgeschützten Ausführungsmodus. Verzugsweise implementiert der Prozessor 100 mehrere Möglichkeiten oder alle Möglichkeiten zum Deaktivieren des sicherheitsgeschützten Ausführungsmodus.
  • 2 zeigt ein Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 zum sicherheitsgeschützten Ausführen von Programmcode. Das Verfahren 200 verwendet vorzugsweise einen Prozessor, so wie dieser in 1 beschrieben wird.
  • Im Einzelnen wird ein Verfahren zum wahlweisen sicherheitsgeschützten Ausführen von Programmcode auf einem Prozessor beschrieben. In einer ersten Betriebsart des Prozessors, auch High Performance Mode oder regulärer Modus genannt, werden allgemein bekannte Beschleunigungsverfahren, beispielsweise Caching, Pipelining mit spekulativer Ausführung, Sprungvorhersage oder spekulative Speicherzugriffe verwendet. In einer zweiten Betriebsart, auch als strikt deterministischer Modus oder sicherheitsgeschützter Ausführungsmodus bezeichnet, erfolgt eine deterministische, d.h. nicht datenabhängige Ausführung. Dadurch ist die Ausführung von Programmcode zwar langsamer, aber dafür ist das Zeitverhalten unabhängig von den Daten immer identisch. Dies hat den Vorteil, dass es zu keinen datenabhängigen Laufzeitverhalten kommt, wodurch Seitenkanalangriffe, wie beispielsweise Timing-Angriffe, verhindert werden. Auch können Software-basierte Seitenkanalgegenmaßnahmen einfacher implementiert werden.
  • In dem Verfahren werden somit in einem ersten Verfahrensschritt 205 Beschleunigungsfunktionen des Prozessors anhand einer Steuerinformation durch eine Steuereinrichtung während eines sicherheitsgeschützten Ausführungsmodus ausgeschaltet.
  • In einem zweiten Verfahrensschritt 210 sorgt die Steuereinrichtung für ein zeitlich strikt deterministisches Ausführen von Programmcode während des sicherheitsgeschützten Ausführungsmodus.
  • 3 zeigt eine schematische Darstellung eines Ausführungsbeispiels eines Computersystems 300 mit einem Prozessor mit einschaltbaren Sicherheitsfunktionen.
  • Das Computersystem 300 umfasst einen Prozessor, so wie dieser in der Beschreibung zu 1 erläutert wird. Das Computersystem ist beispielsweise ein IBM-kompatibler Personal Computer mit einem Linux-Betriebssystem. Das Computersystem 300 umfasst zusätzlich vorzugsweise jeweils marktübliche Hardwarekomponenten, wie ein Anzeigegerät 305 insbesondere in Form eines TFT Monitors, mindestens ein Eingabegerät insbesondere in Form einer Computermaus 315 und/oder einer Tastatur 310, mindestens einen Datenträger insbesondere in Form einer Solid-State Festplatte und/oder eines DVD-Lese- und/oder Schreiblaufwerkes, eine Netzwerkschnittstelle, insbesondere in Form einer Ethernet-Schnittstelle, Arbeitsspeicher, vorzugsweise DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory), und/oder weitere dem Fachmann bekannten Hardware oder Peripheriegeräte.
  • Die Hardwarekomponenten des Computersystems 300 sind beispielsweise über eine Hauptplatine und einen Datenbus miteinander kommunikativ verbunden. Die Hauptplatine verfügt vorzugsweise über mindestens einen Steckplatz zur Verbindung von einem Peripheriegerät über den Datenbus mit dem Prozessor. Die Steckplätze sind insbesondere als Peripheral-Component-Interconnect-Express-Bus (PCIe) ausgebildet.
  • Das Verfahren, das in der Beschreibung zu 2 erläutert wird, wird beispielsweise durch einen Prozessor implementiert. Der Prozessor ist beispielsweise in einem Prozessorsockel auf der Hauptplatine eingesetzt und weist eine kommunikative Verbindung mit den Hardwarekomponenten und/oder weiterer Peripherie auf.
  • Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.

Claims (28)

  1. Prozessor (100) mit einschaltbaren Sicherheitsfunktionen, aufweisend: – eine Steuereinrichtung zum Ausschalten von Beschleunigungsfunktionen des Prozessors (100) anhand einer Steuerinformation während eines sicherheitsgeschützten Ausführungsmodus, wobei während des sicherheitsgeschützten Ausführungsmodus Programmcode zeitlich strikt deterministischen ausgeführt wird.
  2. Prozessor (100) nach Anspruch 1, wobei die Steuerinformation den sicherheitsgeschützten Ausführungsmodus aktiviert und/oder deaktiviert.
  3. Prozessor (100) nach Anspruch 1 oder 2, wobei ein Schalter (135) die Steuerinformation bereitstellt, und wobei der Schalter (135) insbesondere mit einem Maschinenbefehl und/oder einer Unterbrechungsanforderung und/oder einem Betriebssystemereignis und/oder mit einem elektromechanischen Bauteil schaltbar ist.
  4. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei ein Maschinenbefehl die Steuerinformation umfasst, wobei die Steuerinformation insbesondere den sicherheitsgeschützte Ausführungsmodus nur für den Maschinenbefehl aktiviert und nach dessen Abarbeitung deaktiviert, wobei die Steuerinformation insbesondere ein Flag des Maschinenbefehls ist.
  5. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei die Steuerinformation an einen Zugriff auf einen bestimmten Speicherbereich gekoppelt ist.
  6. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei der sicherheitsgeschützte Ausführungsmodus für eine fest vorgegebene und/oder definierbare Zeitdauer und/oder Anzahl an Taktzyklen und/oder Anzahl an Maschinenbefehlen aktiv ist.
  7. Prozessor (100) nach einem der Ansprüche 3–6, wobei der Schalter (135) als Prozessorflag ausgebildet ist.
  8. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei der Schalter (135) als Register ausgebildet ist.
  9. Prozessor (100) nach einem der Ansprüche 3–6, wobei der Schalter (135) als Jumper ausgebildet ist.
  10. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei sicherheitsgeschützte Speicher und/oder Speicherbereiche nur während des sicherheitsgeschützten Ausführungsmodus zugreifbar sind.
  11. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei der Prozessor (100) weitere Sicherheitsfunktionen aufweist, wobei die weiteren Sicherheitsfunktionen insbesondere mehrstufig einschaltbar sind, und wobei die weiteren Sicherheitsfunktionen insbesondere durch die Steuerinformation oder mindestens eine weitere Steuerinformation einschaltbar sind oder jeweils eine Sicherheitsfunktion mit jeweils einer Steuerinformation aktivierbar ist.
  12. Prozessor (100) nach Anspruch 11, wobei die weiteren Sicherheitsfunktionen einen Maskierungsmodus umfassen, bei dem Daten redundant mit einem randomisierten Maskierungsparameter mittels eines Zufallsgenerators geschützt bearbeitbar sind und/oder eine spezielle Daten-/Zahlendarstellung verwendbar ist, bei der die Anzahl von 1-Bits und 0-Bits in einem Registerwert gleich ist.
  13. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei der sicherheitsgeschützte Ausführungsmodus automatisch einschaltbar ist, wenn ein Zugriff auf einen geschützten Speicherbereich und/oder Speicheradresse und/oder Speicher erfolgt.
  14. Prozessor (100) nach einem der vorhergehenden Ansprüche, wobei der Prozessor ein Mehrkern-Prozessor ist.
  15. Prozessor (100) nach Anspruch 14, wobei die Steuerinformation den sicherheitsgeschützten Ausführungsmodus für alle Prozessorkerne des Mehrkern-Prozessors aktiviert und/oder deaktiviert.
  16. Prozessor (100) nach Anspruch 14, wobei jeder Prozessorkern des Mehrkern-Prozessors eine Steuerinformation bereitstellt, die den sicherheitsgeschützten Ausführungsmodus für den jeweiligen Prozessorkern aktiviert und/oder deaktiviert.
  17. Verfahren (200) zum wahlweisen sicherheitsgeschützten Ausführen von Programmcode auf einem Prozessor mit folgenden Verfahrensschritten: – Ausschalten (205) von Beschleunigungsfunktionen des Prozessors anhand einer Steuerinformation während eines sicherheitsgeschützten Ausführungsmodus; und – zeitlich strikt deterministisches Ausführen (210) von Programmcode während des sicherheitsgeschützten Ausführungsmodus.
  18. Verfahren (200) nach Anspruch 17, wobei die Steuerinformation den sicherheitsgeschützten Ausführungsmodus aktiviert und/oder deaktiviert.
  19. Verfahren (200) nach Anspruch 17 oder 18, wobei die Steuerinformation durch einen Schalter (135) bereitgestellt wird.
  20. Verfahren (200) nach einem der Ansprüche 17–19, wobei auf sicherheitsgeschützte Speicher und/oder Speicherbereiche nur während des sicherheitsgeschützten Ausführungsmodus zugegriffen wird.
  21. Verfahren (200) nach einem der Ansprüche 17–20, wobei weitere Sicherheitsfunktionen eingeschaltet werden, wobei die weiteren Sicherheitsfunktionen insbesondere wahlweise mehrstufig eingeschaltet werden, und wobei die weiteren Sicherheitsfunktionen insbesondere durch die Steuerinformation oder mindestens eine weitere Steuerinformation eingeschaltet werden oder jeweils eine Sicherheitsfunktion mit jeweils einer Steuerinformation aktiviert wird.
  22. Verfahren (200) nach Anspruch 21, wobei die weiteren Sicherheitsfunktionen einen Maskierungsmodus umfassen, bei dem Daten redundant mit einem randomisierten Maskierungsparameter geschützt bearbeitet werden und/oder eine spezielle Daten-/Zahlendarstellung verwendet wird, bei der die Anzahl von 1-Bits und 0-Bits in einem Registerwert gleich ist.
  23. Verfahren (200) nach einem der Ansprüche 17–22, wobei der sicherheitsgeschützte Ausführungsmodus automatisch eingeschaltet wird, wenn auf einen geschützten Speicherbereich und/oder Speicheradresse und/oder Speicher zugegriffen wird.
  24. Computersystem (300) mit einem Prozessor nach einem der Ansprüche 1–16.
  25. Virtualisierter Prozessor nach einem der Ansprüche 1–16.
  26. Programmierbarer Prozessor, der mit Konfigurationsschritten zur Durchführung des Verfahrens nach einem der Ansprüche 17–23 ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die Merkmale des Prozessors nach einem der Ansprüche 1–16 aufweist.
  27. Computerprogrammprodukt mit Programmbefehlen zur Durchführung des Verfahrens nach einem der Ansprüche 17–23.
  28. Bereitstellungsvorrichtung für das Computerprogrammprodukt nach Anspruch 27, wobei die Bereitstellungsvorrichtung insbesondere das Computerprogrammprodukt speichert und/oder bereitstellt.
DE102015213263.3A 2015-07-15 2015-07-15 Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen Withdrawn DE102015213263A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015213263.3A DE102015213263A1 (de) 2015-07-15 2015-07-15 Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015213263.3A DE102015213263A1 (de) 2015-07-15 2015-07-15 Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen

Publications (1)

Publication Number Publication Date
DE102015213263A1 true DE102015213263A1 (de) 2017-01-19

Family

ID=57630070

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015213263.3A Withdrawn DE102015213263A1 (de) 2015-07-15 2015-07-15 Prozessor mit wahlweise einschaltbaren Sicherheitsfunktionen

Country Status (1)

Country Link
DE (1) DE102015213263A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220318409A1 (en) * 2020-01-16 2022-10-06 EMC IP Holding Company LLC Zero-knowledge protection for side channels in data protection to the cloud

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6854048B1 (en) * 2001-08-08 2005-02-08 Sun Microsystems Speculative execution control with programmable indicator and deactivation of multiaccess recovery mechanism
DE102011105617A1 (de) * 2011-06-28 2013-01-03 Audi Ag Kraftfahrzeug mit einer Vielzahl von Betriebskomponenten
EP2813949A1 (de) * 2013-06-11 2014-12-17 ABB Technology Ltd Mehrkernprozessorfehlererkennung für sicherheitskritische Softwareanwendungen

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6854048B1 (en) * 2001-08-08 2005-02-08 Sun Microsystems Speculative execution control with programmable indicator and deactivation of multiaccess recovery mechanism
DE102011105617A1 (de) * 2011-06-28 2013-01-03 Audi Ag Kraftfahrzeug mit einer Vielzahl von Betriebskomponenten
EP2813949A1 (de) * 2013-06-11 2014-12-17 ABB Technology Ltd Mehrkernprozessorfehlererkennung für sicherheitskritische Softwareanwendungen

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Grothkast, B. ATZ Elektron (2014) 9: 32. doi:10.1365/s35658-014-0447-z *
Lemke-Rust, K. et.al., Seitenkanal-Analysen: Stand der Forschung in der Methodik, D-A-CH Security 2006, Universität Düsseldorf *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220318409A1 (en) * 2020-01-16 2022-10-06 EMC IP Holding Company LLC Zero-knowledge protection for side channels in data protection to the cloud

Similar Documents

Publication Publication Date Title
DE102008062692B4 (de) Eingebettetes Mikrocontrollersystem und Verfahren zur Konfiguration eines eingebetteten Mikrocontrollersystems mit gesteuertem Schaltmodus
DE60304602T2 (de) Ausnahmearten innerhalb eines sicheren verarbeitungssystems
DE60306952T2 (de) Zuordnung von virtuellen zu physischen speicheradressen in einem system mit einem sicheren bereich und einem nicht sicheren bereich
DE60210633T2 (de) Verfahren und vorrichtungen zur verbesserung des durchsatzes von eingebetteten prozessoren auf cache-basis durch umschalten von tasks als reaktion auf eine cache-verfehlung
DE102014003540A1 (de) Erzeugen einer isolierten ausführungsumgebung in einem co-designten prozessor
DE112005002305B4 (de) Thread-Livelock-Einheit
GB2544452B (en) Data processing systems
DE102006061939B4 (de) Verfahren und Vorrichtung zum Zugriff auf eine speicherabgebildete Vorrichtung durch einen Gast
DE112011102876T5 (de) Ressourcenverwaltungs- und Sicherheitssystem
DE102014003705A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
EP2807558B1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem-kern zur exklusiven bereitstellung an virutelle maschinen
US7529916B2 (en) Data processing apparatus and method for controlling access to registers
DE112013003731T5 (de) Neue befehls- und hocheffiziente Mikroarchitektur zum ermöglichen einer sofortigen Kontextumschaltung für Benutzerebenen-Threading
DE112006001933B4 (de) Stillegen eines Prozessorbusagenten
DE112010005821T5 (de) Kontextwechsel
DE112007001714T5 (de) Virtualisieren von Leistungszählern
DE112004002267T5 (de) Ruhezustandsmechansimus für virtuelles Multithreading
DE102008058209A1 (de) Anordnung und Verfahren um zu verhindern, dass ein Anwenderbetriebssystem in einem VMM System eine Anordnung abschaltet, die von einem Servicebetriebssystem verwendet wird
DE102014002181B4 (de) Chip und Verfahren zum Betreiben eines Chips
DE112017001700T5 (de) Prozessoren, Verfahren, Systeme und Anweisungen zum Abruf von Daten auf der angegebenen Cache-Ebene mit garantiertem Abschluss
DE102010054614A1 (de) Eindringen in eine gesicherte EDV-Umgebung unter Verwendung mehrerer authentifizierter Codemodule
DE102016006402A1 (de) Persistente commit-prozessoren, verfahren, systeme und befehle
DE112007003206T5 (de) Neukonfigurieren eines sicheren Systems
DE102015113468A1 (de) Datenverarbeitungsvorrichtung und verfahren zum sichern einer datenverarbeitungsvorrichtung gegen angriffe
DE112015001502T5 (de) Ausstieg aus mehreren Threads in einem Computer

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee