Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR REPLACING THE CONTENT OF A DATA STORAGE UNIT
Document Type and Number:
WIPO Patent Application WO/2003/088051
Kind Code:
A1
Abstract:
The invention relates to a data storage device comprising a plurality of data storage units (10a), a physical random number generator (16) comprising a noise source which is based on a physical noise process for generating a random number. Said device also comprises a replacement device (12) for selecting a data storage unit wherein data is to be stored dependent on the random number. The security in relation to power analysis attacks is increased by selecting data storage units or lines which are to be replaced in the cache on the basis of authentic random numbers without the need to intervene in the running of the program.

Inventors:
Gammel, Berndt (Dr. Brenner Str. 16, Markt-Schwaben, 85570, DE)
Application Number:
PCT/EP2003/003800
Publication Date:
October 23, 2003
Filing Date:
April 11, 2003
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFINEON TECHNOLOGIES AG (St.-Martin-Str. 53, München, 81669, DE)
Gammel, Berndt (Dr. Brenner Str. 16, Markt-Schwaben, 85570, DE)
International Classes:
G06F12/12; G06F21/00; (IPC1-7): G06F12/12; G06F1/00
Attorney, Agent or Firm:
Zinkler, Franz (Schoppe, Zimmermann Stöckeler & Zinkle, Postfach 246 Pullach bei München, 82043, DE)
Download PDF:
Claims:
Patentansprüche
1. Datenspeichervorrichtung mit folgenden Merkmalen : einer Mehrzahl von Datenspeichereinheiten (lOa) ; einem physikalischen Zufallszahlengenerator (16) mit einer Rauschquelle, die auf einem physikalischen Rauschprozeß ba siert, zum Erzeugen einer Zufallszahl ; und einer Ersetzungseinrichtung (12) zum Auswählen einer Daten speichereinheit, in der Daten zu speichern sind, abhängig von der Zufallszahl.
2. Datenspeichervorrichtung nach Anspruch 1, bei der die physikalische Rauschquelle des Zufallszahlengenerators (16) eine Schrotrauschquelle oder eine Quelle für thermisches Rau schen aufweist.
3. Datenspeichervorrichtung nach Anspruch 1 oder 2, die ferner folgendes Merkmal aufweist : einen Pseudozufallszahlengenerator (18) zum Erzeugen einer Pseudozufallszahl ; eine Kombinationseinrichtung (20) zum Verwenden der Zufalls zahl und der Pseudozufallszahl, um abhängig von der Zufalls zahl und der Pseudozufallszahl ein Ansteuersignal (22) für die Ersetzungseinrichtung (12) zu liefern.
4. Datenspeichervorrichtung nach Anspruch 3, bei der die Kombinationseinrichtung (20) ausgebildet ist, um die Zufalls zahl in den Pseudozufallszahlengenerator (18) als Keim einzu speisen und eine von dem Pseudozufallszahlengenerator auf der Basis der Zufallszahl als Keim erzeugte Pseudozufallszahl als Ansteuersignal (23) für die Ersetzungseinrichtung zu verwen den.
5. Datenspeichervorrichtung nach Anspruch 3 oder 4, bei der die Ersetzungseinrichtung (12) ausgebildet ist, um eine Folge von Adressen auszuwählen, und bei der die Kombinationseinrichtung (20) ausgebildet ist, um Ansteuersignale für die Folge von Adressen so zu erzeugen, daß ein Ansteuersignal von der Zufallszahl abhängt und ein anderes Ansteuersignal von der Pseudozufallszahl abhängt.
6. Datenspeichervorrichtung nach einem der vorhergehenden Ansprüche, die ferner eine Modusteuerungseinrichtung (22) aufweist, die ausgebildet ist, um die Ersetzungseinrichtung so anzusteuern, daß in einem vorbestimmten Zeitintervall eine Ersetzung auf grund einer Zufallszahl deaktiviert ist und stattdessen eine deterministische Ersetzungsstrategie eingesetzt wird.
7. Datenspeichervorrichtung nach Anspruch 6, bei der die Modussteuerungseinrichtung (22) ausgebildet ist, um eine de terministische Ersetzungsstrategie zu veranlassen, wenn nichtsicherheitsrelevante Berechnungen in einem mit der Da tenspeichervorrichtung gekoppelten Prozessor auszuführen sind, oder wenn für eine Berechnung durch den Prozessor ga rantierte oder vorhersagbare Laufzeiten gefordert sind.
8. Datenspeichervorrichtung nach Anspruch 6 oder 7, bei der die Modussteuerungseinrichtung (22) ausgebildet ist, um in regelmäßigen oder zufälligen Intervallen einen Wechsel der Ersetzungsstrategie zu veranlassen.
9. Datenspeichervorrichtung nach Anspruch 8, bei das zufäl lige zeitliche Intervall abhängig von einer Zufallszahl des physikalischen Zufallszahlengenerators durch die Modussteue rungseinrichtung (22) bestimmbar ist.
10. Datenspeichervorrichtung nach Anspruch 1, die ferner eine Modussteuerungseinrichtung (22) aufweist, die ausgebildet ist, um eine Zufallszahl des physikalischen Zu fallszahlengenerator über eine Zufallszahlleitung (34) zu er halten, und die ferner ausgebildet ist, um abhängig von der Zufallszahl eine einer Mehrzahl von verschiedenen determinis tischen Ersetzungsstrategien für die Ersetzungseinrichtung (12) auszuwählen.
11. Datenspeichervorrichtung nach einem der vorhergehenden Ansprüche, die als assoziativer CacheSpeicher ausgeführt ist.
12. Verfahren zum Ersetzen eines Inhalts einer Datenspei chervorrichtung, die eine Mehrzahl von Datenspeichereinheiten aufweist, mit folgenden Schritten : Liefern einer von einem physikalischen Rauschprozeß abhängi gen Zufallszahl ; Auswählen einer Datenspeichereinheit der Mehrzahl von Daten speichereinheiten abhängig von der physikalischen Zufalls zahl ; und Speichern von zu speichernden Daten in der ausgewählten Da tenspeichereinheit.
Description:
Beschreibung Verfahren zum Ersetzen eines Inhalts einer Datenspeicherein- heit Die vorliegende Erfindung bezieht sich auf Datenspeichervor- richtungen und insbesondere auf einen sicheren Betrieb sol- cher Datenspeichervorrichtungen.

