DE10324419A1 - Vorrichtung zum Manipulieren eines Cachespeichers - Google Patents

Vorrichtung zum Manipulieren eines Cachespeichers Download PDF

Info

Publication number
DE10324419A1
DE10324419A1 DE10324419A DE10324419A DE10324419A1 DE 10324419 A1 DE10324419 A1 DE 10324419A1 DE 10324419 A DE10324419 A DE 10324419A DE 10324419 A DE10324419 A DE 10324419A DE 10324419 A1 DE10324419 A1 DE 10324419A1
Authority
DE
Germany
Prior art keywords
cache
cache line
manipulation
memory
signal
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.)
Ceased
Application number
DE10324419A
Other languages
English (en)
Inventor
Dirk Dr.-Ing. Rabe
Till Winteler
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10324419A priority Critical patent/DE10324419A1/de
Publication of DE10324419A1 publication Critical patent/DE10324419A1/de
Ceased legal-status Critical Current

Links

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/77Protecting 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 smart cards
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Vorrichtung (100) zum Manipulieren von in einem Cachespeicher (154) enthaltenen Cacheinformationen. Die Cacheinformationen sind in einer Mehrzahl von Cachezeilen (156) in dem Cachespeicher (154) enthalten. Der Cachespeicher befindet sich in einer Datenverarbeitungsvorrichtung (150), die neben dem Cachespeicher auch einen Hauptspeicher (158) aufweist. Die Vorrichtung zum Manipulieren (100) besteht aus einer Einrichtung zum Bereitstellen (102) eines Manipulationsauslösesignals (106) zu aufeinanderfolgenden Zeitpunkten mit einer zufällig oder deterministisch bestimmten Periodizität sowie aus einer Einrichtung zum Ungültigmachen (108) einer Cachezeile oder zum Überschreiben einer Cachezeile mit Hauptspeicherinformationen aus dem Hauptspeicher, ansprechend auf ein Erhalten des Manipulationsauslösesignals.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung mit einem Cachespeicher und insbesondere auf die Manipulation der in dem Cachespeicher gespeicherten Informationen.
  • Ein Cachespeicher ist eine kleine, sehr schnelle Speichereinheit, die zwischen einem Prozessor und einem Hauptspeicher angeordnet ist. Der Cachespeicher wird mit einer Taktfrequenz betrieben, die nahe an der Taktfrequenz liegt, mit der der Prozessor arbeitet, beziehungsweise dieser sogar entspricht. Dadurch erfordern Zugriffe des Prozessors auf den Cachespeicher erheblich weniger Zeit als Zugriffe auf den Hauptspeicher. Zudem reduziert ein Cachespeicher die Stromaufnahme einer Datenverarbeitungsvorrichtung. Dies trifft insbesonders bei speicherbedingten Corner-Cases zu. Das Hinzufügen eines Cachespeichers in eine Prozessorarchitektur erfordert relativ wenig Änderungen an der gegebenen Prozessorarchitektur und bietet damit eine kostengünstige Möglichkeit, die Systemperformance einer Datenverarbeitungsvorrichtung zu erhöhen und zugleich die Stromaufnahme zu reduzieren. Die meisten dem Stand der Technik entsprechenden Prozessorarchitekturen bieten die Möglichkeit einen Cachespeicher zu integrieren. Selbst integrierte Schaltungen und speziell Chipkarten-Controller sind bereits mit einem Cachespeicher ausgestattet.
  • Chipkarten haben ein breites, sich ständig erweiterndes Einsatzspektrum. Sie enthalten häufig vertrauliche Informationen. Beispiele dafür sind Geld- und Kreditkarten, Versicherungskarten oder Zugangskontrollkarten. Der Einsatzbereich und die Akzeptanz solcher Chipkarten hängt wesentlich von ihren Sicherheitsmerkmalen ab. Die auf den Chipkarten enthaltenen vertraulichen Daten müssen vor dem Auslesen durch Unbefugte geschützt sein und es muß gewährleistet sein, dass sich keine funktionsfähigen Kopien einer Chipkarte anfertigen lassen.
  • Ein bekanntes Angriffsszenario auf integrierte Schaltungen und speziell Chipkarten-Controller ist die Stromanalyse. Hierbei macht sich ein Angreifer zu nutze, daß jeder von einem Chipkarten-Controller ausgeführte Arbeitsschritt ein charakteristisches Stromaufnahmeprofil hinterläßt. Dieses Stromprofil wird von dem Angreifer aufgezeichnet. Kennt der Angreifer die Architektur des Chipkarten-Controllers, so ermöglicht das Stromprofil Rückschlüsse auf die durchgeführten Arbeitsschritte des Chipkarten-Controllers. Bekannte Formen der Stromanalyse sind die Differential-Power-Analysis (DPA) oder die Simple-Power-Analysis (SPA).
  • Eine spezielle Form der Stromanalyse wird in der Veröffentlichung von D. Page „Theoretical Use of Cache Memory as a Cryptoanalytic Side-Channel" behandelt. Es wird ein System zur Datenverschlüsselung, beispielsweise ein Chipkarten-Controller, basierend auf einem Prozessor, der auf einen Cachespeicher und einen Hauptspeicher zugreift, zugrunde gelegt. Die zu verschlüsselnden Daten werden in diesem System mittels kryptographischer Schlüssel verschlüsselt. Diese sind in dem Hauptspeicher hinterlegt. Während des Verschlüsselungsvorganges lädt der Prozessor Teile des kryptographischen Schlüssels aus dem Hauptspeicher in den Cachespeicher. Gelingt es einem Angreifer, Rückschlüsse auf diese in den Cachespeicher geladenen Informationen zu ziehen, so ist es ihm möglich, Teile des verwendeten Schlüssels oder den gesamten Schlüssel zu rekonstruieren und somit den verwendeten Verschlüsselungsalgorithmus zu schwächen oder vollständig unwirksam zu machen. Ein solches Verfahren wird in der genannten Veröffentlichung beschrieben. Das Verfahren basiert auf einer Stromanalyse des Cachespeichers. Es wird angenommen, daß der Angreifer den verwendeten Verschlüsselungsalgorithmus sowie die Architektur des Verschlüsselungssystems kennt und somit einen Zugriff des Verschlüsselungssystems auf den Cachespeicher einem Ablaufschritt des Verschlüsselungsalgorithmus zuordnen kann. Der Angreifer regt das Verschlüsselungssystem mit definierten zu verschlüsselnden Daten an und zeichnet das Stromprofil des Cachespeichers auf. Aufgrund seiner Kenntnisse kann der Angreifer nun mit Hilfe des Stromprofils den verwendeten kryptographischen Schlüssel rekonstruieren.
  • Die besondere Anfälligkeit des Cachespeicher auf eine Stromanalyse wird anhand von 6 veranschaulicht. 6 zeigt einen Zugriff des Prozessors auf den Cachespeicher in einem dem Stand der Technik entsprechenden Datenverarbeitungssystem, das einen Prozessor, einen Cachespeicher und einen Hauptspeicher aufweist. Ausgehend von einem Prozessorzugriff 600 auf den Cachespeicher wird überprüft, ob die angeforderten Daten im Cachespeicher enthalten sind 602. Sind die Daten im Cachespeicher enthalten, so werden die angeforderten Daten direkt aus dem Cachespeicher zum Prozessor weitergereicht 606. Es findet kein Zugriff zu dem Hauptspeicher statt. Dieser Vorgang wird Cache-Hit genannt.
  • Wenn sich die angeforderten Daten jedoch nicht im Cachespeicher befinden, so spricht man von einem Cache-Miss. In diesem Fall müssen die Daten aus dem Hauptspeicher geholt werden und in den Cachespeicher geschrieben werden 610. Sobald sich die Daten aus dem Hauptspeicher im Cachespeicher befinden, werden sie an den Prozessor weitergereicht 612. Im Gegensatz zum Cache-Hit wird beim Cache-Miss Verkehr auf einem Speicherbus zum Hauptspeicher erzeugt. Da die vom Prozessor angeforderten Daten erst zum Prozessor geliefert werden können, wenn sie aus dem Hauptspeicher in den Cachespeicher geholt worden sind, dauert ein Zugriff, der einen Cache-Miss zur Folge hat, zudem erheblich länger als ein Zugriff, der den Cache-Hit erzeugt.
  • Das charakteristische Stromprofil eines Zugriffs des Prozessor auf den Speicher wird hauptsächlich von zwei Komponenten geprägt. Zum einen von den CMOS-Schaltungen, die nur beim Umschalten Strom verbrauchen, und zum anderen von den, durch meist lange Leitungen des Speicherbus hervorgerufenen Kapazitäten, die bei einer Aktivierung des Speicherbus umgeladen werden müssen. Dies führt dazu, daß sich das Stromprofil eines Cache-Hit deutlich von dem eines Cache-Miss unterscheidet, und zwar sowohl im zeitlichem Ablauf als auch betragsmäßig.
  • Es gibt bereits unterschiedliche Ansätze, Angriffe auf integrierte Schaltungen und speziell Chipkarten-Controller zu verhindern, die auf Stromanalysen beruhen. Ein bekanntes Mittel ist die Stromverschleierung. Dabei wird der tatsächliche Stromverbrauch mit einem Stromrauschen überlagert. Dabei wird der zeitliche Ablauf von Zugriffen auf den Cachespeicher jedoch nicht verändert. Aufgrund des sich stark unterscheidenden Stromprofils eines Cache-Hits und eines Cache-Misses reicht diese Methode deshalb nicht aus, um einen Cachespeicher vor einem Angriff durch eine Stromanalyse zu schützen. Der zeitliche Ablauf von Zugriffen kann durch das zufällige Einfügen von Wait-States verändert werden. Diese Methode bietet jedoch keinen wirksamen Schutz, da hierdurch die Reihenfolge von Cache-Hits und Cache-Misses nicht verändert wird. Außerdem wird durch das Einfügen von Wait-States die Systemperformance reduziert.
  • In der oben genannten Veröffentlichung wird eine Methode vorgestellt, um die Reihenfolge von Cache-Hits und Cache-Misses während der Ausführung eines Verschlüsselungsalgorithmus zu verändern. Diese Methode setzt jedoch eine Änderung des Sourcecodes des Algorithmus voraus und basiert darauf, daß vor der eigentlichen Ausführung des Algorithmus bereits Teile der von dem Algorithmus benötigten Verschlüsselungsdaten in den Cachespeicher geladen werden. Der Cachespeicher wird sozusagen vorgewärmt. Diese in Software realisierte Methode stellt jedoch keinen sicheren Schutz dar, da nicht sichergestellt ist, daß der Cachespeicher mit den richtigen Daten vorgeladen wird. Es wäre möglich, daß die vorgeladenen Daten erst in späteren Arbeitsschritten benötigt werden und bis dahin bereits wieder aus dem Cachespeicher verdrängt sind.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Cachemanipulationsvorrichtung zu schaffen, die einen sicheren Be- trieb einer Datenverarbeitungsvorrichtung, die einen Cachespeicher enthält, ermöglicht.
  • Diese Aufgabe wird durch eine Cachemanipulationsvorrichtung gemäß Anspruch 1 gelöst.
  • Die vorliegende Erfindung schafft eine Vorrichtung zum Manipulieren eines Cachespeichers mit einer Mehrzahl von Cachezeilen in denen Cacheinformationen speicherbar sind, in einer Datenverarbeitungsvorrichtung mit einem Hauptspeicher, mit folgenden Merkmalen:
    einer Einrichtung zum Bereitstellen eines Manipulationsauslösesignals zu aufeinanderfolgenden Zeitpunkten mit einer zufällig oder deterministisch bestimmten Periodizität; und
    einer Einrichtung zum Ungültigmachen einer Cachezeile oder zum Überschreiben einer Cachezeile mit Hauptspeicherinformationen aus dem Hauptspeicher, ansprechend auf ein Erhalten des Manipulationsauslösesignals.
  • Der Erfindung liegt die Erkenntnis zugrunde, daß sich in einen Cachespeicher geladene sensitive Daten durch gezielte zufallsgesteuerte oder deterministisch gesteuerte periodische Modifikationen der Cacheinformationen vor Angriffen schützen lassen, die auf der Auswertung eines Stromprofils des Cachespeichers beruhen. Die Wiedererkennbarkeit von wiederkehrenden Programmabläufen, aufgrund ihres charakteristischen Stromprofils (Mittelung von Stromkurven), wird verhindert bzw. erschwert, da die Stromprofile wiederkehrender Programm abläufe aufgrund der Modifikationen unterschiedlicher Cache-Hit Raten und zeitlicher Versätze aufweisen, und sich damit unterscheiden.
  • Entsprechend der vorliegenden Erfindung werden die in einem Cachespeicher gespeicherten Cacheinformationen fortlaufend durch gezielte zufallsgesteuerte oder deterministisch gesteuerte Modifikationen verändert. Eine Modifikationsmöglichkeit ist das zufällige Löschen von Cachespeicherinformationen. Eine weitere ist das Lesen von Hauptspeicherinformationen und Speichern der gelesenen Informationen in den Cachespeicher. Durch die Modifikation der Cachespeicherinformationen werden zusätzliche Speicherzugriffe erzeugt und die im Cachespeicher gespeicherten Cacheinformationen ständig verändert. Einem Angreifer ist es damit nicht möglich, einen Zugriff des Prozessors auf den Cachespeicher einem Ablaufschritt eines von dem Prozessor ausgeführten Programms zuzuordnen. Bei einem erkannten Cache-Hit ist es einem Angreifer außerdem nicht möglich zu entscheiden, ob die bereits im Cachespeicher enthaltenen Informationen durch den Programmablauf des Verschlüsselungsalgorithmus oder durch einen Modifikationszugriff in den Cachespeicher geladen wurden. Ebenso ist ein Cache-Miss kein Indiz dafür, dass die angeforderten Information noch nicht in den Cachespeicher geladen wurden beziehungsweise bereits wieder verdrängt wurden. Der Cache-Miss kann auch durch einen Manipulationsvorgang provoziert worden sein.
  • Zum Überschreiben der Informationen im Cachespeicher werden bevorzugt Informationen aus dem Hauptspeicher ausgewählt, die in Zukunft benötigt werden. Der Vorteil liegt darin, dass in der Folge vermehrt Cache-Hits auftreten. Dies bewirkt eine Änderung des Stromprofils und bringt zusätzlich einen Performance-Gewinn.
  • Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß eine auf der Datenverarbeitungsvorrichtung ablau fende Software nicht mehr umgeschrieben werden muß, um zu einer gegen Angriffe sicheren Software zu werden. Solche Maßnahmen entfallen dadurch, dass die Hardware eine zeitliche Verzerrung des Ablaufes der Algorithmen und damit er Stromprofile bewirkt.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 eine Vorrichtung zum Manipulieren eines Cachespeichers;
  • 2 ein Blockschaltbild einer Einrichtung zum Bereitstellen eines Manipulationsauslösesignals gemäß einem bevorzugten Ausführungsbeispiel;
  • 3 ein Blockschaltbild einer Einrichtung zum Bereitstellen eines Manipulationsauslösesignals gemäß einem weiteren bevorzugten Ausführungsbeispiel;
  • 4 ein Blockdiagramm einer Überwachungseinrichtung gemäß einem bevorzugten Ausführungsbeispiel;
  • 5 ein Ablaufdiagramm eines bevorzugten Ausführungsbeispiels einer Vorrichtung zum Manipulieren eines Cachespeichers; und
  • 6 ein Ablaufdiagramm eines Prozessorzugriffs auf den Cachespeicher gemäß dem Stand der Technik.
  • 1 zeigt eine Vorrichtung zum Manipulieren 100 eines Cachespeichers 154 in einer Datenverarbeitungsvorrichtung 150. Die Datenverarbeitungsvorrichtung 150 weist einen Prozessor 152, den Cachespeicher 154 und einen Hauptspeicher 158 auf. Der Cachespeicher 154 ist mit dem Prozessor 152 über einen Prozessorbus 160 und mit dem Hauptspeicher 158 über einen Speicherbus 162 gekoppelt. Der Cachespeicher weist eine Mehrzahl von Cachezeilen 156 auf, in denen Cacheinformationen speicherbar sind. Zugriffe des Prozessors 152 auf den Hauptspeicher 158 führen über den Cachespeicher 154. Sind die von dem Prozessor 152 angeforderten Informationen in den Cachezeilen 156 des Cachespeichers 154 enthalten, so werden diese Informationen an den Prozessor 152 weitergeleitet. Sind die von dem Prozessor 152 angeforderten Informationen nicht in dem Cachespeicher 154 enthalten, so werden diese Informationen aus dem Hauptspeicher 158 angefordert, in eine der Cachespeicherzeilen 156 geschrieben und anschließend an den Prozessor 152 weitergeleitet. Diese Betriebsweise einer Datenverarbeitungsvorrichtung mit einem Cachespeicher entspricht dem Stand der Technik und wurde in 6 veranschaulicht. Die erfindungsgemäße Einrichtung kann aber auch in komplexeren Speicherarchitekturen, als der in 6 beschriebenen eingesetzt werden. So kann eine Speicherarchitektur mehrere Cachespeicher und Hauptspeicher aufweisen und der Prozessor kann mittels unterschiedlichen Zugriffsarten (beispielsweise Uncached, Write-Through, Write-Back) auf die Speicher zugreifen.
  • Die Vorrichtung zum Manipulieren 100 des Cachespeichers 154 weist eine Einrichtung zum Bereitstellen 102 eines Manipulationsauslösesignals 106 und eine Einrichtung zum Ungültigmachen oder zum Überschreiben 108 einer Cachezeile 156 auf. Die Einrichtung zum Ungültigmachen oder zum Überschreiben 108 ist mit dem Cachespeicher 154 und der Einrichtung zum Bereitstellen 102 gekoppelt. Die Einrichtung zum Bereitstellen eines Manipulationsauslösesignals 102 weist einen Periodizitätssteuersignaleingang 104 auf, über den eine Periodizität eingestellt wird. Die Periodizität definiert den zeitlichen Abstand zwischen zwei aufeinanderfolgenden Manipulationsvorgängen. Die Periodizität kann sich nach jedem durchgeführten Manipulationsvorgang ändern. Die Einrichtung zum Bereitstellen eines Manipulationsauslösesignals 102 stellt ansprechend auf diese Periodizität zu aufeinander folgenden Zeitpunkten das Manipulationsauslösesignal 106 bereit. Die Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile 108 spricht auf das Manipulationsauslösesignal 106 an und veranlaßt als Folge dessen eine Manipulation der in dem Cachespeicher 154 enthaltenen Cacheinformationen. Die Art und Weise der Durchführung der Manipulation hängt von der Art der Speicheransteuerung in der Datenverarbeitungsvorrichtung ab. Wenn es der Cachespeicher zulässt, so kann er direkt mit einem Manipulationsauslösesignal 109 angesprochen werden. Typischerweise wird jedoch eine in der Datenverarbeitungsvorrichtung verwendete Vorrichtung zur Speicheransteuerung (Memory Management Unit) über ein Manipulationssignal angesprochen und führt als Folge dessen die Manipulation des Cachespeichers durch.
  • 2 zeigt ein Blockdiagramm einer Einrichtung zum Bereitstellen 202 eines Manipulationsauslösesignals, wie sie in der in 1 beschriebenen Vorrichtung eingesetzt werden kann. Die Einrichtung zum Bereitstellen 202 weist eine Zyklenzähleinrichtung 210 auf, die ansprechend auf ein Periodizitätssteuersignal 214 und ein Taktsignal 216 ein Manipulationsauslösesignal 206 bereitstellt. Das Taktsignal 216 entspricht bevorzugterweise dem Takt eines zu manipulierender Cachespeichers. Die Zyklenzähleinrichtung 210 weist einen Zähler auf, der die Zyklen des Taktsignals 216 zählt. Nach einer durch das Periodizitätssteuersignal 214 definierten Anzahl von Taktzyklen wird der Zähler auf Null zurückgesetzt und das Manipulationsauslösesignal 206 bereitgestellt, auf das die Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile anspricht. Das Periodizitätssteuersignal 214 wird von einer Periodizitätssteuereinrichtung 212 bereitgestellt. Die Periodizitätssteuereinrichtung 212 kann eine einfache Einrichtung sein, die einen Wert für das Priodizitätssteuersignal 214 zuläßt, der fest eingestellt ist oder vom Anwender eingestellt wird, oder alternativ eine komplexe Logik enthalten, die das Priodizitätssteuersignal 214 abhängig von defi nierten Zuständen der Datenverarbeitungsvorrichtung einstellt.
  • 3 zeigt ein weiteres bevorzugtes Ausführungsbeispiel einer Einrichtung 302 zum Bereitstellen eines Manipulationsauslösesignals. Die Einrichtung 302 weist eine Komparatoreinrichtung 310 auf, die ansprechend auf ein Periodizitätssteuersignal 314 und ein Referenzsignal 316 ein Manipulationsauslösesignal 306 bereitstellt. Das Manipulationsauslösesignal 306 ist wiederum mit einer Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile gekoppelt, die in 3 nicht gezeigt ist. Das Periodizitätssteuersignal 314 wird in diesem Ausführungsbeispiel von einer Zufallszahlengeneratoreinrichtung 312 bereitgestellt. Die Zufallszahlengeneratoreinrichtung 312 stellt Zufallswerte in einem festgelegten Bereich bereit. Die Komparatoreinrichtung 310 vergleicht einen von dem Periodizitätssteuersignal 314 übertragenen Zufallswerte der Zufallszahlengeneratoreinrichtung 312 mit dem durch das Referenzsignal 316 vorgegebenen Wert, der ebenfalls in dem vorher festgelegten Bereich liegt. Der von dem Referenzsignal 316 bereitgestellte Wert kann wiederum fest eingestellt sein oder von einem Anwender vorgegeben werden. Bei Übereinstimmung beider stellt die Komparatoreinrichtung 310 das Manipulationsauslösesignal 306 bereit.
  • 4 zeigt eine Vorrichtung 400 zum Manipulieren eines Cachespeichers, eine Datenverarbeitungsvorrichtung 150 und eine Einrichtung zum Entscheiden 420, entsprechend einem bevorzugten Ausführungsbeispiels. Die Vorrichtung 400 zum Manipulieren sowie die Datenverarbeitungsvorrichtung 450 sind bereits aus 1 bekannt. Die Vorrichtung zum Manipulieren 400 weist eine Einrichtung zum Bereitstellen eines Manipulationsauslösesignals 402 und eine Einrichtung 408 zum Ungültigmachen einer Cachezeile oder zum Überschreiben einer Cachezeile auf. Die Einrichtung 402 zum Bereitstellen eines Manipulationsauslösesignals weist wiederum einen Periodizitätssteuersignaleingang 404 auf, ansprechend auf den die Einrichtung 402 ein Manipulationsauslösesignal 406 bereitstellt, das die Einrichtung 408 zum Ungültigmachen oder zum Überschreiben einer Cachezeile veranlaßt, die in dem Cachespeicher 454 der Datenverarbeitungsvorrichtung 450 enthaltenen Daten zu manipulieren. Der Cachespeicher 454 ist wiederum zwischen einem Prozessor 452 und einem Hauptspeicher 458 angeordnet und mit dem Prozessor 452 über einen Prozessorbus 460 und mit dem Hauptspeicher 458 über einen Speicherbus 462 verbunden.
  • Das in 4 gezeigte Ausführungsbeispiel weist zusätzlich zu dem in 1 gezeigten Ausführungsbeispiel die Einrichtung zum Überwachen von Zugriffen auf den Cachespeicher 420 auf. Die Einrichtung 420 zum Überwachen ist mit der Vorrichtung zum Manipulieren 400 und der Datenverarbeitungsvorrichtung 450 gekoppelt. Die Einrichtung 420 zum Überwachen weist eine Detektoreinrichtung 424 und eine Deaktivierungseinrichtung 422 auf. Die Detektoreinrichtung 424 ist mit dem Prozessorbus gekoppelt und erkennt, wann der Prozessor 452 einen Zugriff auf den Cachespeicher 454 startet und wann dieser Zugriff abgeschlossen ist. Die Kopplung der Detektoreinrichtung 424 an den Prozessorbus 460 kann durch ein Cachebussignal 426 erfolgen, das während eines über den Prozessorbus 460 stattfindenden Zugriffs des Prozessors auf dem Cachespeicher aktiv ist. Ansprechend auf das Cachebussignal 426 stellt die Detektoreinrichtung 424 ein Detektorsignal 428 bereit, das mit der Deaktivierungseinrichtung 422 verbunden ist.
  • Die Deaktivierungseinrichtung 422 ist ausgebildet, um die Vorrichtung zum Manipulieren 400 während eines Zugriffs des Prozessors 452 auf den Cachespeicher 454 zu deaktivieren. Würde die Vorrichtung zum Manipulieren eines Cachespeichers 400 während eines Zugriffs des Prozessors 452 auf den Cachespeicher 454 in dem Cachespeicher 454 enthaltene Cacheinformationen manipulieren, so könnte es zu einem Informationsverlust bzw. zu einer Informationsverfälschung kommen. Eine solche Kollision von Zugriffen auf den Cachespeicher wird durch die Einrichtung zum Überwachen 420 verhindert, indem die Vorrichtung zum Manipulieren 400 solange deaktiviert wird, bis ein Zugriff durch den Prozessor 452 auf den Cachespeicher 454 abgeschlossen ist. Zum Deaktivieren der Vorrichtung zum Manipulieren 400 stellt die Deaktivierungseinrichtung 422 ein Deaktivierungssignal 430 bereit, das mit der Einrichtung 402 zum Bereitstellen eines Manipulationsauslösesignals oder der Einrichtung 408 zum Ungültigmachen einer Cachezeile oder zum Überschreiben einer Cachezeile. Die Einrichtung zum Bereitstellen 402 eines Manipulationsauslösesignal ist ausgebildet, um ansprechend auf das Deaktivierungssignal 430 die Bereitstellung des Manipulationsauslösesignal 406 zu sperren. Ebenso ist die Einrichtung 408 zum Ungültigmachen einer Cachezeile oder zum Überschreiben einer Cachezeile ausgebildet, um ansprechend auf das Deaktivierungssignal 430 die Bereitstellung des Manipulationssignal 409 zu sperren.
  • Gemäß einem weiteren bevorzugten Ausführungsbeispiel der vorliegenden Erfindung weist die Vorrichtung zum Manipulieren ferner eine Einrichtung zum Auswählen einer Cachezeile, die ungültig gemacht oder überschrieben wird auf. Außerdem eine Einrichtung zum Auswählen von Informationen aus dem Hauptspeicher, mit denen die ausgewählte Cachezeile, im Falle des Manipulierens durch Überschreiben, überschrieben wird. 5 veranschaulicht dieses Ausführungsbeispiel anhand eines Ablaufdiagramms. Ansprechend auf ein Manipulationssignal 500 (die Bereitstellung eines Manipulationssignals wurde in den 2, 3 und 4 beschrieben) wird eine Cachezeile, die ungültig gemacht bzw. überschrieben wird, ausgewählt 510. Das Auswählen einer Cachezeile 510 wird in der Einrichtung zum Auswählen einer Cachezeile, die ungültig gemacht oder überschrieben wird, durchgeführt. Der Auswahl einer Cachezeile 510 kann dabei eine deterministische oder eine zufällige Entscheidung zugrunde liegen. Die zufällige Entscheidung wird durch ein empfangenes echtes oder ein Pseudozufallssignal herbeigeführt. Nach dem Auswählen einer Cachezeile 510 wird entschieden, ob die ausgewählte Cachezeile ungültig gemacht oder ob sie überschrieben wird 520. Die Entscheidung 520 wird in einer Einrichtung zum Entscheiden, ob eine Cachezeile ungültig gemacht oder überschrieben wird, durchgeführt und basiert wiederum entweder auf einer deterministischen oder auf einer zufallsgesteuerten Entscheidung.
  • Im Falle einer Entscheidung zugunsten des Ungültigmachens wird die ausgewählte Cachezeile ungültig gemacht 530. Der Manipulationsvorgang ist damit beendet und die Vorrichtung zum Manipulieren eines Cachespeichers nimmt einen Ruhezustand ein, solange bis ein neues gültiges Manipulationssignal bereitgestellt wird.
  • Im Falle einer Entscheidung zugunsten des Manipulierens durch Überschreiben müssen Hauptspeicherinformationen ausgewählt werden, mit denen die in der ausgewählten Cachezeile enthaltenen Cacheinformationen überschrieben werden. Nach dem Auswählen der Hauptspeicherinformationen 540 wird die ausgewählte Cachezeile mit den ausgewählten Hauptspeicherinformationen überschrieben 550. Damit ist auch im Fall des Überschreibens der Manipulationsvorgang abgeschlossen und die Manipulationsvorrichtung befindet sich wieder im Ruhestand, bis ein weiteres gültiges Manipulationssignal bereitgestellt wird.
  • Bevorzugterweise werden zum Überschreiben Hauptspeicherinformationen ausgewählt, die in Kürze ohnehin von dem Prozessor benötigt werden. Die Identifikation solcher Hauptspeicherinformationen kann auf Heuristiken beruhen, da Codeinformationen und Dateninformationen typischerweise in eng zusammenhängenden Bereichen im Hauptspeicher organisiert sind. Eine mögliche Vorgehensweise basiert auf einem vorangegangenen Zugriff des Prozessors auf den Cachespeicher. Es wird ein Adressbereich um die Stelle dieses vorangegangenen Zugriffs definiert und die auszuwählenden Hauptspeicherinformationen werden aus diesem Adressbereich ausgewählt. Werden die auf diese Weise ausgewählten Informationen in Kürze von dem Prozessor benötigt, so wird die Performanz der Datenverarbeitungsvorrichtung aufgrund der durchgeführten Manipulation nicht beeinträchtigt.
  • In einem weiteren bevorzugten Ausführungsbeispiel ist die Datenverarbeitungsvorrichtung ein Chipkarten-Controller und der Cachespeicher ist ein Code-Cache. Der Code-Cache ist dabei ausgebildet, um 64 aufeinander folgende Bytes aufnehmen zu können. Die Vorrichtung zum Manipulieren des Cachespeichers ist in Form eines in Hardware ausgeführten sogenannten funktionalen Current-Scramblers ausgeführt. Der Current-Scrambler erzeugt zufallsgesteuert Dummy-Zugriffe. War der letzte Zugriff vor dem Dummy-Zugriff ein Code-Zugriff, so greift der Current-Scrambler zufallsgesteuert auf 64 aufeinander folgende Bytes zu, die sich in einem Bereich von ±64 Byte um die zuletzt gelesenen Bytes befinden. Dies bedeutet, daß nicht nur eine einzelne Cachezeile überschrieben wird, sondern alle in dem Cachespeicher gespeicherten Informationen durch neue Informationen ersetzt werden. Dadurch verändert sich zum einen das Code-Cache-Fenster und zum anderen werden mit hoher Wahrscheinlichkeit Informationen in den Cachespeicher geschrieben, die in Zukunft von dem Chipkarten-Controller benötigt werden. Enthält der in dem Chipkarten-Controller verarbeitete Code kryptographische oder andere sensitive Informationen, so sind diese durch die von dem Current-Scrambler durchgeführten Modifikationen vor einem auf einer Stromanalyse basierendem Angriff geschützt. Auch wenn keine sensitiven Daten Bestandteil des Codes sind, führt die Änderung des Stromprofils durch die eingefügten Code Bytes zu erschwerter Wiedererkennbarkeit eines Codeabschnitts, da eine Triggerung auf charakteristische Stromprofilabschnitte nicht möglich ist.
  • Obwohl sich die beschriebenen Ausführungsbeispiele auf Datenverarbeitungsvorrichtungen und insbesondere auf Chipkarten-Controller beziehen, so kann die vorliegende Erfindung auch in anderen Vorrichtungen, die einen Speicher aufweisen, und deren Stromaufnahme verschleiert werden soll, angewendet werden.
  • Der zeitliche Ablauf der Speichermanipulationen kann über einen Zufallsgenerator oder eine ähnliche Vorrichtung, oder über nicht regelmäßig wiederkehrende Abläufe in der Datenverarbeitungsvorrichtung gesteuert werden. Als Entscheidungsrundlage über die Durchführung und Art der Durchführung einer Manipulation können neben Code-Zugriffen eines Prozessors auch Daten-Zugriffe oder beliebig andere Vorgänge und Zustände in einer Datenverarbeitungsvorrichtung zugrunde gelegt werden. Ebenso ist das Ungültigmachen nicht auf eine Speicherzeile beschränkt, sondern es können alle in einem Speicherbereich bzw. alle in dem gesamten Speicher enthaltene Informationen ungültig gemacht werden.
  • Abhängig von den Gegebenheiten kann die erfindungsgemäße Vorrichtung zum Manipulieren eines Cachespeichers in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeichertem Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.
  • 100
    Vorrichtung zum Manipulieren
    102
    Einrichtung zum Bereitstellen eines Manipulationsauslösesignals
    104
    Periodizitätssteuersignaleingang
    106
    Manipulationsauslösesignal
    108
    Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile
    109
    Manipulationssignal
    150
    Datenverarbeitungsvorrichtung
    152
    Prozessor
    154
    Cachespeicher
    156
    Cachezeilen
    158
    Hauptspeicher
    160
    Prozessorbus
    162
    Speicherbus
    202
    Einrichtung zum Bereitstellen eines Manipulationsauslösesignals
    206
    Manipulationsauslösesignal
    210
    Zyklenzähleinrichtung
    212
    Periodizitätssteuereinrichtung
    214
    Periodizitätssteuersignal
    216
    Taktsignal
    302
    Einrichtung zum Bereitstellen eines Manipulationsauslösesignals
    306
    Manipulationsauslösesignal
    310
    Komparatoreinrichtung
    312
    Zufallszahlengeneratoreinrichtung
    314
    Steuersignal
    316
    Referenzsignal
    400
    Vorrichtung zum Manipulieren
    402
    Einrichtung zum Bereitstellen eines Manipulationsauslösesignals
    404
    Periodizitätssteuersignaleingang
    406
    Manipulationsauslösesignal
    408
    Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile
    409
    Manipulationssignal
    420
    Einrichtung zum Entscheiden
    422
    Deaktivierungseinrichtung
    424
    Detektoreinrichtung
    426
    Prozessorbussignal
    428
    Detektorsignal
    430
    Deaktivierungssignal
    450
    Datenverarbeitungsvorrichtung
    452
    Prozessor
    454
    Cachespeicher
    458
    Hauptspeicher
    460
    Prozessorbus
    462
    Speicherbus
    500
    Gültiges Manipulationssignal?
    510
    Auswählen einer Cachezeile
    520
    Entscheiden, ob ausgewählte Cachezeile ungültig gemacht oder überschrieben wird
    530
    Ungültigmachen der Cachezeile
    540
    Hauptspeicherinformationen zum Überschreiben der Cachezeile auswählen
    550
    Überschreiben der Cachezeile
    600
    Prozessorzugriff auf Cachespeicher
    602
    Angeforderte Informationen im Cachespeicher?
    606
    angeforderte Informationen vom Cachespeicher zum Prozessor
    610
    Informationen vom Hauptspeicher lesen in den Cachespeicher schreiben
    612
    angeforderte Informationen vom Cachespeicher zum Prozessor

