DE19936938A1 - Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse - Google Patents
Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen StromverbrauchanalyseInfo
- Publication number
- DE19936938A1 DE19936938A1 DE19936938A DE19936938A DE19936938A1 DE 19936938 A1 DE19936938 A1 DE 19936938A1 DE 19936938 A DE19936938 A DE 19936938A DE 19936938 A DE19936938 A DE 19936938A DE 19936938 A1 DE19936938 A1 DE 19936938A1
- Authority
- DE
- Germany
- Prior art keywords
- integrated circuit
- data processing
- processing device
- operations
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Recording Measured Values (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Crushing And Grinding (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Die vorliegende Erfindung betrifft eine Datenverarbeitungseinrichtung (100) sowie ein Verfahren zum Betreiben einer Datenverarbeitungseinrichtung, insbesondere einer Chipkarte, mit einer integrierten Schaltung (10), welche in Abhängigkeit von einem ersten Taktsignal Nutzrechenoperationen, insbesodere kryptographische Operationen, ausführt. Hierbei wird aus dem ersten Taktsignal zufallsgesteuert ein zweites Taktsignal abgeleitet und statt des ersten Taktsignals der integrierten Schaltung (10) zugeführt, wobei Abstände zwischen Taktflanken des zweiten Taktsignals zufällig über die Zeit variieren. Dazu ist eine mit der integrierten Schaltung (10) verbundene Taktsteuereinheit (14) sowie ein mit der Taktsteuereinheit (14) verbundener Zufallsgenerator (12) vorgesehen, wobei die Taktsteuereinheit (14) derart ausgebildet ist, dass sie in Abhängigkeit vom Zufallsgenerator (12) un dem ersten Taktsignal (18) ein zweites Taktsignal (20) erzeugt, welches zufällig variiert und die integrierte Schaltung (10) ansteuert.
Description
Die Erfindung betrifft ein Verfahren zum Betreiben einer Datenverarbei
tungseinrichtung, insbesondere einer Chipkarte, mit einer integrierten
Schaltung, welche in Abhängigkeit von einem ersten Taktsignal Nutzre
chenoperationen, insbesondere kryptographische Operationen, ausführt,
gemäß dem Oberbegriff des Anspruchs 1. Die Erfindung betrifft ferner
eine Datenverarbeitungseinrichtung, insbesondere Chipkarte, insbesonde
re zum Ausführen des Verfahrens, mit einer integrierten Schaltung, wel
che in Abhängigkeit von einem ersten Taktsignal Nutzrechenoperationen,
insbesondere kryptographische Operationen, ausführt, gemäß dem Ober
begriff des Anspruchs 6.
In vielen Datenverarbeitungsgeräten mit integrierter Schaltung dienen bei
spielsweise kryptographische Operationen zum Schutz des Betriebes die
ser Geräte bzw. zum Schutz von in dem Gerät transportierten Daten. Die
hierfür notwendigen Rechenoperationen werden dabei sowohl von Stan
dard-Rechenwerken als auch von dedizierten Crypto-Rechenwerken
durchgeführt. Ein typisches Beispiel für letzteres sind Chipkarten bzw. IC-
Karten. Bei in diesem Zusammenhang verwendeten Daten bzw. Zwi
schenergebnissen handelt es sich üblicherweise um sicherheitsrelevante
Informationen, wie beispielsweise kryptographische Schlüssel oder Ope
randen.
Bei von der integrierten Schaltung durchgeführten Rechenoperationen,
beispielsweise zur Berechnung von kryptographischen Algorithmen, wer
den logische Verknüpfungen zwischen Operanden bzw. Zwischenergeb
nissen durchgeführt. In Abhängigkeit von der verwendeten Technologie
führen diese Operationen, insbesondere das Laden von leeren oder zuvor
gelöschten Speicherbereichen bzw. Register mit Daten, zu einem erhöh
ten Stromverbrauch der Datenverarbeitungsgeräte. Bei komplementärer
Logik, wie beispielsweise der CMOS-Technik, tritt ein erhöhter Stromver
brauch dann auf, wenn der Wert einer Bit-Speicherzelle geändert wird,
d. h. sein Wert sich von "0" auf "1" bzw. von "1" auf "0" ändert. Der erhöhte
Verbrauch hängt dabei von der Anzahl der im Speicher bzw. Register ge
änderten Bitstellen ab. Mit anderen Worten lässt das Laden eines zuvor
gelöschten Registers einen Stromverbrauch proportional zum Hamming
gewicht des in das leere Register geschriebenen Operanden (= Anzahl der
Bits mit dem Wert "1") ansteigen. Durch eine entsprechende Analyse die
ser Stromänderung könnte es möglich sein, Informationen über die be
rechneten Operationen zu extrahieren, so dass eine erfolgreiche Krypto
analyse von geheimen Operanden, wie beispielsweise kryptographischen
Schlüsseln, möglich ist. Mittels Durchführung mehrerer Strommessungen
am Datenverarbeitungsgerät könnten beispielsweise bei sehr kleinen Si
gnaländerungen eine hinreichende Extraktion der Informationen ermög
licht werden. Andererseits könnten mehrere Strommessungen eine ggf.
erforderliche Differenzbildung ermöglichen. Diese Art der Kryptoanalyse
wird auch als "Differential Power Analysis" bezeichnet, mittels derer ein
Außenstehender durch reine Beobachtung von Änderungen des Strom
verbrauches des Datenverarbeitungsgerätes eine ggf. unberechtigte
Kryptoanalyse der kryptographischen Operationen, Algorithmen, Operan
den bzw. Daten erfolgreich ausführen kann. Die "Differential Power Analy
sis" ermöglicht somit über eine reine Funktionalität hinaus zusätzliche in
terne Informationen einer integrierten Schaltung gewinnen zu können.
Aus der US 4 813 024 ist eine integrierte Schaltung zum Speichern und
Verarbeiten geheimer Daten bekannt, wobei ein Speicher eine Simulati
onsspeicherzelle aufweist, welche einen identischen Stromverbrauch auf
weist wie eine Speicherzelle, die bisher nicht programmiert wurde. Hier
durch werden Schwankungen in Strom und Spannung größtenteils aber
nicht ganz eliminiert. Dieses System ist auch aufwendig und kosteninten
siv.
Bei einer aus der EP 0 482 975 B1 bekannten Speicherkarte mit Mi
kroschaltung und wenigstens einem Speicher, die an einem Datenverar
beitungsorgan angeschlossen ist, wobei das Datenverarbeitungsorgan
von einem Datensignal von außerhalb der Karte gesteuert wird und als
Antwort auf dieses Datensignal zu einem Zeitpunkt ein Befehlsendesignal
abgibt, welches um eine vorbestimmte Dauer (T) bzgl. des Empfangs des
Datensignals verzögert ist, wird zum Erhöhen des Schutzes die Zeitdauer
(T) auf Zufallsbasis zeitlich variabel gewählt. Auf diese Weise unterliegt
eine Zeitspanne zwischen einem Empfang eines externen Signals und
einer Anwort einem Zufallsgenerator und ist nicht zur Auswertung zum
Erhalten von geheimen Daten geeignet. Eine Kryptoanalyse auf der Basis
einer Stromänderung beim Beschreiben des Speichers bzw. bei Durchfüh
ren von Rechenoperationen kann dieses System jedoch nicht verhindern.
Aus der EP 0 507 669 A1 ist es bei einer Karte für elektronische Zahlung,
einer sogen. Paycard, bekannt, jede Bezahleinheit nicht mit einem einzi
gen Bit sondern mit mehreren Bits zu besetzen, wobei die zusätzlichen
Bits in einer Zufallsreihe die Bezahleinheiten durchnumerieren und von
einer Zufallszahlenreihe abgeleitet sind. Diese Zufallszahlenreihe steht
Verkäufern, welche eine Paycard akzeptieren, zur Verfügung. Auch dieses
System kann jedoch eine Kryptoanalyse auf der Basis einer Stromände
rung beim Beschreiben des Speichers bzw. bei Durchführen von Re
chenoperationen nicht verhindern.
Die FR 2 693 014 B1 beschreibt eine Vorrichtung zum Auswerten von
Chipkarten, wie beispielsweise eine öffentliche Telefonzelle, welche mit
tels einer Kapazitätsmessung feststellt, ob an eine eingeschobene Chip
karte externe Geräte angeschlossen sind.
Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren
und eine verbesserte Datenverarbeitungseinrichtung der obengenannten
Art zur Verfügung zu stellen, welche die obengenannten Nachteile besei
tigen und einen wirksamen Schutz gegen eine "Differential Power Analy
sis" zur Verfügung stellen.
Diese Aufgabe wird durch ein Verfahren der o. g. Art mit den in Anspruch 1
gekennzeichneten Merkmalen und durch eine Datenverarbeitungsein
richtung der o. g. Art mit den in Anspruch 6 gekennzeichneten Merkmalen
gelöst.
Dazu ist es bei dem Verfahren der o. g. Art erfindungsgemäß vorgesehen,
dass aus dem ersten Taktsignal zufallsgesteuert ein zweites Taktsignal
abgeleitet und statt des ersten Taktsignals der integrierten Schaltung zu
geführt wird, wobei Abstände zwischen Taktflanken des zweiten Taktsi
gnals zufällig über die Zeit variieren.
Dies hat den Vorteil, dass ein zeitlicher Ablauf von Nutzrechenoperationen
unabhängig von in der Datenverarbeitungseinrichtung bearbeiteten Daten
verzerrt wird, so dass ein bzgl. der Nutzrechenoperationen charakteristi
scher Anteil in einem Stromverbrauch der integrierten Schaltung ver
schleiert wird und mittels einer "Differential Power Analysis" nicht mehr
analysierbar ist.
Vorzugsweise Weitergestaltungen des Verfahrens sind in den Ansprüchen
2 bis 5 beschrieben.
Zur weiteren Verschleierung eines charakteristischen Anteiles im Strom
verbrauch der integrierten Schaltung von Berechnung bzw. Nutzoperatio
nen der integrierten Schaltung wird die integrierte Schaltung zufallsge
steuert in verschiedene Betriebsarten geschaltet.
Zum Verhindern einer Wiederholbarkeit des charakteristischen Anteils im
Stromverbrauch von identischen Nutzoperationen umfassen die verschie
denen Betriebsarten wenigstens zwei Berechnungsmethoden, welche auf
verschiedenen Berechnungswegen ein identisches Ergebnis erhalten.
Zur weiteren Verschleierung von Art und Zeitpunkt der Nutzrechenopera
tionen umfassen die verschiedenen Betriebsarten wenigstens eine Be
triebsart "Dummy", bei der von der integrierten Schaltung keine Nutzope
rationen sondern Dummyrechenoperationen durchgeführt werden, welche
vorbestimmte oder zufällig gewählte Eingangsdaten bearbeiten, wobei das
Ergebnis verworfen wird und nicht in die Ergebnisse bzw. Eingangsdaten
der Nutzrechenoperationen eingehen. Optional ist zusätzlich eine Be
triebsart "Deaktiviert" vorgesehen, bei der von der integrierten Schaltung
keine Rechenoperationen ausgeführt werden.
Bei einer Datenverarbeitungseinrichtung der o. g. Art ist es erfindungsge
mäß vorgesehen, dass eine mit der integrierten Schaltung verbundene
Taktsteuereinheit sowie ein mit der Taktsteuereinheit verbundener Zu
fallsgenerator vorgesehen ist, wobei die Taktsteuereinheit derart ausge
bildet ist, dass sie in Abhängigkeit vom Zufallsgenerator und dem ersten
Taktsignal ein zweites Taktsignal erzeugt, welches zufällig variiert und die
integrierte Schaltung ansteuert.
Dies hat den Vorteil, dass ein zeitlicher Ablauf von Nutzrechenoperationen
unabhängig von in der Datenverarbeitungseinrichtung bearbeiteten Daten
verzerrt wird, so dass ein bzgl. der Nutzrechenoperationen charakteristi
scher Anteil in einem Stromverbrauch der integrierten Schaltung ver
schleiert wird und mittels einer "Differential Power Analysis" nicht mehr
analysierbar ist.
Vorzugsweise Weitergestaltungen der Datenverarbeitungseinrichtung sind
in den Ansprüchen 7 bis 10 beschrieben.
Nachstehend wird die Erfindung anhand der beigefügten Zeichnungen
näher erläutert. Diese zeigen in
Fig. 1 ein Blockschaltbild einer bevorzugte Ausführungsform einer
erfindungsgemäßen Datenverarbeitungseinrichtung und
Fig. 2 eine graphische Veranschaulichung verschiedener in der Da
tenverarbeitungseinrichtung erzeugter und verwendeter Si
gnale.
Fig. 1 zeigt eine bevorzugte Ausführungsform einer erfindungsgemäßen
Datenverarbeitungseinrichtung 100 mit einer integrierten Schaltung 10,
einem Zufallsgenerator 12 und einer Taktsteuereinheit 14. Die integrierten
Schaltung 10 führt nachfolgend näher spezifizierte Nutzrechenoperationen
aus. Nutzrechenoperationen sind solche Rechenoperationen, welche Ein
gangsdaten in gewünschter Weise bearbeiten und ein gewünschtes Er
gebnis bzw. Zwischenergebnis erzielen. Ein Beispiel hierfür ist eine vorbe
stimmte Rechenmethode mit kryptographischen Operationen in dedizier
ten Crypto-Rechenwerken. Diese vorbestimmte Rechenmethode wird
nachfolgend als Methode 1 bzw. erste Betriebsart bezeichnet.
Fig. 2 veranschaulicht übereinander verschiedene in der Datenverarbei
tungseinrichtung 100 erzeugte und verwendete Signale über die Zeit t,
welche über einer horizontalen Achse 16 aufgetragen sind 18 ist ein Si
gnal TAKT1, welches über eine Leitung 19 die Taktsteuereinheit 14 steu
ert. Mit 20 ist ein Signal TAKT2 bezeichnet, welches von der Taktsteuer
einheit 14 erzeugt und über eine Leitung 21 an die integrierte Schaltung
10 ausgegeben wird. 22 ist ein Signal DUMMY, mit 24 ein Signal DEAKT
und mit 26 ist ein Signal ALT bezeichnet, welche über Steuerleitungen 28
von der Taktsteuereinheit 14 an die integrierte Schaltung 10 zum Steuern
derselben abgegeben werden. In einer zusätzlichen Zeile 29 ist angege
ben, in welcher Betriebsart die integrierte Schaltung 10 gesteuert von der
Taktsteuereinheit 14 gerade arbeitet. Hierbei steht 30 für eine Betriebsart
"Methode 1", 32 für eine Betriebsart "Dummy", 34 für eine Betriebsart
"Methode 2" und 36 für eine Betriebsart "Deaktiviert". Nachfolgend werden
diese Betriebsarten 30, 32, 34 und 36 und ihre Funktion näher erläutert.
Eine von Paul Kocher im Internet unter http://www.cryptography.com/dpa
veröffentlichte "Differential Power Analysis" hat den Ansatz, dass neben
den Ein/Ausgangssignalen zusätzlich eine Stromaufnahme Ia bzw. Span
nungseinbrüche ΔUa einer Versorgungsspannung Ua der integrierten
Schaltung analysiert werden. Der Erfolg dieser Analysemethode hängt
davon ab, ob man eine Anzahl NA von analogen (Ia(t) oder ΔUa(t)) Signal
verläufen S(k,t) über die Zeit mit k = {1, . . ., 2} unterschiedlichen Operanden
derart aufnehmen kann, dass eine Summenbildung der Form
mit den Koeffizienten p(i,k) mit i = {0, 1, 2, . . .} möglich ist. Betrachtet man
unterschiedliche Signalverläufe S(k1,t0, S(k2,t1), S(k3,t1) . . . zum gleichen
Zeitpunkt t = t1, kann eine "Differential Power Analysis" nur funktionieren,
wenn die integrierte Schaltung in diesem Moment die gleiche Rechenope
ration mit unterschiedlichen Operanden k = {1, . . ., NA} ausführt, d. h. die Si
gnalverläufe S(k,t) müssen genau übereinandergelegt werden können.
Dieses gilt nicht nur für die Berechnung selbst, sondern auch für die Ein-
und Ausgabe von Daten.
Die Erfindung verhindert das "Übereinanderlegen", indem die integrierte
Schaltung 10 durch die zufallsgesteuerte Taktsteuereinheit 14 betrieben
wird. Darüber hinaus verfügt die integrierte Schaltung neben der Betriebs
art "Methode 1" 30 über die Betriebsart "Dummy" 32, in der nachfolgend
näher spezifizierte Dummyrechenoperationen ausgeführt werden, die Be
triebsart "Deaktiviert" 36, in der von der integrierten Schaltung 10 keine
Rechenoperationen ausgeführt und bisherige Resultate bzw. Zwischener
gebnisse ggf. gespeichert werden, und die Betriebsart "Methode 2" 34, in
der die Nutzrechenoperationen von "Methode 1" 30 mit einem alternativen
Verfahren ausgeführt werden, wobei sich das Ergebnis nicht von der er
sten Betriebsart "Methode 1" 30 unterscheidet sondern lediglich anders
gerechnet wird, so dass sich bei "Methode 2" 34 im Vergleich mit "Metho
de 1" 30 ein anderer Verlauf des Eingangsstromes Ia bzw. von Span
nungsänderungen ΔUa der integrierten Schaltung 10 bei gleichem Ope
randen k ergibt.
Dummyrechenoperationen sind solche Rechenoperationen, welche vor
bestimmte oder zufällig gewählte Eingangsdaten bearbeiten, wobei das
Ergebnis verworfen wird und nicht in die Ergebnisse bzw. Eingangsdaten
der Nutzrechenoperationen eingehen.
Die Taktsteuereinheit 14 wird über Leitung 19 durch das Signal TAKT1 18
sowie von dem Zufallsgenerator 12 über Leitung 38 gesteuert. Die Takt
steuereinheit 14 generiert aus TAKT1 18 und dem Eingang von Leitung 38
ein zufälliges Taktsignal TAKT2 20, welches die Zeitachse 16 in S(k,t) un
abhängig von in der integrierten Schaltung 10 gerechneten Daten verzerrt.
Hierdurch ist die o. g. Summenbildung der "Differential Power Analysis"
nicht mehr mit dem gewünschten Ergebnis durchführbar.
Ferner werden von einer Taktflanke bis zu einer später folgenden Takt
flanke auf die Steuerleitungen 28 in Abhängigkeit vom Zufallsgenerator
die Steuersignale DUMMY 22, DEAKT 24 und ALT 26 in der in Fig. 2 dar
gestellten Weise gesetzt. Bei dem Signal DUMMY 22 befindet sich die
integrierte Schaltung 10 in der Betriebsart "Dummy" 32, bei dem Signal
DEAKT 24 befindet sich die integrierte Schaltung 10 in der Betriebsart
Deaktiviert 36, bei dem Signal ALT 26 befindet sich die integrierte Schal
tung 10 in der Betriebsart "Methode 2" 34 und bei keinem Signal auf den
Steuerleitungen 28 befindet sich die integrierte Schaltung 10 in der Be
triebsart "Methode 1" 30, wie aus der die Betriebsarten angebenden Zeile
29 in Fig. 2 ersichtlich.
Die Betriebsart "Dummy" 32 verschleiert die eigentliche Berechnung
S(k,t). Ggf. sind mehrere verschiedene Betriebsarten "Dummy n" mit ent
sprechenden verschiedenen Signalen "DUMMY n" vorgesehen. Beson
ders vorteilhaft ist hier, dass Zeitpunkt und Dauer der Dummysignale nicht
von der zu schützenden integrierten Schaltung 10 selbst sondern durch
die externen Einrichtungen Zufallsgenerator 12 und Taktsteuereinheit 14
bestimmt werden. In der Betriebsart "Deaktiviert" 36 wird die Zeitachse 16
weiter zusätzlich verzerrt, so dass die o. g. Summenbildung der "Differenti
al Power Analysis" zusätzlich erschwert bzw. unmöglich wird. In der Be
triebsart "Methode 2" 34 erfolgt eine weitere Verschleierung der Berech
nung, so dass die Berechnung S(k,t) schlecht identifizierbar ist. Ggf. sind
weitere unterschiedliche Betriebsarten mit anderem Berechnungsweg
"Methode n" vorgesehen, jeweils zugehörigen Signalen "ALT n".
Zusammenfassend wird erfindungsgemäß ein charakteristischer Anteil
des Stromverbrauchs der integrierten Schaltung 10 nicht eliminiert son
dern verschleiert. Hierzu werden flexibel verschiedene Verschleierungs
methoden mittels der Taktsteuereinheit 14 miteinander kombiniert. Teil
weise werden durch Dummyberechnungen Dummysignale generiert, wel
che von außen als solche nicht erkennbar sind, da sie zufällig erzeugt
werden.
100
Datenverarbeitungseinrichtung
10
integrierte Schaltung
12
Zufallsgenerator
14
Taktsteuereinheit
16
horizontalen Achse t
18
Signal TAKT1
19
Leitung
20
Signal TAKT2
21
Leitung
22
Signal DUMMY
24
Signal DEAKT,
26
Signal ALT
28
Steuerleitungen
29
Zeile Betriebsarten
30
Betriebsart "Methode 1"
32
Betriebsart "Dummy"
34
Betriebsart "Methode 2"
36
Betriebsart "Deaktiviert"
38
Leitung
Claims (11)
1. Verfahren zum Betreiben einer Datenverarbeitungseinrichtung
(100), insbesondere einer Chipkarte, mit einer integrierten Schal
tung (10), welche in Abhängigkeit von einem ersten Taktsignal
Nutzrechenoperationen, insbesondere kryptographische Operatio
nen, ausführt,
dadurch gekennzeichnet, dass
aus dem ersten Taktsignal zufallsgesteuert ein zweites Taktsignal
abgeleitet und statt des ersten Taktsignals der integrierten Schal
tung (10) zugeführt wird, wobei Abstände zwischen Taktflanken des
zweiten Taktsignals zufällig über die Zeit variieren.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, dass
die integrierte Schaltung (10) zufallsgesteuert in verschiedene Be
triebsarten geschaltet wird.
3. Verfahren nach Anspruch 2,
dadurch gekennzeichnet, dass
die verschiedenen Betriebsarten wenigstens zwei Berechnungs
methoden umfassen, welche auf verschiedenen Berechnungswe
gen ein identisches Ergebnis erhalten.
4. Verfahren nach einem der Ansprüche 2 oder 3,
dadurch gekennzeichnet, dass
die verschiedenen Betriebsarten wenigstens eine Betriebsart
"Dummy" (32) umfassen, bei der von der integrierten Schaltung
(10) keine Nutzoperationen sondern Dummyrechenoperationen
durchgeführt werden, welche vorbestimmte oder zufällig gewählte
Eingangsdaten bearbeiten, wobei das Ergebnis verworfen wird und
nicht in die Ergebnisse bzw. Eingangsdaten der Nutzrechenopera
tionen eingehen.
5. Verfahren nach einem der Ansprüche 2 bis 4,
dadurch gekennzeichnet, dass
die verschiedenen Betriebsarten eine Betriebsart "Deaktiviert" (36)
umfassen, bei der von der integrierten Schaltung (10) keine Re
chenoperationen ausgeführt werden.
6. Datenverarbeitungseinrichtung (100), insbesondere Chipkarte, ins
besondere zum Ausführen eines Verfahrens gemäß wenigstens ei
nem der vorhergehenden Ansprüche, mit einer integrierten Schal
tung (10), welche in Abhängigkeit von einem ersten Taktsignal (18)
Nutzrechenoperationen, insbesondere kryptographische Operatio
nen, ausführt,
dadurch gekennzeichnet, dass
eine mit der integrierten Schaltung (10) verbundene Taktsteuerein
heit (14) sowie ein mit der Taktsteuereinheit (14) verbundener Zu
fallsgenerator (12) vorgesehen ist, wobei die Taktsteuereinheit (14)
derart ausgebildet ist, dass sie in Abhängigkeit vom Zufallsgenera
tor (12) und dem ersten Taktsignal (18) ein zweites Taktsignal (20)
erzeugt, welches zufällig variiert und die integrierte Schaltung (10)
ansteuert.
7. Datenverarbeitungseinrichtung (100) nach Anspruch 6,
dadurch gekennzeichnet, dass
die Taktsteuereinheit (14) derart ausgebildet ist, dass sie in Abhän
gigkeit vom Zufallsgenerator (12) die integrierte Schaltung (10) über
Steuerleitungen (28) zufallsgesteuert in verschiedene Betriebsarten
(30, 32, 34, 36) schaltet.
8. Datenverarbeitungseinrichtung (100) nach Anspruch 7,
dadurch gekennzeichnet, dass
die verschiedenen Betriebsarten (30, 32, 34, 36) wenigstens zwei
Berechnungsmethoden (30, 34) umfassen, welche auf verschiede
nen Berechnungswegen ein identisches Ergebnis erhalten.
9. Datenverarbeitungseinrichtung (100) nach einem der Ansprüche 7
oder 8,
dadurch gekennzeichnet, dass
die verschiedenen Betriebsarten (30, 32, 34, 36) wenigstens eine
Betriebsart "Dummy" (32) umfassen, bei der die integrierte Schal
tung (10) keine Nutzoperationen sondern Dummyrechenoperatio
nen durchführt, welche vorbestimmte oder zufällig gewählte Ein
gangsdaten bearbeiten, wobei das Ergebnis nicht in Ergebnisse
bzw. Eingangsdaten der Nutzrechenoperationen eingehen.
10. Datenverarbeitungseinrichtung (100) nach einem der Ansprüche 7
bis 9,
dadurch gekennzeichnet, dass
die verschiedenen Betriebsarten (30, 32, 34, 36) eine Betriebsart
"Deaktiviert" (36) umfassen, bei der die integrierten Schaltung (10)
keine Rechenoperationen ausführt.
11. Datenverarbeitungseinrichtung (100) nach einem der Ansprüche 7
bis 10,
dadurch gekennzeichnet, dass
mindestens bei einer weiteren Betriebsart die Zeitachse (16) weiter
zusätzlich verzerrt wird, so dass die Summenbildung der "Differen
tial Power Analysis" zusätzlich erschwert bzw. unmöglich wird.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19936938A DE19936938A1 (de) | 1998-09-30 | 1999-08-05 | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse |
EP99948823A EP1046131B1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
DE59914806T DE59914806D1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
PCT/EP1999/007025 WO2000019367A1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
KR1020007005809A KR100718352B1 (ko) | 1998-09-30 | 1999-09-21 | 데이터 처리 장치 및 그 작동 방법 |
JP2000572793A JP2002526840A (ja) | 1998-09-30 | 1999-09-21 | 差動電流消費分析を防止するためのデータ処理装置および作動方法 |
AT99948823T ATE401624T1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19844962 | 1998-09-30 | ||
DE19936938A DE19936938A1 (de) | 1998-09-30 | 1999-08-05 | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19936938A1 true DE19936938A1 (de) | 2000-04-06 |
Family
ID=7882872
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19936938A Withdrawn DE19936938A1 (de) | 1998-09-30 | 1999-08-05 | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse |
DE59914806T Expired - Lifetime DE59914806D1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE59914806T Expired - Lifetime DE59914806D1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR100718352B1 (de) |
AT (1) | ATE401624T1 (de) |
DE (2) | DE19936938A1 (de) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003081398A2 (de) * | 2002-03-25 | 2003-10-02 | Infineon Technologies Ag | Vorrichtung und verfahren zum sicheren laden von nutzdaten |
EP1355269A1 (de) * | 2002-04-18 | 2003-10-22 | Infineon Technologies AG | Datenverbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls |
WO2005062243A1 (de) * | 2003-12-22 | 2005-07-07 | Giesecke & Devrient Gmbh | Tragbarer datenträger |
GB2479871A (en) * | 2010-04-26 | 2011-11-02 | David Coyne | System for preventing side channel attacks on a synchronous logic device. |
WO2016190924A3 (en) * | 2015-03-06 | 2017-01-05 | Qualcomm Incorporated | Side channel analysis resistant architecture |
DE102016009045A1 (de) * | 2016-07-25 | 2018-01-25 | Detlef Fischer | Zwischenschaltgerät und Betriebsverfahren dafür |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100974773B1 (ko) * | 2008-08-12 | 2010-08-06 | 현대자동차주식회사 | 배기가스 촉매컨버터의 지지장치 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404402A (en) * | 1993-12-21 | 1995-04-04 | Gi Corporation | Clock frequency modulation for secure microprocessors |
-
1999
- 1999-08-05 DE DE19936938A patent/DE19936938A1/de not_active Withdrawn
- 1999-09-21 DE DE59914806T patent/DE59914806D1/de not_active Expired - Lifetime
- 1999-09-21 KR KR1020007005809A patent/KR100718352B1/ko not_active IP Right Cessation
- 1999-09-21 AT AT99948823T patent/ATE401624T1/de not_active IP Right Cessation
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003081398A3 (de) * | 2002-03-25 | 2004-07-29 | Infineon Technologies Ag | Vorrichtung und verfahren zum sicheren laden von nutzdaten |
WO2003081398A2 (de) * | 2002-03-25 | 2003-10-02 | Infineon Technologies Ag | Vorrichtung und verfahren zum sicheren laden von nutzdaten |
DE10213268A1 (de) * | 2002-03-25 | 2003-10-23 | Infineon Technologies Ag | Vorrichtung und Verfahren zum sicheren Laden von Nutzdaten |
DE10217291B4 (de) * | 2002-04-18 | 2005-09-29 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls |
DE10217291A1 (de) * | 2002-04-18 | 2003-11-06 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls |
EP1355269A1 (de) * | 2002-04-18 | 2003-10-22 | Infineon Technologies AG | Datenverbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls |
US7181632B2 (en) | 2002-04-18 | 2007-02-20 | Infineon Technologies Ag | Data processing apparatus and method for operating a data processing module for secure power saving |
WO2005062243A1 (de) * | 2003-12-22 | 2005-07-07 | Giesecke & Devrient Gmbh | Tragbarer datenträger |
GB2479871A (en) * | 2010-04-26 | 2011-11-02 | David Coyne | System for preventing side channel attacks on a synchronous logic device. |
WO2016190924A3 (en) * | 2015-03-06 | 2017-01-05 | Qualcomm Incorporated | Side channel analysis resistant architecture |
US9735953B2 (en) | 2015-03-06 | 2017-08-15 | Qualcomm Incorporated | Side channel analysis resistant architecture |
CN107223320A (zh) * | 2015-03-06 | 2017-09-29 | 高通股份有限公司 | 防旁信道分析的架构 |
DE102016009045A1 (de) * | 2016-07-25 | 2018-01-25 | Detlef Fischer | Zwischenschaltgerät und Betriebsverfahren dafür |
Also Published As
Publication number | Publication date |
---|---|
KR20010032564A (ko) | 2001-04-25 |
DE59914806D1 (de) | 2008-08-28 |
ATE401624T1 (de) | 2008-08-15 |
KR100718352B1 (ko) | 2007-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10136335B4 (de) | Prozessor mit mehreren Rechenwerken | |
EP1115094A2 (de) | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb | |
EP1430376B1 (de) | Verhindern der unerwuenschten externen erfassung von operationen in integrierten digitalschaltungen | |
DE10115118A1 (de) | Verfahren zur Übertragung von Daten über einen Datenbus | |
EP1044426B1 (de) | Datenverarbeitungseinrichtung und verfahren zu deren spannungsversorgung | |
DE102007009526A1 (de) | Vorrichtung zum Speichern eines binären Zustandes | |
DE19936938A1 (de) | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse | |
EP1272984B1 (de) | Tragbarer datenträger mit schutz vor seitenkanalattacken | |
EP1046142B1 (de) | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse | |
DE102004061312A1 (de) | Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung | |
EP1046131B1 (de) | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse | |
DE102005057104A1 (de) | Smartcard und Steuerverfahren hierfür | |
DE10344647B3 (de) | Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals | |
DE19936939A1 (de) | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse | |
DE102005042790B4 (de) | Integrierte Schaltungsanordnung und Verfahren zum Betrieb einer solchen | |
EP1080400B1 (de) | Verfahren und vorrichtung zum verarbeiten von daten | |
EP1495542B1 (de) | Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals | |
DE19936890A1 (de) | Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen | |
DE19822218B4 (de) | Zugriffsgeschützter Datenträger | |
EP1044534A1 (de) | Verschlüsselungsverfahren zum ausführen von kryptographischen operationen | |
DE19936919A1 (de) | Datenverarbeitungseinrichtung und Verfahren zu deren Spannungsversorgung | |
WO2003003207A2 (de) | Datenfluss-analysator und verfahren zur analyse von programmen | |
DE102005062763B4 (de) | Schaltungsanordnung für eine Speicherkarte mit Debit- oder Ausweiskartenfunktion | |
DE10129241B4 (de) | Multifunktionaler Rechner | |
DE10130099B4 (de) | Challenge-Response-Vorrichtung, Authentifikationssystem, Verfahren zum Erzeugen eines Response-Signals aus einem Challenge-Signal und Verfahren zur Authentifikation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: PHILIPS INTELLECTUAL PROPERTY & STANDARDS GMBH, 20 |
|
8141 | Disposal/no request for examination |