DE19936939A1 - 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
- DE19936939A1 DE19936939A1 DE19936939A DE19936939A DE19936939A1 DE 19936939 A1 DE19936939 A1 DE 19936939A1 DE 19936939 A DE19936939 A DE 19936939A DE 19936939 A DE19936939 A DE 19936939A DE 19936939 A1 DE19936939 A1 DE 19936939A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- data
- integrated circuit
- registers
- processing device
- 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/77—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 smart cards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06K19/07309—Means for preventing undesired reading or writing from or onto record carriers
- G06K19/07363—Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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 OR CALCULATING; 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
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Sources (AREA)
Abstract
Die vorliegende Erfindung betrifft eine Datenverarbeitungseinrichtung (100) sowie ein Verfahren zum Betreiben einer Datenverarbeitungseinrichtung, insbesondere einer Chipkarte, mit einer integrierten Schaltung, welche in Abhängigkeit von einem Taktsignal Rechenoperationen, insbesondere kryptographische Operationen, Datenein- bzw. -ausgaben sowie eine Datenübergabe von bzw. zu Registern der integrierten Schaltung ausführt. Hierbei wird die integrierte Schaltung (10) derart gesteuert, dass das Ausführen von Rechenoperationen einerseits und die Datenein-/-ausgabe sowie die Datenübergabe von Register zu Register bzw. zwischen Registern andererseits zeitlich parallel durchgeführt wird.
Description
Die Erfindung betrifft ein Verfahren zum Betreiben einer Datenverarbei
tungseinrichtung, insbesondere einer Chipkarte, mit einer integrierten
Schaltung, welche in Abhängigkeit von einem Taktsignal Rechenoperatio
nen, insbesondere kryptographische Operationen, Datenein- bzw.
-ausgaben sowie eine Datenübergabe zwischen Registern der integrierten
Schaltung ausführt, gemäß dem Oberbegriff des Anspruchs 1. Die Erfin
dung betrifft ferner eine Datenverarbeitungseinrichtung, insbesondere
Chipkarte, insbesondere zum Ausführen des Verfahrens, mit einer inte
grierten Schaltung, welche in Abhängigkeit von einem Taktsignal Re
chenoperationen, insbesondere kryptographische Operationen, ausführt,
wobei die integrierte Schaltung ein Rechenwerk mit zugeordnetem ersten
Register und Datenein- und -ausgängen aufweist, gemäß dem Oberbegriff
des Anspruchs 3.
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 5 297 201 ist es bekannt, einen Hochfrequenz abstrahlenden
Computer mit einer Einrichtung zu kombinieren, welche ebenfalls eine
Hochfrequenz ähnlich zu derjenigen des Computers abstrahlt. Dadurch ist
es für einen unberechtigten Dritten nicht mehr möglich, die Hochfre
quenzabstrahlung des Computers zu dekodieren. Eine Kryptoanalyse
durch einen Dritten, der unmittelbar Zugang zum Computer hat, kann die
ses System jedoch nicht verhindern.
Die WO 90/15489 beschreibt ein gesichertes Kommunikationssystem, bei
dem Dummyverkehr bzw. -übertragungen erzeugt werden, um kryptogra
phische Analysen zu erschweren. Eine Kryptoanalyse durch einen Dritten,
der unmittelbar Zugang zum Computer hat, kann dieses System jedoch
ebenfalls nicht verhindert werden.
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 3 gekennzeichneten Merkmalen
gelöst.
Dazu ist es bei dem Verfahren der o. g. Art erfindungsgemäß vorgesehen,
dass die integrierte Schaltung derart gesteuert wird, dass das Ausführen
von Rechenoperationen einerseits und die Datenein-/-ausgabe sowie die
Datenübergabe von Register zu Register bzw. zwischen Registern ande
rerseits zeitlich parallel durchgeführt wird.
Dies hat den Vorteil, dass für eine "Differential Power Analysis" Anhalts
punkte dafür fehlen, wann eine Rechenoperation endet bzw. wann ein
Auslesen/Beschreiben von Registern oder wann eine Datenein-/-ausgabe
erfolgt, da Zeitbereiche sowohl der eigentlichen Berechnungen als auch
der Datenein- und Datenausgabe verschleiert werden. Die "Differential
Power Analysis" wird somit erheblich erschwert, da von außen nicht mehr
festgestellt werden kann, ob eine wirkliche Berechnung oder eine Ein-
/Ausgabe stattfindet.
In einer vorteilhaften Weiterbildung des Verfahrens werden zum weiteren
Verschleiern der Rechenoperationen sowie Datenein-/Ausgaben unmittel
bar vor, während und/oder unmittelbar nach der Datenübergabe zwischen
den Registern der integrierten Schaltung Dummyberechnungen von einem
Rechenwerk der integrierten Schaltung ausgeführt, welche zufällige oder
vorbestimmte Daten bearbeiten, wobei keine Daten in Register der inte
grierten Schaltung geschrieben werden.
Bei einer Datenverarbeitungseinrichtung der o. g. Art ist es erfindungsge
mäß vorgesehen, dass ein mit dem ersten Register verbundenes zweites
Register vorgesehen ist, welches die Datenein- und -ausgänge aufweist,
wobei ferner eine Steuereinheit mit der integrierten Schaltung verbunden
ist, welche derart ausgebildet ist, dass sie einen zeitlich parallelen Betrieb
der Register zur Datenein-/-ausgabe und Datenübergabe zwischen den
Registern einerseits und Rechenoperationen der Recheneinheit anderer
seits steuert.
Dies hat den Vorteil, dass für eine "Differential Power Analysis" Anhalts
punkte dafür fehlen, wann eine Rechenoperation endet bzw. wann ein
Auslesen/Beschreiben von Registern oder wann eine Datenein-/-ausgabe
erfolgt, da Zeitbereiche sowohl der eigentlichen Berechnungen als auch
der Datenein- und Datenausgabe verschleiert werden. Durch das zweite
Register ist eine Ein-/Ausgabe von Daten möglich, während das Rechen
werk aktiv ist und ggf. Daten in das erste Register schreibt oder Daten aus
dem ersten Register ausliest. Die "Differential Power Analysis" wird somit
erheblich erschwert, da von außen bei geeigneter Ansteuerung des zwei
ten Registers nicht mehr festgestellt werden kann, ob eine wirkliche Be
rechnung oder eine Ein-/Ausgabe stattfindet.
In einer vorteilhaften Weitergestaltungen der Datenverarbeitungseinrich
tung ist das erste Register ein Operandenregister des Rechenwerkes
und/oder das zweite Register ein Operandenregister der Datenein-/
-ausgabe.
Nachstehend wird die Erfindung anhand der beigefügten Zeichnungen
näher erläutert. Diese zeigen in
Fig. 1 ein Blockschaltbild einer bevorzugten Ausführungsform einer
erfindungsgemäßen Datenverarbeitungseinrichtung,
Fig. 2 ein Blockschaltbild einer integrierten Schaltung der Datenver
arbeitungseinrichtung von Fig. 1,
Fig. 3 eine graphische Veranschaulichung der Aktivität der erfin
dungsgemäßen Datenverarbeitungseinrichtung über die Zeit
gemäß dem Stand der Technik und
Fig. 4 eine graphische Veranschaulichung der Aktivität der erfin
dungsgemäßen Datenverarbeitungseinrichtung über die Zeit
gemäß der Erfindung.
Fig. 1 zeigt eine bevorzugte Ausführungsform einer erfindungsgemäßen
Datenverarbeitungseinrichtung 100 mit einer integrierten Schaltung 10,
einem Register 12 mit Programmzugriff 14 und einer Steuereinheit 16.
Über Leitung 18 erhält die Steuereinheit 16 sowie die integrierte Schaltung
ein in Fig. 3 und 4 dargestelltes Taktsignal 20. Über Steuerleitungen 22
steuert die Steuereinheit 16 die integrierte Schaltung 10, die Datenein
gänge 24 und Datenausgänge 26 aufweist.
Wie aus Fig. 2 ersichtlich ist umfasst die integrierte Schaltung 10 ein Re
chenwerk 28, ein dem Rechenwerk 28 zugeordnetes erstes Operanden
register 30 und ein mit dem ersten Operandenregister 30 verbundenes
zweites Operandenregister 32. Die Dateneingänge 24 und Datenausgän
ge 26 sind am zweiten Operandenregister 32 angeordnet. Das Taktsignal
20 (Fig. 3 und 4) wird über die Leitung 18 sowohl an das Rechenwerk 28
als auch an die beiden Operandenregister 30 und 32 weitergeleitet. Bei
Ausführung von Berechnungen bzw. Operationen durch das Rechenwerk
28 liest dieses aus dem ersten Register 30 Daten aus bzw. schreibt ein
Ergebnis einer Berechnung in das erste Register 30 ein. Zwischen den
Registern 30 und 32 erfolgt ein entsprechender Datenaustausch bzw. eine
gegenseitige Datenübergabe, nachfolgend als R2-1 bezeichnet, wenn
Daten von dem zweiten Register 32 an das erste Register 30 übergeben
werden, bzw. als R1-2 bezeichnet, wenn Daten von dem ersten Register
30 an das zweite Register 32 übergeben werden. Eine der von der Steu
ereinheit 16 kommenden Steuerleitung 22 ist mit dem zweiten Register 32
zu dessen Steuerung verbunden, während eine andere Steuerleitung 22
mit dem ersten Register 30 zu dessen Steuerung verbunden ist.
Eine von Paul Köcher 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, . . ., NA} 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,t1), 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 verschleiert sowohl die Zeitbereiche, der eigentlichen Be
rechnung als auch die Zeitbereiche der Datenein- bzw. Datenausgabe.
Bei geeigneter Ansteuerung des zweiten Registers 32 kann von außen
nicht mehr festgestellt werden, wann eine wirkliche Berechnung oder eine
Ein-/Ausgabe stattfindet. Die "Differential Power Analysis" wird somit er
heblich erschwert. Die integrierte Schaltung 10 ist erfindungsgemäß mit
den beiden Operandenregistern 30 und 32 ausgestattet. Diese erlauben
eine Ein- und Ausgabe von Daten über das zweite Operandenregister 32
mit dessen Dateneingängen 24 und Datenausgängen 26 auch während
das Rechenwerk 28 unter Nutzung des ersten Operandenregisters 30 ak
tiv ist und Berechnungen bzw. Operationen ausführt.
Fig. 4 veranschaulicht eine Betriebsweise der erfindungsgemäßen Daten
verarbeitungseinrichtung 100, wobei über eine Zeitachse 34 das Taktsi
gnal 20 und ein Betriebszustand von Rechenwerk bzw. Operandenregi
stern angegeben ist. Hierbei bezeichnet 36 einen Betriebszustand, bei
dem das Rechenwerk eine Berechnung ausführt. Mit 38 ist ein Betriebs
zustand bezeichnet, bei dem eine Datenein- bzw. Datenausgabe stattfin
det, mit 40 ist ein Betriebszustand bezeichnet, bei dem eine Datenüber
gabe R1-2 stattfindet und mit 42 ist ein Betriebszustand bezeichnet, bei
dem eine Datenübergabe R2-1 stattfindet.
Fig. 3 veranschaulicht in einer zu Fig. 3 analogen Darstellung zum Ver
gleich eine Betriebsweise einer herkömmlichen Datenverarbeitungsein
richtung. Hier sind die Ein- bzw. Ausgabephasen 38 der eigentlichen Be
rechnung 36 zeitlich vor- bzw. nachgeschaltet. Bei der "Differential Power
Analysis" können die Phasen der Berechnungen 36 und der Ein-/Ausgabe
38 leicht identifiziert werden, insbesondere welche Eingaben 38 bei einer
Berechnung 40 Verwendung finden und welche Ausgaben 38 die Folge
sind.
Bei der in Fig. 4 dargestellten, erfindungsgemäßen Betriebsweise werden
mittels der Steuereinheit 16 die Berechnungen 36 sowie die Datenein-/
-ausgaben 38, 40, 42 dadurch verschleiert, dass der Datenfluss der beiden
Operandenregister 30, 32 zeitlich parallel zu den Berechnungen 36 ge
steuert wird. Berechnungen 36 finden immer statt. Ob aber eine Berech
nung 40 von der Eingabe 38 abhängt oder eine Ausgabe 38 liefert, wird
durch die Kopieraktionen R1-2 40 und R2-1 42 bestimmt. Die Berechnun
gen vor R2-1 42 bzw. nach R1-2 40 sind beispielsweise Dummyberech
nungen. Dummyrechenoperationen sind solche Rechenoperationen, wel
che vorbestimmte oder zufällig gewählte Eingangsdaten bearbeiten, wobei
das Ergebnis verworfen wird und nicht in die Ergebnisse bzw. Eingangs
daten der wirklichen Rechenoperationen eingehen. Zusätzliche Dum
myein-/-ausgaben sind ferner optional vorgesehen. Sowohl die Dummybe
rechnungen als auch die Dummyeingaben/Dummyausgaben erzeugen
Strom- bzw. Spannungsänderungen, welche denen der wirklichen Be
rechnungen und Ein-/Ausgaben sehr ähnlich sind.
Die erfindungsgemäß zum Schutz der integrierten Schaltungsteile 10 ge
gen "Differential Power Analysis" vorgesehene Steuereinheit 16 zielt spe
ziell auf die Ein-/Ausgabephasen 38, 40, 42 einer in den integrierten
Schaltungsteilen 10 mit Hilfe digitaler, elektronischer Signalverarbeitung
durchzuführenden Berechnungen 36 ab, da auch Ein-/Ausgaben anhand
des Stromverbrauches mittels der "Differential Power Analysis" analysiert
werden könnten. Entsprechend ist bei der "Differential Power Analysis"
von Interesse, wann eine Berechnung 36 beginnt oder endet. Genau die
se Informationen werden von dem erfindungsgemäßen Verfahren bzw. bei
der erfindungsgemäßen Vorrichtung im Stromverbrauchssignal unter
drückt.
100
Datenverarbeitungseinrichtung
10
integrierte Schaltung
12
Register
14
Programmzugriff
16
Steuereinheit
18
Leitung
20
Taktsignal
22
Steuerleitungen
24
Dateneingänge
26
Datenausgänge
28
Rechenwerk
30
erstes Operandenregister R1
32
zweites Operandenregister R2
34
Zeitachse
36
Berechnung
38
Datenein- bzw. Datenausgabe
40
Datenübergabe R1-2
42
Datenübergabe R2-1
Claims (4)
1. Verfahren zum Betreiben einer Datenverarbeitungseinrichtung
(100), insbesondere einer Chipkarte, mit einer integrierten Schal
tung (10), welche in Abhängigkeit von einem Taktsignal Re
chenoperationen, insbesondere kryptographische Operationen,
Datenein- bzw. -ausgaben (38) sowie eine Datenübergabe (40)
von bzw. zu Registern der integrierten Schaltung (10) ausführt,
dadurch gekennzeichnet, dass
die integrierte Schaltung (10) derart gesteuert wird, dass das Aus
führen von Rechenoperationen einerseits und die Datenein-/
-ausgabe (38) sowie die Datenübergabe (40) von Register zu Regi
ster bzw. zwischen Registern (30, 32) andererseits zeitlich parallel
durchgeführt wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, dass
unmittelbar vor, während und/oder unmittelbar nach der Daten
übergabe von Register zu Register bzw. zwischen den Registern
(30, 32) der integrierten Schaltung Dummyberechnungen von ei
nem Rechenwerk (28) der integrierten Schaltung (10) ausgeführt
werden, welche zufällige oder vorbestimmte Daten bearbeiten, wo
bei keine Daten in Register (30, 32) der integrierten Schaltung ge
schrieben werden.
3. 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 Taktsignal (20) Re
chenoperationen, insbesondere kryptographische Operationen,
ausführt, wobei die integrierte Schaltung (10) ein Rechenwerk (28)
mit zugeordnetem ersten Register (30) und Datenein- und
-ausgänge (24, 26) aufweist,
dadurch gekennzeichnet, dass
ein mit dem ersten Register (30) verbundenes zweites Register (32)
vorgesehen ist, welches die Datenein- und -ausgänge (24, 26) auf
weist, wobei ferner eine Steuereinheit (16) mit der integrierten
Schaltung (10) verbunden ist, welche derart ausgebildet ist, dass
sie einen zeitlich parallelen Betrieb der Register (30, 32) zur Daten
ein-/-ausgabe (38) und Datenübergabe (40) von Register zu Regi
ster bzw. zwischen den Registern (30, 32) einerseits und Re
chenoperationen (40) der Recheneinheit (28) andererseits steuert.
4. Datenverarbeitungseinrichtung (100) nach Anspruch 3,
dadurch gekennzeichnet, dass
das erste Register (30) ein Operandenregister des Rechenwerkes
(28) und/oder das zweite Register (32) ein Operandenregister der
Datenein-/-ausgabe (38) ist.
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE19936939A DE19936939A1 (de) | 1998-09-30 | 1999-08-05 | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse |
| EP99947401A EP1046142B1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
| PCT/EP1999/007026 WO2000019386A1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
| AT99947401T ATE310293T1 (de) | 1998-09-30 | 1999-09-21 | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
| JP2000572811A JP2002526797A (ja) | 1998-09-30 | 1999-09-21 | 微分電流消費解析を防止するデータ処理装置およびこの装置の動作方法 |
| DE59912804T DE59912804D1 (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 |
|---|---|---|---|
| DE19844992 | 1998-09-30 | ||
| DE19936939A DE19936939A1 (de) | 1998-09-30 | 1999-08-05 | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE19936939A1 true DE19936939A1 (de) | 2000-04-06 |
Family
ID=7882891
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19936939A Withdrawn DE19936939A1 (de) | 1998-09-30 | 1999-08-05 | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE19936939A1 (de) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1158384A1 (de) * | 2000-05-22 | 2001-11-28 | Infineon Technologies AG | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren |
| DE10101956A1 (de) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Verfahren zur Erhöhung der Sicherheit einer CPU |
| FR2831739A1 (fr) * | 2001-10-31 | 2003-05-02 | Gemplus Card Int | Procede de mise en oeuvre securisee d'un module fonctionnel, dans un composant electronique et composant correspondant |
| WO2005124506A3 (en) * | 2004-06-08 | 2006-05-11 | Hrl Lab Llc | Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis |
| EP1873671A1 (de) | 2006-06-29 | 2008-01-02 | Incard SA | Verfahren zum Schutz von IC-Karten vor Leistungsanalyse-Attacken |
-
1999
- 1999-08-05 DE DE19936939A patent/DE19936939A1/de not_active Withdrawn
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7412608B2 (en) | 2000-05-22 | 2008-08-12 | Infineon Technologies Ag | Secure data processing unit, and an associated method |
| WO2001090854A1 (de) * | 2000-05-22 | 2001-11-29 | Infineon Technologies Ag | Sicherheits-datenverarbeitungseinheit sowie dazugehöriges verfahren |
| EP1496420A1 (de) * | 2000-05-22 | 2005-01-12 | Infineon Technologies AG | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren |
| EP1158384A1 (de) * | 2000-05-22 | 2001-11-28 | Infineon Technologies AG | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren |
| DE10101956A1 (de) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Verfahren zur Erhöhung der Sicherheit einer CPU |
| WO2002057905A1 (de) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Verfahren zur erhöhung der sicherheit einer cpu |
| FR2831739A1 (fr) * | 2001-10-31 | 2003-05-02 | Gemplus Card Int | Procede de mise en oeuvre securisee d'un module fonctionnel, dans un composant electronique et composant correspondant |
| US8065532B2 (en) | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart differential power analysis |
| GB2430515A (en) * | 2004-06-08 | 2007-03-28 | Hrl Lab Llc | Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis |
| GB2430515B (en) * | 2004-06-08 | 2008-08-20 | Hrl Lab Llc | A cryptographic CPU architecture for thwarting differential power analysis |
| US7949883B2 (en) | 2004-06-08 | 2011-05-24 | Hrl Laboratories, Llc | Cryptographic CPU architecture with random instruction masking to thwart differential power analysis |
| WO2005124506A3 (en) * | 2004-06-08 | 2006-05-11 | Hrl Lab Llc | Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis |
| US8095993B2 (en) | 2004-06-08 | 2012-01-10 | Hrl Laboratories, Llc | Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis |
| US8296577B2 (en) | 2004-06-08 | 2012-10-23 | Hrl Laboratories, Llc | Cryptographic bus architecture for the prevention of differential power analysis |
| EP1873671A1 (de) | 2006-06-29 | 2008-01-02 | Incard SA | Verfahren zum Schutz von IC-Karten vor Leistungsanalyse-Attacken |
| US8804949B2 (en) | 2006-06-29 | 2014-08-12 | Stmicroelectronics International N.V. | Method for protecting IC cards against power analysis attacks |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE10136335B4 (de) | Prozessor mit mehreren Rechenwerken | |
| DE10000503A1 (de) | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb | |
| DE10061997A1 (de) | Kryptographieprozessor | |
| EP1044426B1 (de) | Datenverarbeitungseinrichtung und verfahren zu deren spannungsversorgung | |
| DE102005058238B4 (de) | Detektorschaltung zur Erfassung einer externen Manipulation einer elektrischen Schaltung sowie Verfahren zum Betreiben einer Schaltungsanordnung, bei dem externe Manipulation erfasst werden | |
| EP1158384A1 (de) | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren | |
| DE102004061312B4 (de) | Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung | |
| EP1046142B1 (de) | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse | |
| DE19936938A1 (de) | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse | |
| EP1046131B1 (de) | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse | |
| DE102012015913A1 (de) | Vorrichtungsanordnung zur Durchführung oder Freigabe eines elektronischen Diensts, Elektronikmodul für eine solche Vorrichtungsanordnung und Verfahren zum sicheren Eingeben von Autorisierungsdaten | |
| DE102004009144A1 (de) | Schaltung | |
| EP1080400B1 (de) | Verfahren und vorrichtung zum verarbeiten von daten | |
| EP1118924B1 (de) | Verfahren zum betrieb einer mikroprozessoranordnung und mikroprozessoranordnung | |
| DE102006035610B4 (de) | Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung | |
| EP0321728B1 (de) | Verfahren und Datenträgeranordnung zur Echtheitserkennung von Speicherchips | |
| DE19960047B4 (de) | Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem | |
| DE102005057104A1 (de) | Smartcard und Steuerverfahren hierfür | |
| DE10130099B4 (de) | Challenge-Response-Vorrichtung, Authentifikationssystem, Verfahren zum Erzeugen eines Response-Signals aus einem Challenge-Signal und Verfahren zur Authentifikation | |
| DE19936890A1 (de) | Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen | |
| DE19822218B4 (de) | Zugriffsgeschützter Datenträger | |
| DE19936919A1 (de) | Datenverarbeitungseinrichtung und Verfahren zu deren Spannungsversorgung | |
| DE10129241B4 (de) | Multifunktionaler Rechner | |
| WO2000019657A1 (de) | Verschlüsselungsverfahren zum ausführen von kryptographischen operationen | |
| EP1039422B1 (de) | Prüfung der Echtheit eines tragbaren Datenträgers |
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 |