Claims (15)

  1. Vorrichtung zum Manipulieren (100) eines Cachespeichers (154) mit einer Mehrzahl von Cachezeilen (156) in denen Cacheinformationen speicherbar sind, in einer Datenverarbeitungsvorrichtung (150) mit einem Hauptspeicher (158), mit folgenden Merkmalen: einer Einrichtung zum Bereitstellen (102; 202; 302) eines Manipulationsauslösesignals (106; 206; 306) zu aufeinanderfolgenden Zeitpunkten mit einer zufällig oder deterministisch bestimmten Periodizität; und einer Einrichtung zum Ungültigmachen (108; 208; 308; 408) einer Cachezeile oder zum Überschreiben einer Cachezeile mit Hauptspeicherinformationen aus dem Hauptspeicher, ansprechend auf ein Erhalten des Manipulationsauslösesignals.
  2. Vorrichtung gemäß Anspruch 1, bei der die Einrichtung (202) zum Bereitstellen eines Manipulationsauslösesignals (206) folgende Merkmale aufweist: eine Periodizitätssteuereinrichtung (212); und eine Zyklenzähleinrichtung (210), die einen Takteingang und einen Periodizitätssignaleingang aufweist; und wobei die Periodizitätssteuereinrichtung ausgebildet ist zum Erzeugen eines Periodizitätssteuersignals (214), und wobei die Zyklenzähleinrichtung ausgebildet ist, um ansprechend auf das Taktsignal und das Periodizitätssteuersignal nach einer durch das Periodizitätssteuersignal bestimmten Anzahl von Taktzyklen des Taktsignal das Manipulationsauslösesignal bereitzustellen.
  3. Vorrichtung gemäß Anspruch 1, bei der die Einrichtung (302) zum Bereitstellen eines Manipulationsauslösesignals (306) folgende Merkmale aufweist: eine Zufallszahlengeneratoreinrichtung (312) zum Erzeugen eines Periodizitätssteuersignals (314); ein Referenzsignal (316); eine Komparatoreinrichtung (310), die mit dem Periodizitätssteuersignal und dem Referenzsignal gekoppelt ist, und wobei die Komparatoreinrichtung ausgebildet ist, um ansprechend auf das Referenzsignal und das Periodizitätssteuersignal ein Manipulationsauslösesignal bereitzustellen.
  4. Vorrichtung gemäß einem der Ansprüche 1 bis 3 ferner mit folgenden Merkmalen: einer Einrichtung (420) zum Überwachen von Zugriffen auf den Cachespeicher, die mit dem Cachespeicher (454) gekoppelt und mit der Einrichtung zum Ungültigmachen (408) einer Cachezeile oder zum Überschreiben einer Cachezeile oder der Einrichtung zum Bereitstellen (402) eines Manipulationsauslösesignals gekoppelt ist, und ausgebildet ist, um ansprechend auf einen detektierten Zugriff auf den Cachespeicher, die Einrichtung zum Ungültigmachen einer Cachezeile oder zum Überschreiben einer Cachezeile oder die Einrichtung zum Bereitstellen eines Manipulationsauslösesignals solange zu sperren, bis ein Zugriff auf den Cachespeicher abgeschlossen ist.
  5. Vorrichtung gemäß einem der Ansprüche 1 bis 4, bei der die Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile folgende Merkmale aufweist: eine Einrichtung zum Auswählen einer Cachezeile, die ungültig gemacht oder überschrieben werden soll, wobei die Einrichtung zum Auswählen ansprechbar ist, um die Cachezeile deterministisch oder zufällig auszuwählen.
  6. Vorrichtung gemäß Anspruch 5, bei der die Einrichtung zum Auswählen ansprechbar ist, um die Auswahl ansprechend auf ein empfangenes echtes oder Pseudozufallssignal durchzuführen.
  7. Vorrichtung gemäß einem der Ansprüche 1 bis 6, bei der die Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile derart ausgebildet ist, daß ansprechend auf das Manipulationsauslösesignal alle im Cachespeicher enthaltenen Cacheinformationen ungültig gemacht oder überschrieben werden.
  8. Vorrichtung gemäß einem der Ansprüche 1 bis 7, bei der die Einrichtung zum Ungültigmachen folgendes Merkmal aufweist: eine Einrichtung zum Entscheiden, ob eine Cachezeile ungültig gemacht oder überschrieben werden soll, wobei die Einrichtung zum Entscheiden ausgebildet ist, um die Entscheidung deterministisch oder zufallsgesteuert auszuführen.
  9. Vorrichtung gemäß Anspruch 8, bei der die Einrichtung zum Entscheiden ausgebildet ist, um abhängig von einem vorangegangenen Zugriff des Prozessors auf den Cachespeicher zu entscheiden, ob eine Cachezeile ungültig gemacht oder überschrieben wird, derart, daß bei einem vorangegangenen Zugriff auf einen Codebereich im Speicher eine Cachezeile überschrieben wird oder bei einem vorangegangen Zugriff auf einen Datenbereich eine Cachezeile ungültig gemacht wird.
  10. Vorrichtung gemäß einem der Ansprüche 1 bis 9, bei der die Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile derart ausgebildet ist, daß sie Informationen zum Überschreiben der Cachezeile verwendet, die sich bei einer Adresse im Hauptspeicher befinden, die in einem Adreßbereich ist, der durch einen vorbestimmten Adreßversatz um eine verwendete Adresse des Hauptspeichers sich erstreckt, deren Information im Cachespeicher ist.
  11. Vorrichtung gemäß Anspruch 10, bei der Versatz gleich einer Anzahl von in dem Cachespeicher speicherbaren Adressen ist.
  12. Vorrichtung gemäß einem der Ansprüche 1 bis 11, bei der im Cachespeicher kryptographische Informationen gespeichert sind.
  13. Vorrichtung gemäß einem der Ansprüche 1 bis 11, bei der der Cachespeicher ein Code-Cache ist.
  14. Vorrichtung gemäß einem der Ansprüche 1 bis 13, bei der die Datenverarbeitungsvorrichtung ein Chipkarten-Controller ist.
  15. Vorrichtung gemäß einem der Ansprüche 1 bis 14, bei der die Einrichtung zum Bereitstellen eines Manipulationsauslösesignals und die Einrichtung zum Ungültigmachen oder zum Überschreiben einer Cachezeile als Hardwarezustandsmaschinen ausgeführt sind.