Moderne Angriffe auf Datenverarbeitungseinrichtungen, die si- cherheitsrelevante Daten verarbeiten bzw. auf die darin abge- arbeiteten Algorithmen und geheimen Schlüssel erfolgen über sogenannte Leckinformationen. Leckinformationen sind bei- spielsweise der Stromverbrauch der Datenverarbeitungseinrich- tung, eine elektromagnetische Abstrahlung während eines Be- triebs der Datenverarbeitungseinrichtung etc. Aus einer sta- tistischen Analyse der aufgenommenen physikalischen Signale kann auf sicherheitsrelevante Informationen rückgeschlossen werden.

Die bekanntesten Angriffsformen stellen hierbei die einfache Strom-bzw. Leistungsanalyse (Simple Power Analysis = SPA), die differentielle Leistungsanalyse (Differential Power Ana- lysis = DPA) oder Stromanalysen höherer Ordnung (High-Order Differential Power Analysis = HO-DPA) dar.

Zur Verhinderung dieser Angriffe werden verschiedene Verfah- ren eingesetzt, wie z. B. softwaretechnische Verfahren durch ständiges Ändern der Abfolge der Operationen des kryp- tographischen Algorithmus oder durch Einfügen von redundanten Operationen. Hiermit können statistische Auswertungen, bei- spielsweise des Stromprofiles oder der elektromagnetischen Abstrahlung verhindert oder zumindest erheblich erschwert werden.

Ein Nachteil dieser Vorgehensweise ist der aufwendige Ein- griff in die jeweilige Software und die Algorithmen sowie die

in den meisten Fällen resultierende erhebliche Performance- Verringerung. Eine weitere bekannte Abwehrmaßnahme sind zu- sätzliche Stromprofilgeneratoren, die ein zusätzliches sto- chastisches Stromprofil dem ursprünglichen Stromprofil der Schaltung, wie z. B. des Controllers etc., überlagern. Der Nutzen dieser Vorgehensweise ist zweifelhaft, da sie im all- gemeinen keinen ausreichenden Schutz gegenüber einer DPA oder HO-DPA gibt und außerdem zu einer erheblichen Erhöhung des Stromverbrauchs der Datenverarbeitungseinrichtung führen kann.

Eine weitere bekannte Maßnahme stellt das Einstreuen von zu- fälligen Aktionen in der Datenverarbeitungseinheit dar. Hier- bei werden zufällige Befehlssequenzen und Zustände in Zu- standsmaschinen eingestreut, um eine zeitliche Desynchronisa- tion des Befehlsablaufs eines kryptographischen Prozesses zu erzeugen. Damit können das Auffinden von Triggerpunkten in Stromprofilen und eine Stromprofilanalyse mittels Resynchro- nisation im zeitlichen Verlauf erschwert werden. Die Steue- rung, die als"Leerfunktionsgenerator"bezeichnet wird, dient zur Einschleusung von Zufallssequenzen beispielsweise in die Prozessor-Pipeline einer CPU. Eine solche Steuerung hat typi- scherweise eine erhebliche Komplexität, da sichergestellt werden muß, daß durch die Sicherheitsmaßnahmen die Integrität der bearbeiteten Daten und die Integrität des Befehlsstroms bewahrt werden. So dürfen beispielsweise nicht Register-oder Speicherinhalte fälschlich überschrieben werden. Natürlich darf auch die Kausalität von Instruktionen nicht verletzt werden, usw.

Moderne Datenverarbeitungseinrichtungen umfassen eine CPU, einen Speicher, wie z. B. einen festen Speicher und einen flüchtigen Speicher sowie einen Cache-Speicher, der erheblich dazu beiträgt, die Rechengeschwindigkeit einer Datenverarbei- tungseinrichtung durch schnelle Speicherzugriffe zu erhöhen.

Solche leistungsfähigen und schnellen Speichersysteme enthal- ten typischerweise mehrstufige Cache-Speicher bzw. Puffer-

speicher, die Bereiche des Hauptspeichers temporär halten.

Beispiele sind Instruktions-Cache-Speicher, Daten-Cache- Speicher oder TLBs (TLB = Translation Lookasid Buffer), die auch als Adress-Cache-Speicher bezeichnet werden. Solche Da- tenspeichervorrichtungen sind in verschiedenen Ausprägungen auf jedem Prozessor vorhanden. Assoziativ aufgebaute Cache- Speicher bzw. Speicher im allgemeinen halten eine Mehrzahl von Zeilen, d. h. Datenspeichereinheiten, in denen jeweils ein Datenblock aus dem Hauptspeicher abgelegt werden kann. Ein solcher Speicher wird auch als n-Wege assoziativer Cache- Speicher bezeichnet, wobei n die Anzahl der Datenspeicherein- heiten bezeichnet. Eine dieser n-Datenspeichereinheiten wird ausgewählt, um einen neu in den Speicher zu speichernden Da- tenblock abzulegen. Hierbei wird der vorherig abgelegte Da- tenblock verdrängt. Der verdrängte Datenblock muß dann neu vom Hauptspeicher geladen werden, wenn er wieder benötigt wird.

Gewöhnlich wird zur Auswahl der Zeile, in die eine neue Da- teneinheit geschrieben werden soll, ein sogenannter LRU- Algorithmus (LRU = Least Recently Used) benutzt, da mit einer solchen Ersetzungsstrategie typischerweise die beste Cache- Performance erzielt werden kann.

Eine andere, weniger aufwendige bekannte Ersetzungsstrategie ist die sogenannte Random-Replacement-Strategie, bei der die zu überschreibende Datenspeichereinheit zufällig ausgewählt wird. Bei hoher Cache-Assoziativität und großen Speichern kann mit der Random-Replacement-Strategie annähernd die Per- formance einer wesentlich aufwendiger zu implementierenden LRU-Strategie erreicht werden.

Der für die Zufallsersetzungsstrategie (Random-Replacement- Stragie) nötige Zufallszahlengenerator ist ein Pseudozufalls- zahlengenerator auf der Basis einer Schaltung aus rückgekop- pelten linearen Schieberegistern (LFSR ; LFSR = Linear Feed- back Shift Register). Solche Schaltungen aus rückgekoppelten

Schieberegistern werden durch einen sogenannten Keim oder Seed in einen definierten Anfangszustand versetzt, wobei dann, ausgehend von diesem definierten Anfangszustand, eine deterministische Folge von Zufallszahlen erzeugt wird, die jedoch eine annähernd zufällige Verteilung hat. Diese Folge ist jedoch dahingehend deterministisch, daß sie immer, wenn der vorbestimmte Keim in das LFSR eingespeist worden ist, ex- akt wiederholt wird. Wird ein anderer Kern eingespeist, so ergibt sich eine andere, jedoch ebenfalls vollständig wieder- holbare Folge von zufällig erscheinenden Zufallszahlen.

Im Hinblick auf die oben beschriebenen Attacken auf kryp- tographische Datenverarbeitungseinrichtungen haben solche Pseudozufallszahlengeneratoren bzw. hat die auf diesen Pseu- dozufallszahlengeneratoren basierende Zufallsersetzungsstra- tegie den erheblichen Nachteil, daß der Programmablauf immer deterministisch bleibt. Insbesondere würde sich ein Programm nach jedem Neustart der CPU genau gleich verhalten. Dies stellt einen Angriffspunkt für Leistungsanalyseattacken dar.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein si- cheres Konzept zum Speichern von Daten zu schaffen.

Diese Aufgabe wird durch eine Datenspeichervorrichtung nach Patentanspruch 1 oder durch ein Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit einer Datenspeichervor- richtung nach Patentanspruch 11 gelöst.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Vorteile der geringen Implementation der Zufalserset- zungsstrategie für eine Datenspeichervorrichtung, die mit si- cherheitsrelevanten Daten umgeht, ohne Softwareänderung bzw. aufwendige Leerfunktionsgeneratoren beibehalten werden kann, indem statt oder zusätzlich zu dem Pseudozufallszahlengenera- tor ein physikalischer Zufallszahlengenerator, d. h. ein Zu- fallszahlengenerator mit einer Rauschquelle, die auf einen physikalischen Rauschprozeß basiert, eingesetzt wird.

Eine Ersetzungsstrategie auf der Basis eines physikalischen Zufallszahlengenerators hat den erheblichen Vorteil, daß tat- sächlich eine Randomisierung und nicht eine Pseudo- Randomisierung des Leistungsprofiles einer Datenspeichervor- richtung bzw. einer CPU mit einer erfindungsgemäßen Daten- speichervorrichtung erreicht wird.

Ein weiterer Vorteil der vorliegenden Erfindung besteht dar- in, daß keine aufwendigen Software-Eingriffe bzw. kein zu- sätzlicher Stromverbrauch durch die Zufallsersetzungsstrate- gie auf der Basis von tatsächlichen physikalischen Zufalls- zahlen eingeführt wird.

Ein weiterer Vorteil der vorliegenden Erfindung besteht dar- in, daß die Option besteht, den physikalischen Zufallszahlen- generator mit einem Pseudozufallszahlengenerator zu kombinie- ren, der typischerweise schneller Zufallszahlen liefert als ein physikalischer Zufallszahlengenerator. Durch Kombinieren der physikalischen Zufallszahlen und der Pseudozufallszahlen kann bereits eine gute Randomisierung des Stromprofiles er- reicht werden, beispielsweise dadurch, daß immer nach einer bestimmten Anzahl von Pseudozufallszahlen eine tatsächliche Zufallszahl eingestreut wird, oder daß nach wie vor die Pseu- dozufallszahlen verwendet werden, um zu ersetzende Cache- Datenspeichereinheiten auszuwählen, wobei jedoch die für den Pseudozufallszahlengenerator verwendeten rückgekoppelten Schieberegister als Keim bzw. Keime Zufallszahlen erhalten.

Somit wird sich bei einem Neustart einer CPU die Ersetzungs- folge nicht immer gleich verhalten, sondern tatsächlich ab- weichen, obgleich dennoch die schnellen und schaltungstech- nisch einfach zu implementierenden Pseudozufallszahlengenera- toren verwendet werden. Die Pseudozufallszahlengeneratoren werden jedoch nunmehr von dem physikalischen Rauschgenerator in wählbaren Abständen in einen neuen Ausgangszustand (Seed- Zustand) versetzt.

Ein weiterer Vorteil der vorliegenden Erfindung besteht dar- in, daß der Einsatz eines Zufallszahlengenerators für die Ca- che-Ersetzung einen wesentlichen Grad an Flexibilität mit sich bringt, dahingehend, daß eine skalierbare Sicherheit ge- schaffen wird. Für hochsicherheitsrelevante Berechnungen kann auf der Basis von Zufallszahlen eine Cache-Zeilenersetzung durchgeführt werden, während für weniger sicherheitsrelevante Daten, für die jedoch ebenfalls noch ein gewisses Maß an Si- cherheit benötigt wird, mittels einer Modussteuerungseinrich- tung nach bestimmten Kriterien von der Zufallszahlenersetzung auf eine komplett deterministische Ersetzungsstrategie umge- schaltet wird.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich- nungen detailliert erläutert. Es zeigen : Fig. 1 ein Blockschaltbild einer erfindungsgemäßen sicheren Datenspeichervorrichtung ; und Fig. 2 eine Datenspeichervorrichtung gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.

Zur Gewährleistung einer sicheren und dennoch effizienten De- korrelation des Daten-und Befehlsstromes in einem modernen Mikroprozessor wird die in Fig. 1 gezeigte Datenspeichervor- richtung eingesetzt. Dieselbe umfaßt eine Mehrzahl von Daten- speichereinheiten 10a, denen jeweils Adressen 10b zugeordnet sind. Die Auswahl der Datenspeichereinrichtung findet über eine Adresse statt, die von einer Ersetzungseinrichtung 12 ausgewählt wird, wenn eine neue Dateneinheit über eine Date- neinheitenleitung 14 in eine Datenspeichereinheit zu schrei- ben ist. Die Ersetzungseinrichtung wird von einem physikali- schen Zufallszahlengenerator 16 angesteuert, um eine Zufalls- ersetzungsstrategie auf der Basis einer tatsächlichen physi- kalischen Zufallszahl und nicht auf einer Pseudozufallszahl durchzuführen.

Der physikalische Zufallszahlengenerator umfaßt eine Rausch- quelle, die auf einem physikalischen Rauschprozeß basiert.

Beispielhafte Implementierungen bestehen darin, das thermi- sche Rauschen eines Widerstands entweder direkt auszuwerten oder beispielsweise an einen Steuereingang eines spannungsge- steuerten Oszillators anzulegen, um einen größeren"Zufalls- hub"zu erreichen. Alternativ kann das Schrotrauschen einer Diode als physikalischer Rauschprozeß eingesetzt werden. Wei- tere physikalische Rauschprozesse sind bekannt.

Es sei darauf hingewiesen, daß in kryptographischen Prozesso- ren ohnehin Zufallszahlengeneratoren vorhanden sind, die eine Rauschquelle, welche auf einem physikalischen Rauschprozeß basiert, umfassen. So muß eine Datenspeichervorrichtung, die zu einem solchen kryptographischen Prozessorsystem gehört, nicht einmal um einen physikalischen Zufallszahlengenerator erweitert werden, da derselbe ohnehin vorhanden ist. Die ein- zige Modifikation besteht darin, wenn allein auf den physika- lischen Zufallszahlengenerator aufgebaut wird, den physikali- schen Zufallszahlengenerator des Kryptoprozessorsystems mit der Ersetzungseinrichtung 12 zu verbinden.

Fig. 2 zeigt ein bevorzugtes Ausführungsbeispiel einer siche- ren Datenspeichervorrichtung gemäß der vorliegenden Erfin- dung. Neben den Datenspeichereinheiten 10a, der Ersetzungs- einrichtung 12 und dem physikalischen Zufallszahlengenerator 16 ist ferner ein Pseudozufallszahlengenerator 18 vorgesehen, der ebenso wie der physikalische Zufallszahlengenerator 16 mit einer Kombinationseinrichtung 20 verbunden ist. Die Er- setzungseinrichtung 12 wird nunmehr nicht direkt vom physika- lischen Zufallszahlengenerator angesteuert, sondern mittels eines Ansteuersignals 22, das in der Kombinationseinrichtung 20 unter Verwendung des physikalischen Zufallszahlengenera- tors 16 und des Pseudozufallszahlengenerators 18 erzeugt wird. Mit der Ersetzungseinrichtung 12 ist ferner eine Modus- steuerungseinrichtung 22 gekoppelt, auf die später eingegan-

gen wird. Der physikalische Zufallszahlengenerator liefert über eine Leitung 16a Zufallszahlen zur Kombinationseinrich- tung 20. Über eine Leitung 16b, die als RN Valid bezeichnet wird, signalisiert der physikalische Zufallszahlengenerator der Kombinationseinrichtung 20, daß er bereit ist. Die Kombi- nationseinrichtung 20 kann auf den physikalischen Zufallszah- lengenerator 16 über eine Steuerleitung 16c einwirken.

Der Pseudozufallszahlengenerator 18 liefert seine Pseudozu- fallszahlen über eine Leitung 18a der Kombinationseinrichtung 20. Der Pseudozufallszahlengenerator 18 ist ferner über eine PRN Valid-Leitung 18b mit der Kombinationseinrichtung 20 ver- bunden, die wiederum über eine Steuerleitung 18c auf den Pseudozufallszahlengenerator 18 einwirken kann. Auf der Lei- tung 22 liefert die Kombinationseinrichtung 20, wie es ausge- führt worden ist, der Ersetzungseinrichtung 12 eine Folge von Ansteuersignalen, von denen abhängig die Ersetzungseinrich- tung 12 Datenspeichereinheiten auswählt, die durch einen ak- tuellen zu schreibenden Wert überschrieben werden sollen. Ü- ber eine Leitung 24 kann die Ersetzungseinrichtung 12 auf die Kombinationseinrichtung 20 einwirken, um beispielsweise eine oder mehrere Zufallszahlen bzw. Ansteuersignale anzufordern.

Die Modussteuerungseinrichtung 22 greift auf die Kombinati- onseinrichtung 20 und die Ersetzungseinrichtung 12 über eine Modusleitung 26 zu, um abhängig von äußeren Situationen, wie z. B. bestimmten Programmteilen oder bestimmten erforderlichen Sicherheitsstufen von einer randomisierten Ersetzungsstrate- gie auf der Basis des physikalischen Zufallszahlengenerators 16 auf eine deterministische Ersetzungsstrategie entweder al- lein auf der Basis des Pseudozufallszahlengenerators oder un- ter Verwendung alternativer bekannter Ersetzungsstrategien umzuschalten.

Die Ersetzungseinrichtung 12 umfaßt LRU-Informationen 28a für jede Datenspeichereinrichtung, um feststellen zu können, wel- che die am längsten nicht benutzte Datenspeichereinheit ist,

um dann, wenn eine neue Datenmenge zu speichern ist, auf der Basis der LRU-Informationen 28a die am längsten nicht benutz- te Datenspeichereinheit durch die neue Datenspeichereinheit zu überschreiben. Die Ersetzungseinrichtung 12 hält bei einem bevorzugten Ausführungsbeispiel, das für die Umschaltung auf eine deterministische Speicherersetzung ausgebildet ist, die TAG-Informationen 28b für jede Datenspeichereinheit, um einen assoziativen Datenspeicherzugriff zu schaffen. Mittels einer Adressenauswahlleitung 30 wird von der Ersetzungseinrichtung 12 auf die Datenspeichereinheiten zugegriffen, um eine Adres- senauswahl für eine Ersetzung zu treffen. Ferner hat die Mo- dussteuerungseinrichtung 22 eine weitere Ausgangsleitung 32, um nicht nur die Ersetzungsmodusstrategie einzustellen, son- dern auch eine Zeitintervallsteuerung für eine Umschaltung von einer Strategie in eine andere Strategie zu bewirken.

Die Kombinationseinrichtung 20 kann auf verschiedene Arten und Weisen physikalische Zufallszahlen von dem Zufallszahlen- generator 16 mit Pseudozufallszahlen von dem Pseudozufalls- zahlengenerator 18 kombinieren. Allgemein sind Pseudozufalls- zahlengeneratoren auf der Basis von rückgekoppelten Schiebe- registern in der Lage, eine schnelle Sequenz von Pseudozu- fallszahlen zu erzeugen, während physikalische Zufallszahlen- generatoren im allgemeinen langsamer sind, so daß für be- stimmte sehr schnelle Anwendungen der physikalische Zufalls- zahlengenerator, wenn er stromsparend sein soll und nur eine geringe Fläche in Anspruch nehmen darf, zu langsam ist. In so einem Fall kann die Kombinationseinrichtung 20 ausgebildet sein, um immer beispielsweise nach einer bestimmten Anzahl n von Pseudozufallszahlen eine physikalische Zufallszahl zur Adressauswahl direkt zu verwenden.

Bei einem alternativen Ausführungsbeispiel der vorliegenden Erfindung ist die Kombinationseinrichtung 20 ausgebildet, um immer Pseudozufallszahlen vom Pseudozufallszahlengenerator 18 zur Adressauswahl zu verwenden. Die physikalischen Zufalls- zahlen werden hierbei eingesetzt, um den Pseudozufallszahlen-

generator neu zu"seeden". Dies bedeutet, daß der physikali- sche Zufallszahlengenerator immer dann, wenn eine neue physi- kalische Zufallszahl vorliegt, die Leitung 16b aktiviert, um dann diese Zufallszahl der Kombinationseinrichtung 20 zuzu- führen, die diese wiederum über die Leitung 18c dem Zufalls- zahlengenerator 18 zuführt, so daß die rückgekoppelten Schie- beregister in einen durch die Zufallszahl diktierten Anfangs- zustand versetzt werden. Durch ständiges Neu-Initialisieren des Pseudozufallszahlengenerators wird ein randomisiertes Stromprofil erreicht, das ferner bei einem Neustart des Sys- tems nicht immer gleich ist, sondern lediglich für die ersten paar Cache-Ersetzungen bis zum ersten Neu-Initialisieren, wenn eine erste physikalische Zufallszahl vorliegt, gleich ist, dann jedoch zufällig und somit nicht durch die beschrie- benen Angriffe erfaßbar ist.

Die Kombination eines Pseudozufallszahlengenerators mit einem physikalischen Zufallszahlengenerator hat daher die Vorteile, daß Zufallszahlen schnell genug erzeugt werden können, da physikalische Zufallszahlengeneratoren alleine im allgemeinen nicht genügend Zufallsbit mit genügend hoher Taktrate erzeu- gen können, wie sie in schnellen Prozessoren benötigt werden, und daß dennoch eine sichere Dekorrelation des Befehls- und/oder Datenstroms erreicht wird, da der Zufallszahlengene- rator nicht vorhersagbare Zufallszahlen liefert, die zur Mo- difikation der Zufallsfolge des Pseudozufallszahlengenerators benutzt werden.

Darüber hinaus ist die Modussteuerungseinrichtung 22 ausge- bildet, um während des Betriebs ("On the Fly") die Erset- zungseinrichtung 12 und die Kombinationseinrichtung 20 umzu- schalten, und zwar zwischen einem oder mehreren deterministi- schen Ersetzungsstrategien und der nicht-deterministischen Strategie auf der Basis der physikalischen Zufallszahlen. Die deterministische Strategie kann beispielsweise LRU, Round- Robin, Pseudo-Random-Replacement oder eine andere bekannte Ersetzungsstrategie sein.

Die Umschaltung mittels der Modussteuerungseinrichtung 22 ist dahingehend vorteilhaft, daß in nicht-sicherheitsrelevanten Programmen oder Programmteilen, wo Leistungsangriffe unbedeu- tend sind, eine günstigere deterministische Ersetzungsstrage- gie gewählt werden kann. Eine deterministische Strategie ist auch dann wichtig, wenn garantierte und vorhersagbare Lauf- zeiten in zeit-kritischen Programmteilen nötig sind.

Bei einem weiteren Ausführungsbeispiel der Erfindung wird die Ersetzungseinrichtung über die Steuerleitung 32 angesteuert, um immer zwischen verschiedenen deterministischen Ersetzungs- strategien hin-und herzuschalten, und zwar abhängig von ei- ner Zufallszahl des physikalischen Zufallszahlengenerators, die der Modussteuerungseinrichtung über eine Zufallszah- lensteuerleitung 34 zugeführt wird. Es muß daher nicht immer eine Zufallsersetzungsstrategie auf der Basis von echten Zu- fallszahlen eingesetzt werden, sondern es kann auch zwischen verschiedenen deterministischen Ersetzungsstrategien hin-und hergeschaltet werden, wobei diese Hin-und Herschaltung auf der Basis echter physikalischer Zufallszahlen basiert, der- art, daß ebenfalls eine Randomisierung des Verhaltens der Da- tenspeichervorrichtung erreicht wird, um Leistungsanalysen abzuwehren. Hierzu wird in regelmäßigen oder alternativen, nicht vorhersagbaren zeitlichen Intervallen, die von den phy- sikalischen Zufallszahlen abhängen, die deterministische Strategie außer Kraft gesetzt und stattdessen eine zufällige Zeile für die Ersetzung ausgewählt, oder es wird eine deter- ministische Strategie durch eine andere deterministische Strategie ersetzt. Die Korrelation des Befehlsstroms wird al- so zum einen durch die zufällige Ersetzung, und zum anderen durch das zufällige Intervall gewährleistet. Immer werden die physikalischen Zufallszahlen des physikalischen Zufallszah- lengenerators 16 verwendet, wodurch die Nicht- Vorhersagbarkeit des Verhaltens der Datenspeichervorrichtung sichergestellt wird.

Bei einem weiteren Ausführungsbeispiel der vorliegenden Er- findung ist die Modussteuerungseinrichtung 22 ferner ausge- bildet, um das Umschaltintervall bzw. das Einstreu-Intervall, gemäß dem zufällig ausgewählte Zeilen ersetzt werden, einzu- stellen. Auf diese Weise kann dynamisch zur Laufzeit das Si- cherheitsniveau eingestellt werden, indem die Intervallänge, mit der zufällig ausgewählte Zeilen"eingestreut"werden, größer oder kleiner gemacht werden.

Das erfindungsgemäße Konzept ist, wie es ausgeführt worden ist, dahingehend vorteilhaft, daß eine zeitliche Dekorrelati- on der Cache-Ersetzungsstrategie ohne die Verwendung von Leerfunktionsgeneratoren in einer CPU-Pipelinesteuerung er- reicht wird. Das erfindungsgemäße Konzept zeichnet sich durch einen geringen Implementierungsaufwand und durch eine ver- nachlässigbare Leistungsverringerung aus. Insbesondere in ei- nem assoziativen Cache-Speicher mit dynamischer Umschaltung einer deterministischen Ersetzungsstrategie, wie z. B. Round- Robin, zu einer nicht-deterministischen Strategie unter Ver- wendung von physikalischen Zufallszahlen und gegebenenfalls zusätzlicher Verwendung von Pseudozufallszahlen wird eine si- chere und effiziente Cache-Ersetzungsstrategie erreicht.

Bezugszeichenliste 10a Datenspeichereinheit 10b Adresse für die Datenspeichereinheit 12 Ersetzungseinrichtung 14 Leitung für neue Daten 16 Physikalischer Zufallszahlengenerator 16a Zufallszahlenleitung 16b RN-Valid-Leitung 16c Steuerleitung 18 Pseudozufallszahlengenerator 18a Pseudozufallszahlenleitung 18b PRN-Valid-Leitung 18c Steuerleitung 20 Kombinationseinrichtung 22 Modussteuerungseinrichtung 23 Leitung für Ansteuersignale 24 Steuerleitung 26 Ersetzungsstrategie-Auswahlleitung 28a LRU-Informationen 28b PEG-Informationen für einen assoziativen Zugriff 30 Adressauswahlleitung für eine Ersetzung 32 Intervallsteuerungsleitung 34 Zufallszahlen-Eingangsleitung