-
Die
vorliegende Erfindung bezieht sich auf eine Datenverarbeitungsvorrichtung
mit einem Speicher und insbesondere auf die Verschleierung des durch
den Speicher hervorgerufenen Stromverbrauchs.
-
Datenverarbeitungsvorrichtungen
und speziell Chipkarten-Controller
werden häufig
für sicherheitskritische
Anwendungen eingesetzt. Beispiele dafür sind Chipkarten, die als
Zahlkarten oder als Zugangskarten für ein Mobilfunknetz eingesetzt
werden. Damit die auf einer Chipkarten enthaltenen vertraulichen
Daten bzw. die von einer Chipkarten ausgeführte Funktionalität vor Mißbrauch
geschützt
ist sind Chipkarten-Controller
mit Sicherheitsvorkehrungen versehen.
-
Ein
bekanntes Angriffsszenario auf integrierte Schaltungen und speziell
Chipkarten-Controller ist die Stromanalyse. Hierbei macht sich ein
Angreifer zunutze, daß jeder
von einem Chipkarten-Controller ausgeführte Arbeitsschritt eine charakteristische Stromaufnahme
hervorruft. Kennt der Angreifer die Architektur des Chipkarten-Controllers
und zeichnet die Stromaufnahme des Chipkarten-Controllers auf, so
erhält
er ein Stromaufnahmeprofil. Die Auswertung des Stromaufnahmeprofil
ermöglicht
Rückschlüsse auf
die durchgeführten
Arbeitsschritte des Chipkarten-Controllers. Bekannte Formen solcher Stromanalysen
sind die Differential-Power-Analysis (DPA) oder die Simple-Power-Analysis
(SPA).
-
Besonders
charakteristische Stromaufnahmen ergeben sich bei Chipkarten-Controller,
die einen Prozessor und einen Speicher aufweisen, bei Zugriffen
des Prozessors auf den Speicher. Insbesondere ein Ausbleiben solcher
Zugriffe des Prozessors auf den Speicher ist für einen Angreifer interessant,
da dies ein Hinweis auf einen direkten Transfer von Daten von dem
Prozessor zu Peripheriegeräten (beispielsweise
Krypto-Coprozessoren)
oder auf eine Durchführung
anderer Sicherheitsmaßnahmen
ist.
-
Ein
bekanntes Mittel zur Bekämpfung
von auf einer Stromanalyse basierenden Angriffen ist die Stromverschleierung.
Bei der Stromverschleierung wird die Stromaufnahme der integrierten
Schaltung mit einer zusätzlichen
künstlich
hervorgerufenen Stromaufnahme überlagert.
Um einen wirksamen Schutz zu bieten, muß die durch die Stromverschleierung
erzeugte zusätzliche
Stromaufnahme möglichst
genau die Charakteristik einer Stromaufnahme aufweisen, die von
den in der integrierten Schaltung vorhandenen realen Stromverbrauchern
verursachten Stromaufnahme entspricht.
-
Das
charakteristische Stromaufnahmeprofil einer integrierten Schaltung
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 zwischen dem
Prozessor und dem Speicher hervorgerufenen Kapazitäten, die
bei einer Aktivierung des Speicherbusses umgeladen werden müssen. Um
diese Stromprofile möglichst
genau nachzubilden, werden üblicherweise
zusätzliche
Kapazitäten
und Inverter in die integrierte Schaltung integriert. Zusätzliche
Ströme
zur Stromverschleierung werden dann durch das Aufladen der Kapazitäten bzw.
durch die Erzeugung von Querströmen
durch die Inverter, indem die beiden P- und N-Kanal-Transistoren gezielt mit zeitlichem
Versatz angesteuert werden, erzeugt.
-
Solche
dem Stand der Technik entsprechenden Verfahren zur Stromverschleierung
haben zwei wesentliche Nachteile. Zum einen erfordern die zusätzlichen
Kapazitäten
und Inverter einen zusätzlichen
Hardwareaufwand, da diese Schaltungsteile ein Add-On zur eigentlichen
Schaltung darstellen, und zum anderen stellt die durch die Kapazitäten und
die Inverter erzeugte Stromaufnahme eine atypische Stromaufnahme
gegenüber
der tatsächlichen
charakteristischen Stromaufnahme dar. Die atypische Stromaufnahme
wird bei der Auswertung eines Stromprofils von einem Angreifer erkannt
und bietet deshalb keinen ausreichenden Schutz vor Angriffen mittels
einer Stromanalyse.
-
US
2002/0178371 A1 beschreibt eine Datenverarbeitungseinrichtung mit
einer Speichereinrichtung in der eine Verarbeitungsreihenfolge in
einem IC-Kartenchipverändert
wird, um eine Analyse des Leistungsverbrauchs des IC-Kartenchips
zu erschweren.
-
EP 0 875 833 A1 beschreibt
eine integrierte Schaltung mit einem Prozessormodul und einem oder
mehreren anderen Schaltungsmodulen. Es wird eine Methode beschrieben,
die es ermöglicht,
den Leistungsverbrauch der integrierten Schaltung basierend auf
einer Ausführung
eines Codeblockes zu ermitteln.
-
EP 1 107 502 A2 befasst
sich mit einem System bestehend aus einem Prozessor, einem Speicher
und einer Speicherkomponente. Um einen DPR-Angriff auf das System
zu verhindern, wird der Leistungsverbrauch des Systems durch eine
zusätzliche
Schaltung konstant gehalten.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung oder
ein Verfahren zum Erzeugen eines zusätzlichen Stromverbrauchs in
einer Datenverarbeitungsvorrichtung, die einen Speicher enthält, sowie
ein Computer-Programm zu schaffen, die einen sicheren Betrieb der
Datenverarbeitungsvorrichtung ermöglichen.
-
Diese
Aufgabe wird durch eine Vorrichtung oder ein Verfahren zum Erzeugen
eines zusätzlichen Stromverbrauchs
gemäß Anspruch
1 bzw. 9 oder ein Computer-Programm gemäß Anspruch 10 gelöst.
-
Die
vorliegende Erfindung schafft eine Vorrichtung zum Erzeugen eines
zusätzlichen
Stromverbrauchs in einer Datenverarbeitungsvorrichtung, die einen
Prozessor und einen Speicher aufweist, wobei die Vorrichtung zum
Erzeugen eines zusätzlichen Stromverbrauchs
so ausgebildet ist, daß der
zusätzliche
Stromverbrauch einem Nutzstromverbrauch der Datenverarbeitungsvorrichtung
ohne die Vorrichtung zum Erzeugen eines zusätzlichen Stromverbrauchs überlagert
ist, mit folgenden Merkmalen:
einer Einrichtung zum Erfassen,
ob ein Zugriff des Prozessors auf den Speicher stattfindet oder
nicht stattfindet; und
einer Einrichtung zum Zugreifen auf
den Speicher, dann, wenn die Einrichtung zum Erfassen detektiert, daß kein Zugriff
des Prozessors auf den Speicher stattfindet,
so daß ein Stromverbrauch
aufgrund des Zugriffs, der durch die Einrichtung zum Zugreifen erzeugbar ist,
dem Nutzstromverbrauch überlagert
ist.
-
Der
Erfindung liegt die Erkenntnis zugrunde, daß sich in der Hardware ohnehin
vorhandene Speicher zur Stromverschleierung nutzen lassen.
-
Entsprechend
der vorliegenden Erfindung werden während einer Zeitspanne in der
kein Speicher angesprochen ist, zusätzlich Dummy-Zugriffe auf einen
Speicher erzeugt. Die Dummy-Zugriffe dienen lediglich dazu, eine
zusätzliche
Stromaufnahme zu schaffen. Diese zusätzliche Stromaufnahme weist das
gleiche charakteristische Stromaufnahmeprofil auf, wie eine Stromaufnahme,
die durch Nutzzugriffe auf den Speicher hervorgerufen wird. Einem
Angreifer ist es somit nicht mehr möglich Zeitspannen zu erkennen,
während
derer keine Nutzzugriffe auf den Speicher stattfinden.
-
In
Datenverarbeitungsvorrichtungen, die mehrere Speicher aufweisen,
können
die Zugriffe zur Stromverschleierung sowohl auf den zuletzt von
der Datenverarbeitungsvorrichtung angesprochenen Speicher erfolgen
als auch auf nicht verwendete Speicher, die erst aktiviert werden
müssen.
Dies bietet einen zusätzlichen
Schutz gegen Stromanalysen und die damit möglichen Rückschlüsse auf die Arbeitsweisen der
Datenverarbeitungsvorrichtung.
-
Die
Vorteile der Stromverschleierung durch das zufällige Einfügen von Dummy-Zugriffen auf
den Speicher während
der Zeitabschnitte, in denen der Speicher nicht angesprochen ist,
liegen zum einen darin, daß die
zur Stromverschleierung verwendeten Speicher bereits vorhanden sind
und somit nur ein geringer zusätzlicher
Hardwareaufwand entsteht, und zum anderen darin, daß der zur
Stromverschleierung erzeugte zusätzliche
Stromverbrauch dem tatsächlichen
Stromverbrauch entspricht, da die zur Stromverschleierung verwendeten
Stromverbraucher den tatsächlichen
Verbrauchern, die in der integrierten Schaltung vorhanden sind,
entsprechen. Damit ist kein aufwendiges Adaptionsverfahren der zur Stromverschleierung
verwendeten Stromverbraucher erforderlich.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockschaltbild einer Vorrichtung zum Erzeugen eines zusätzlichen
Stromverbrauchs in einer Datenverarbeitungsvorrichtung;
-
2 ein
Blockschaltbild einer Vorrichtung zum Erzeugen eines zusätzlichen
Stromverbrauchs in einer Datenverarbeitungsvorrichtung gemäß einem
weiteren bevorzugten Ausführungsbeispiel;
und
-
3 ein
Diagramm des Stromaufnahmeprofils eines Speichers.
-
1 zeigt
ein Blockdiagramm einer Vorrichtung 100 zum Erzeugen eines
zusätzlichen Stromverbrauchs
in einer Datenverarbeitungsvorrichtung 102. Die Datenverarbeitungsvorrichtung 102 weist
einen Prozessor 110 und einen Speicher 112 auf.
Der Prozessor 110 ist mit dem Speicher 112 über einen
Speicherbus 114 verbunden. Die Vorrichtung 100 zum
Erzeugen eines zusätzlichen
Stromverbrauchs weist eine Einrichtung 120 zum Erfassen,
ob ein Zugriff des Prozessors 110 auf den Speicher 112 stattfindet,
und eine Einrichtung 122 zum Zugreifen auf den Speicher 112 auf.
Die Einrichtungen 120 und 122 sind mit dem Speicherbus 114 gekoppelt.
Die Einrichtung 122 zum Zugreifen auf den Speicher 112 ist
mittels einem Detektionssignal 124 mit der Einrichtung 120 zum
Erfassen eines Speicherzugriffs gekoppelt.
-
Der
Speicher 112 ist mit einer Stromquelle 130 über eine
Stromleitung 132 verbunden. Der Prozessor 110 und
die Vorrichtung 100 zum Erzeugen eines zusätzlichen
Stromverbrauchs sind ebenfalls mit der Stromquelle 130 oder
mit einer anderen Stromquelle verbunden. Dies Verbindungen sind
in 1 nicht gezeigt.
-
Der
Prozessor 110 greift über
den Speicherbus 114 auf den Speicher 112 zu und
kann Daten in dem Speicher 112 ablegen bzw. auslesen. Der
Speicher 112 wird dabei über die Stromleitung 132 von der
Stromquelle 130 mit Strom versorgt. Die Stromaufnahme des
Speichers 112 ist im Ruhezustand geringer, als wenn ein
Zugriff des Prozessors 110 auf den Speicher 112 stattfindet.
Ein Angreifer, der den Stromfluß auf
der Stromleitung 132 auswertet, erhält über das gewonnene Stromprofil
Informationen über Zugriffe
auf den Speicher 112. Insbesondere erkennt der Angreifer
Zeitabschnitte, in denen keine Zugriffe des Prozessors 110 auf
den Speicher 112 stattfinden. Solche Zugriffe werden im
folgendem als Nutzzugriffe bezeichnet.
-
Die
Vorrichtung 100 zum Erzeugen eines zusätzlichen Stromverbrauchs erzeugt
zusätzlichen
Zugriffe auf den Speicher, im folgenden als Dummy-Zugriffe bezeichnet,
um auf diese Weise eine zusätzliche
Stromaufnahme des Speichers 112 über die Stromleitung 132 zu
erzeugen. Damit ist es einem Angreifer nicht mehr möglich, anhand
der Auswertung des Stromprofils festzustellen, ob Nutzzugriffe auf
den Speicher 112 stattfinden. Zeiten in denen keine Nutzzugriffe
stattfinden werden durch die Dummy-Zugriffe verschleiert, da durch
einen Dummy-Zugriff
in dem Speicher eine Stromaufnahme hervorgerufen wird, die sich
nicht von einer durch einen Nutzzugriff hervorgerufenen Stromaufnahme
im Speicher unterscheidet.
-
Die
Einrichtung 120 zum Erfassen eines Speicherzugriffs ist
mit dem Speicherbus 114 gekoppelt und ist ausgebildet,
um durch Auswertung der Signale auf dem Speicherbus 114 festzustellen,
ob ein Zugriff auf den Speicher 112 stattfindet oder nicht stattfindet.
Wird kein Zugriff festgestellt, so stellt die Einrichtung 120 zum
Erfassen eines Speicherzugriffs das Detektionssignal 124 bereit.
Ansprechend auf das Detektions signal 124 greift die Einrichtung 122 zum
Zugreifen auf den Speicher auf den Speicherbus 114 zu und
erzeugt einen Dummy-Zugriff
auf den Speicher 112. Das Detektionssignal 124 kann
sofort oder alternativ verzögert
um eine festgelegte Zeitspanne bereitgestellt werden. Vorzugsweise
bewirkt der Dummy-Zugriff
keine Veränderung
der in dem Speicher 112 gespeicherten Informationen.
-
2 zeigt
ein Blockdiagramm eines weiteren bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung. Die Vorrichtung 200 zum Erzeugen
eines zusätzlichen
Stromverbrauchs ist in dem Prozessor 210 angeordnet. Der
Prozessor 210 ist wie in dem in 1 gezeigten
Ausführungsbeispiel
mit einem Speicher 212 über
einen Speicherbus 214 verbunden und kann über den
Speicherbus 214 auf den Speicher 212 zugreifen.
-
Die
Vorrichtung 200 zum Erzeugen eines zusätzlichen Stromverbrauchs weist
eine Einrichtung 220 zum Erfassen ob ein Zugriff auf den
Speicher stattfindet und eine Einrichtung 222 zum Zugreifen auf
den Speicher auf. Die Einrichtung 222 zum Zugreifen verwendet
eine Speicherverwaltungseinrichtung 224 (z.B. eine Memory
Management Unit), die typischerweise in jedem Prozessor 210 vorhanden
ist und Zugriffe auf den Speicher verwaltet und durchführt. Die
Speicherverwaltungseinrichtung 224 ist mit dem Speicherbus 214 verbunden.
Zusätzlich
weist die Einrichtung 222 zum Zugreifen eine Steuereinrichtung 226 auf,
die mit der Speicherverwaltungseinrichtung 224 gekoppelt
ist sowie mit der Einrichtung 220 zum Erfassen über ein
Detektionssignal 228 verbunden ist.
-
Die
Einrichtung 220 zum Erfassen ob ein Zugriff auf den Speicher
stattfindet ist mit dem Speicherbus 214 gekoppelt und ist
entsprechend zu dem Ausführungsbeispiel
in 1 ausgebildet, um festzustellen ob ein Zugriff
auf den Speicher 212 stattfindet. Wird kein Zugriff festgestellt,
so stellt die Einrichtung 220 das Detektionssignal 228 bereit.
Ansprechend auf das Detektionssignal 228 versetzt die Steuerein richtung 226 die
Speicherverwaltungseinrichtung 224 in einen Dummy-Modus.
In diesem Dummy-Modus führt
die Speicherverwaltungseinrichtung 224 einen Dummy-Zugriff
auf den Speicher 212 aus. Ein Ausbleiben des Detektionssignals 228 versetzt
die Speicherverwaltungseinrichtung 224 zurück in einen
normalen Betriebsmodus.
-
Der
Speicher 212 wird von der Stromquelle 230 über die
Stromleitung 232 mit Strom versorgt. Entsprechend zu 1 dient
die Einrichtung 200 zum Erzeugen eines zusätzlichen
Stromverbrauchs zum Verschleiern der Stromaufnahme des Speichers 212 über die
Stromleitung 232.
-
3 zeigt
ein Diagramm zur Veranschaulichung der Stromaufnahme eines Speichers,
wie er in den 1 und 2 gezeigt
ist, in idealisierter Form. Auf der vertikalen Achse 300 des
Diagramms ist die Stromaufnahme des Speichers aufgetragen und auf der
horizontalen Achse 302 der Zeitverlauf. Auf der Zeitachse 302 sind
drei charakteristische Zeitabschnitte 310, 312 und 314 gezeigt.
Während
der Zeitabschnitte 310 und 314 finden Nutzzugriffe
des Prozessors auf den Speicher statt. Während des Zeitabschnitts 312 finden
keine Nutzzugriffe statt.
-
Eine
Kennlinie 320 veranschaulicht ein charakteristisches Stromaufnahmeprofil
des Speichers, das durch Nutzzugriffe bzw. durch ein Ausbleiben von
Nutzzugriffen hervorgerufen wird. Anhand der Kennlinie 320 ist
zu sehen, daß die
Stromaufnahme des Speichers während
des Zeitabschnitts 312, in dem keine Nutzzugriffe stattfinden,
deutlich niedriger ist als in den Zeitabschnitten 310 und 314,
während denen
Nutzzugriffe stattfinden.
-
Durch
die Vorrichtung zum Erzeugen eines zusätzlichen Stromverbrauchs werden
entsprechend der vorliegenden Erfindung während des Zeitabschnittes 312,
in dem keine Nutzzugriffe stattfinden, zusätzliche Dummy-Zugriffe auf
den Speicher erzeugt. Die von der Vorrichtung zum Erzeugen eines zusätzlichen
Stromverbrauchs hervorgerufene zusätzliche Stromaufnahme des Speichers
ist in einer Kennlinie 322 veranschaulicht. Es ist zu sehen,
daß die
Stromaufnahme des Speichers während
dem Zeitabschnitt 312, in dem Dummy-Zugriffe stattfinden,
nach kurzer Zeit in etwa das gleiche Niveau erreicht, wie die Kennlinie 320 zu
den Zeitabschnitten 310 und 314, in denen Nutzzugriffe
stattfinden.
-
Eine
Kennlinie 324 zeigt eine Überlagerung der Kennlinie 320 der
Nutzstromaufnahme mit der Kennlinie 322 der zusätzlichen
Stromaufnahme. Die überlagerte
Kennlinie 324 entspricht dem Stromprofil, das ein Angreifer
in einer Datenverarbeitungsvorrichtung, die mit der Vorrichtung
zum Erzeugen eines zusätzlichen
Stromverbrauchs ausgestattet ist, mißt. Im Gegensatz zu der Kennlinie 320 der
Nutzstromaufnahme weist die Kennlinie 324 der überlagerten Stromaufnahme
während
des Zeitabschnitts 312 in dem keine Nutzzugriffe stattfinden,
keinen Einbruch auf. Dem Angreifer ist es nicht mehr möglich, Zeitabschnitte
zu identifizieren, in denen keine Nutzzugriffe auf den Speicher
stattfinden.
-
Gemäß einem
weiteren Ausführungsbeispiel ist
die Einrichtung zum Zugreifen auf den Speicher ausgebildet, um Daten,
auf die zugegriffen wurde, um einen zusätzlichen Stromverbrauch zu
erzeugen, zu verwerfen. Dummy-Zugriffe können als Lese-Zugriffe auf den
Speicher realisiert werden. Um in der Datenverarbeitungsvorrichtung
keine Datenverfälschung zu
erzeugen, werden die gelesenen Daten verworfen.
-
Gemäß einem
weiteren bevorzugten Ausführungsbeispiel
weist die Datenvorrichtung mehrere Speichermodule auf. Die Einrichtung
zum Zugreifen ist dabei ausgebildet, um festzustellen, auf welches Speichermodul
zuletzt durch den Prozessor zugegriffen wurde und kann diese Information
speichern. Ausgehend von dieser Information wird der nächste Dummy-Zugriff
auf dasselbe Speichermodul durchgeführt. Alternativ kann auf ein anderes
Speichermodul zugegriffen werden oder es wird auf dasselbe Speichermodul
zugegriffen und zufallsgesteuert zusätzlich auf andere Speichermodule.
-
Gemäß einem
weitern Ausführungsbeispiel ist
die Datenverarbeitungsvorrichtung ein Chipkarten-Controller.
-
Alternativ
zu den gezeigten Ausführungsbeispielen
sind auch andere Anordnungen der gezeigten Einrichtungen möglich. So
kann die in 2 gezeigte Einrichtung 220 zum
Erfassen ob ein Zugriff stattfindet statt mit dem Speicherbus 214,
direkt mit der Einrichtung 222 zum Zugreifen gekoppelt
sein, oder auch Teil der Speicherverwaltungseinrichtung 224 sein.
Zusätzlich
zu einem Prozessor kann eine Datenverarbeitungsvorrichtung auch
weitere Einrichtungen aufweisen, die auf den Prozessor zugreifen und
deren Zugriffe von der Einrichtung 220 zum Erfassen festgestellt
werden.
-
Abhängig von
den Gegebenheiten kann das erfindungsgemäße Verfahren zum Erzeugen eines zusätzlichen
Stromverbrauchs 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 andern
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 Erzeugen eines zusätzlichen
Stromverbrauchs
- 102
- Datenverarbeitungsvorrichtung
- 110
- Prozessor
- 112
- Speicher
- 114
- Speicherbus
- 120
- Einrichtung
zum Erfassen, ob ein Zugriff des Prozessors auf den Speicher stattfindet
- 122
- Einrichtung
zum Zugreifen auf den Speicher
- 124
- Detektionssignal
- 130
- Stromquelle
- 132
- Stromleitung
- 200
- Vorrichtung
zum Erzeugen eines zusätzlichen
Stromverbrauchs
- 210
- Prozessor
- 212
- Speicher
- 214
- Speicherbus
- 220
- Einrichtung
zum Erfassen, ob ein Zugriff des Prozessors auf den Speicher stattfindet
- 222
- Einrichtung
zum Zugreifen auf den Speicher
- 224
- Speicherzugriffsverwaltungseinrichtung
- 226
- Steuereinrichtung
- 228
- Detektionssignal
- 230
- Stromquelle
- 232
- Stromleitung
- 300
- Stromaufnahmeachse
- 302
- Zeitachse
- 310
- erster
Zeitabschnitt Nutzzugriffe
- 312
- zweiter
Zeitabschnitt Dummy-Zugriffe
- 314
- dritter
Zeitabschnitt Nutzzugriffe
- 320
- Kennlinie
Nutzstromaufnahme
- 322
- Kennlinie
zusätzliche
Stromaufnahme
- 324
- Kennlinie überlagerte
Kennlinie