DE10324419A 2003-05-28 2003-05-28 Vorrichtung zum Manipulieren eines Cachespeichers Ceased DE10324419A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10324419A DE10324419A1 (de) 2003-05-28 2003-05-28 Vorrichtung zum Manipulieren eines Cachespeichers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10324419A DE10324419A1 (de) 2003-05-28 2003-05-28 Vorrichtung zum Manipulieren eines Cachespeichers

Publications (1)

Publication Number Publication Date
DE10324419A1 true DE10324419A1 (de) 2005-01-13

Family

ID=33520469

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10324419A Ceased DE10324419A1 (de) 2003-05-28 2003-05-28 Vorrichtung zum Manipulieren eines Cachespeichers

Country Status (1)

Country Link
DE (1) DE10324419A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230617A1 (de) 2009-03-18 2010-09-22 Giesecke & Devrient GmbH Sperren eines portablen Datenträgers
WO2009156881A3 (en) * 2008-06-24 2010-10-14 Nds Limited Security within integrated circuits

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10216611A1 (de) * 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10216611A1 (de) * 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009156881A3 (en) * 2008-06-24 2010-10-14 Nds Limited Security within integrated circuits
US8539596B2 (en) 2008-06-24 2013-09-17 Cisco Technology Inc. Security within integrated circuits
US8913745B2 (en) 2008-06-24 2014-12-16 Cisco Technology Inc. Security within integrated circuits
EP2230617A1 (de) 2009-03-18 2010-09-22 Giesecke & Devrient GmbH Sperren eines portablen Datenträgers

Similar Documents

Publication Publication Date Title
EP1668516B1 (de) Entschlüsselung und verschlüsselung bei schreibzugriffen auf einen speicher
DE69827742T2 (de) Verfahren zum speichen und bearbeiten sensibler informationen in einem sicherheitsmodul und dazugehöriges sicherheitsmodul
EP3254227B1 (de) Verfahren zum schutz sicherheitsrelevanter daten in einem cachespeicher
EP1496420B1 (de) Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
DE19536169A1 (de) Multifunktionale Chipkarte
EP1118941B1 (de) Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
EP0224639A1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
DE10319585A1 (de) Manipulationssicheres Datenverarbeitungssystem und zugehöriges Verfahren zur Manipulationsverhinderung
EP1248200A1 (de) Verriegelungsschaltung zur Verhinderung eines unzulässigen Zugriffs auf die Speichereinrichtung eines Prozessors
DE10324419A1 (de) Vorrichtung zum Manipulieren eines Cachespeichers
EP1481327B1 (de) Auf zufall basierender ersetzungsalgorithmus für eine cachespeichereinheit
EP1247186B1 (de) Speicherzugriffsverfahren und schaltungsanordung
DE102021131424A1 (de) Verfahren und systeme zur sitzungsbasierten und gesicherten zugriffsteuerung auf ein datenspeichersystem
EP1355269B1 (de) Datenverarbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls
DE102008054627A1 (de) Steuergerät mit dem Verfahren zum Manipulationsschutz Computerprogramm, Computerprogrammprodukt
EP2230617B1 (de) Sperren eines portablen Datenträgers
EP1569089A2 (de) Verfahren zum Erzeugen von Zufallszahlen in einem tragbaren Datenträger
EP1750217B1 (de) Absicherung von Speichereinhalten eines Datenträgers
DE10322671B4 (de) Vorrichtung,Verfahren sowie Computer-Programm zur Verschleierung der Stromaufnahme einer Datenverarbeitungsvorrichtung
EP2030145A2 (de) Verfahren zu kryptographischen authentikation
EP1573955A1 (de) Verschl sselungsverfahren
DE60035349T2 (de) Verfahren zum schutz einer tragbaren karte
DE10303752B4 (de) Steuerung einer Cachespeicheranordnung mit zufälligen Zurückschreibevorgängen
EP1566776B1 (de) Verfahren zum sicheren Betrieb eines tragbaren Datenträgers
DE102011107104B4 (de) Tragbares Sicherheitsmodul und Verfahren zu dessen Betrieb zur Abwehr eines Angriffs in Echtzeit per Mustererkennung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection