DE19936939A1 - Data processing device and method for its operation to prevent differential power consumption analysis - Google Patents
Data processing device and method for its operation to prevent differential power consumption analysisInfo
- 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; 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
-
- 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
- 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; 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/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; 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
- 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; 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
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Abstract
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.The invention relates to a method for operating data processing processing device, in particular a chip card, with an integrated Circuit which, depending on a clock signal, computing operation NEN, especially cryptographic operations, data input or expenditure as well as a data transfer between registers of the integrated Circuit performs, according to the preamble of claim 1. The Erfin dung also relates to a data processing device, in particular Chip card, in particular for executing the method, with an inte ized circuit, which is a function of a clock signal Re performs operations, in particular cryptographic operations, wherein the integrated circuit is an arithmetic unit with an associated first Has registers and data inputs and outputs, according to the preamble of claim 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.In many data processing devices with integrated circuit serve at for example cryptographic operations to protect the company This device or to protect data transported in the device. The necessary arithmetic operations are carried out by Stan dard calculators as well as dedicated crypto calculators carried out. A typical example of the latter are chip cards or IC cards. Cards. For data used in this context or intermediate The results are usually safety-related Information such as cryptographic keys or opes run out.
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.In arithmetic operations performed by the integrated circuit, for example, to calculate cryptographic algorithms, who the logical links between operands and intermediate results nits carried out. Depending on the technology used perform these operations, especially loading empty or previously deleted memory areas or registers with data, to an increased power consumption of data processing equipment. With complementary Logic, such as CMOS technology, causes an increased current consumption use up when the value of a bit memory cell is changed, d. H. its value changes from "0" to "1" or from "1" to "0". The heightened Consumption depends on the number of ge in memory or register changed bit positions. In other words, loading one leaves before deleted register a power consumption proportional to Hamming weight of the operand written in the empty register (= number of Bits with the value "1") increase. Through an appropriate analysis the This current change could make it possible to obtain information about the be expected operations to extract, making successful crypto analysis of secret operands, such as cryptographic ones Keys, is possible. By performing several current measurements on the data processing device, for example, with very small Si Changes in the signal allow sufficient extraction of the information become light. On the other hand, several current measurements could enable required difference formation. This type of cryptanalysis is also referred to as "differential power analysis", by means of which a Outsider by simply observing changes in the current consumption of the data processing device may be unauthorized Cryptanalysis of cryptographic operations, algorithms, operans which data can successfully execute. The "Differential Power Analy sis "thus enables additional in addition to pure functionality to be able to obtain internal information from an integrated circuit.
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.From US 5 297 201 it is known to emit a high frequency To combine computers with a device, which is also a Radio frequency similar to that of the computer emits. This is it is no longer possible for an unauthorized third party to decode radiation from the computer. A cryptanalysis by a third party who has direct access to the computer, the However, do not prevent this system.
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.WO 90/15489 describes a secure communication system, at the dummy traffic or transmissions are generated to cryptogra to complicate physical analyzes. A third party cryptanalysis, this system can, however, have direct access to the computer cannot be prevented either.
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.It is an object of the present invention to provide an improved method and an improved data processing device of the above To provide type that have the disadvantages mentioned above effective protection against a "differential power analy sis ".
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. This task is accomplished by a method of the above. Kind with the in claim 1 characterized features and by a data processing direction of the above Kind with the features characterized in claim 3 solved.
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.For this it is in the process of the above. Provided according to the invention, that the integrated circuit is controlled such that the execution of arithmetic operations on the one hand and the data input / output as well as the Data transfer from register to register or between registers and others on the other hand is carried out in parallel.
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.This has the advantage of being indicative of a "differential power analysis" There are no points for when an arithmetic operation ends or when Reading / writing of registers or when a data input / output occurs because time ranges of both the actual calculations as well the data input and output are obscured. The "differential Power Analysis "is thus made considerably more difficult since it is no longer possible from the outside it can be determined whether a real calculation or an input / Issue takes place.
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.In an advantageous further development of the method, further Obfuscate computing operations and data input / output immediately cash before, during and / or immediately after the data transfer between the registers of the integrated circuit dummy calculations from one Calculator of the integrated circuit, which is random or edit predetermined data, with no data in register of inte circuit can be written.
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.In a data processing device of the above-mentioned. It is kind of fiction provided that a second one connected to the first register A register is provided which has the data inputs and outputs, wherein a control unit is also connected to the integrated circuit which is designed in such a way that it operates simultaneously in time the register for data input / output and data transfer between the Registers on the one hand and arithmetic operations of the arithmetic unit of others controls.
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.This has the advantage of being indicative of a "differential power analysis" There are no points for when an arithmetic operation ends or when Reading / writing of registers or when a data input / output occurs because time ranges of both the actual calculations as well the data input and output are obscured. By the second Register is an input / output of data possible while computing factory is active and possibly writes data to the first register or writes data out the first register. The "Differential Power Analysis" is thus considerably more difficult because from the outside with suitable control of the two ten registers can no longer be determined whether a real loading invoice or an input / output takes place.
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.In an advantageous further development of the data processing device The first register is an operand register of the arithmetic unit and / or the second register is an operand register of the data input / -output.
Nachstehend wird die Erfindung anhand der beigefügten Zeichnungen näher erläutert. Diese zeigen inThe invention will now be described with reference to the accompanying drawings explained in more detail. These show in
Fig. 1 ein Blockschaltbild einer bevorzugten Ausführungsform einer erfindungsgemäßen Datenverarbeitungseinrichtung, Fig. 1 is a block diagram of a preferred embodiment of a data processing device according to the invention,
Fig. 2 ein Blockschaltbild einer integrierten Schaltung der Datenver arbeitungseinrichtung von Fig. 1, Fig. 2 is a block diagram of an integrated circuit of the movement of such data processing device of 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. 3 is a graphical illustration of the activity of the inventive data processing device over time according to the prior art and
Fig. 4 eine graphische Veranschaulichung der Aktivität der erfin dungsgemäßen Datenverarbeitungseinrichtung über die Zeit gemäß der Erfindung. Fig. 4 is a graphical illustration of the activity of the inventive data processing device over time according to the invention.
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. Fig. 1 shows a preferred embodiment of a data processing device 100 according to the invention with an integrated circuit 10, a register 12 with access program 14, and a control unit 16. The control unit 16 and the integrated circuit receive a clock signal 20 shown in FIGS. 3 and 4 via line 18 . Via control lines 22 , the control unit 16 controls the integrated circuit 10 which has data inputs 24 and data outputs 26 .
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.A Re is as shown in FIG. 2, the integrated circuit 10 chenwerk 28, a calculating unit 28 the associated first operand register 30 and connected to the first operand register 30 first operand register 32. The data inputs 24 and data outputs 26 are arranged on the second operand register 32 . The clock signal 20 ( FIGS. 3 and 4) is forwarded via line 18 both to the arithmetic logic unit 28 and to the two operand registers 30 and 32 . When calculations or operations are carried out by arithmetic unit 28 , it reads data from first register 30 or writes a result of a calculation into first register 30 . A corresponding data exchange or a mutual data transfer takes place between the registers 30 and 32 , hereinafter referred to as R2-1 if data is transferred from the second register 32 to the first register 30 , or referred to as R1-2 if data from the first register 30 are passed to the second register 32 . One of the control lines 22 coming from the control unit 16 is connected to the second register 32 for its control, while another control line 22 is connected to the first register 30 for its control.
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
A "Differential Power Analysis" published by Paul Köcher on the Internet at http://www.cryptography.com/dpa has the approach that in addition to the input / output signals, a current consumption I a or voltage drops ΔU a of a supply voltage U a integrated circuit are analyzed. The success of this analysis method depends on whether one has a number N A of analog (I a (t) or ΔU a (t)) signals S (k, t) over time with k = {1,. . ., N A } can accommodate different operands in such a way that a summation of the 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.with the coefficients p (i, k) with i = {0, 1, 2,. . .} is possible. If one considers different signal profiles S (k 1 , t 1 ), S (k 2 , t 1 ), S (k 3 , t 1 ). . . at the same time t = t 1 , a "differential power analysis" can only work if the integrated circuit at this moment has the same computing operation with different operands k = {1,. . ., N A } executes, ie the signal curves S (k, t) must be able to be superimposed exactly. This applies not only to the calculation itself, but also to the input and output of data.
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.The invention obscures both the time ranges, the actual calculation and the time ranges of the data input and output. When the second register 32 is activated appropriately, it can no longer be determined from the outside when an actual calculation or an input / output takes place. The "differential power analysis" is thus made considerably more difficult. The integrated circuit 10 is equipped according to the invention with the two operand registers 30 and 32 . These allow data to be input and output via the second operand register 32 with its data inputs 24 and data outputs 26 even while the arithmetic unit 28 is active using the first operand register 30 and executes calculations or operations.
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. 4 illustrates an operation of the data processing device according to the invention 100 with a time axis 34, the Taktsi gnal 20 and an operating state of the processing unit or Operandenregi star indicated. Here, 36 denotes an operating state in which the arithmetic unit carries out a calculation. 38 denotes an operating state in which data is input or output, 40 denotes an operating state in which data transfer R1-2 takes place and 42 denotes an operating state in which data transfer R2-1 takes place.
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. Fig. 3 illustrates in an analogous to Fig. 3 representation for comparison, an operation of a conventional data processing device. Here, the input and output phases 38 of the actual calculation 36 are connected upstream or downstream. In "differential power analysis", the phases of the calculations 36 and the input / output 38 can be easily identified, in particular which inputs 38 are used in a calculation 40 and which outputs 38 are the result.
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.Shown at in FIG. 4, operation of the present invention by means of the control unit 16, the calculations 36, and the data input / expenditure 38, 40, 42 obscured by the fact that the data flow of the two operand registers 30, 32 in time ge parallel to the calculator 36 controls becomes. Calculations 36 always take place. However, whether a calculation 40 depends on the input 38 or provides an output 38 is determined by the copy actions R1-2 40 and R2-1 42 . The calculations before R2-1 42 and after R1-2 40 are, for example, dummy calculations. Dummy arithmetic operations are arithmetic operations which process predetermined or randomly selected input data, the result being rejected and not being included in the results or input data of the actual arithmetic operations. Additional Dum myein - / - editions are also optionally provided. Both the dummy calculations and the dummy inputs / outputs generate current and voltage changes which are very similar to those of the actual calculations and inputs / outputs.
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. The present invention ge to protect the integrated circuit components 10 gen "Differential Power Analysis" provided control unit 16 aims spe essential to the input / output phases 38, 40, 42 of a digital in the integrated circuit elements 10 by means of electronic signal processing calculations 36 to be carried out from, since I / O could also be analyzed based on power consumption using the "differential power analysis". Accordingly, in "differential power analysis" it is of interest when a calculation 36 begins or ends. Precisely this information is suppressed by the method according to the invention or in the device according to the invention in the power consumption signal.
100100
Datenverarbeitungseinrichtung
Data processing device
1010th
integrierte Schaltung
integrated circuit
1212th
Register
register
1414
Programmzugriff
Program access
1616
Steuereinheit
Control unit
1818th
Leitung
management
2020th
Taktsignal
Clock signal
2222
Steuerleitungen
Control lines
2424th
Dateneingänge
Data inputs
2626
Datenausgänge
Data outputs
2828
Rechenwerk
Calculator
3030th
erstes Operandenregister R1
first operand register R1
3232
zweites Operandenregister R2
second operand register R2
3434
Zeitachse
Timeline
3636
Berechnung
calculation
3838
Datenein- bzw. Datenausgabe
Data input or output
4040
Datenübergabe R1-2
Data transfer R1-2
4242
Datenübergabe R2-1
Data transfer R2-1
Claims (4)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19936939A DE19936939A1 (en) | 1998-09-30 | 1999-08-05 | Data processing device and method for its operation to prevent differential power consumption analysis |
JP2000572811A JP2002526797A (en) | 1998-09-30 | 1999-09-21 | Data processing device for preventing differential current consumption analysis and method of operating this device |
EP99947401A EP1046142B1 (en) | 1998-09-30 | 1999-09-21 | Data processing device and method for operating same which prevents a differential current consumption analysis |
AT99947401T ATE310293T1 (en) | 1998-09-30 | 1999-09-21 | DATA PROCESSING DEVICE AND METHOD FOR OPERATION THEREOF TO PREVENT DIFFERENTIAL POWER CONSUMPTION ANALYSIS |
PCT/EP1999/007026 WO2000019386A1 (en) | 1998-09-30 | 1999-09-21 | Data processing device and method for operating same which prevents a differential current consumption analysis |
DE59912804T DE59912804D1 (en) | 1998-09-30 | 1999-09-21 | DATA PROCESSING DEVICE AND METHOD FOR THE OPERATION OF PREVENTING A DIFFERENTIAL ELECTRICAL CONSUMPTION ANALYSIS |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19844992 | 1998-09-30 | ||
DE19936939A DE19936939A1 (en) | 1998-09-30 | 1999-08-05 | Data processing device and method for its operation to prevent differential power consumption analysis |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19936939A1 true DE19936939A1 (en) | 2000-04-06 |
Family
ID=7882891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19936939A Withdrawn DE19936939A1 (en) | 1998-09-30 | 1999-08-05 | Data processing device and method for its operation to prevent differential power consumption analysis |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19936939A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1158384A1 (en) * | 2000-05-22 | 2001-11-28 | Infineon Technologies AG | Security data processing unit and method therefor |
DE10101956A1 (en) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Method for increasing the security of a CPU by prevention of differential power analysis by insertion of a random placeholder code in a CPU pipeline decode stage that does not, however, affect the CPU state |
FR2831739A1 (en) * | 2001-10-31 | 2003-05-02 | Gemplus Card Int | METHOD FOR THE SECURE IMPLEMENTATION OF A FUNCTIONAL MODULE IN AN ELECTRONIC COMPONENT AND CORRESPONDING COMPONENT |
WO2005124506A2 (en) * | 2004-06-08 | 2005-12-29 | Hrl Laboratories, Llc | Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis |
EP1873671A1 (en) | 2006-06-29 | 2008-01-02 | Incard SA | A method for protecting IC Cards against power analysis attacks |
-
1999
- 1999-08-05 DE DE19936939A patent/DE19936939A1/en not_active Withdrawn
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1158384A1 (en) * | 2000-05-22 | 2001-11-28 | Infineon Technologies AG | Security data processing unit and method therefor |
WO2001090854A1 (en) * | 2000-05-22 | 2001-11-29 | Infineon Technologies Ag | Security/data processing unit and method pertaining thereto |
EP1496420A1 (en) * | 2000-05-22 | 2005-01-12 | Infineon Technologies AG | Security data processing unit and method therefor |
US7412608B2 (en) | 2000-05-22 | 2008-08-12 | Infineon Technologies Ag | Secure data processing unit, and an associated method |
DE10101956A1 (en) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Method for increasing the security of a CPU by prevention of differential power analysis by insertion of a random placeholder code in a CPU pipeline decode stage that does not, however, affect the CPU state |
WO2002057905A1 (en) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Method for increasing the security of a cpu |
FR2831739A1 (en) * | 2001-10-31 | 2003-05-02 | Gemplus Card Int | METHOD FOR THE SECURE IMPLEMENTATION OF A FUNCTIONAL MODULE IN AN ELECTRONIC COMPONENT AND CORRESPONDING COMPONENT |
GB2430515A (en) * | 2004-06-08 | 2007-03-28 | Hrl Lab Llc | Cryptographic architecture with instruction masking and other techniques for thwarting 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 |
WO2005124506A2 (en) * | 2004-06-08 | 2005-12-29 | Hrl Laboratories, 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 |
US8065532B2 (en) | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart 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 (en) | 2006-06-29 | 2008-01-02 | Incard SA | A method for protecting IC Cards against power analysis attacks |
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 |
---|---|---|
EP1410151B1 (en) | Processor comprising a number of arithmetic-logic units | |
DE10000503A1 (en) | Data processing device and method for its operation | |
DE10061997A1 (en) | The cryptographic processor | |
EP1234239A2 (en) | Microprocessor arrangement having an encoding function | |
DE102005058238A1 (en) | Detector circuit for electrical circuit, has flip-flop circuit provided as reset-set-latch and comprising reset-input, set-input and output nodes, where latch has seven transistors that are connected with one another | |
DE102009025412B4 (en) | An integrated circuit and method for protecting a circuit portion of an integrated circuit to be protected and computer program product for carrying out the method | |
EP1044426B1 (en) | Data processing device and method for the voltage supply of same | |
DE102004061312B4 (en) | Apparatus and method for detecting a potential attack on a cryptographic calculation | |
DE19936939A1 (en) | Data processing device and method for its operation to prevent differential power consumption analysis | |
EP1046142B1 (en) | Data processing device and method for operating same which prevents a differential current consumption analysis | |
DE102006035610B4 (en) | Memory access control and memory access control method | |
DE19936938A1 (en) | Data processing device and method for its operation to prevent differential power consumption analysis | |
DE102005057104A1 (en) | Smart card for use in finance field, has current transforming block coupled to central processing unit, and generating amounts of dummy currents before and after amount of current consumed by corresponding security operations | |
EP1046131B1 (en) | Data processing device and operating method for preventing a differential current consumption analysis | |
EP1080400B1 (en) | Method and device for processing data | |
DE10347301B4 (en) | Circuit with a bus with multiple receivers | |
EP1118924B1 (en) | Microprocessor system and method of operation | |
DE10322726A1 (en) | Method and apparatus for improving testability of I / O drivers / receivers | |
DE102004009144A1 (en) | circuit | |
DE19960047B4 (en) | Method and unit for secure information handling in a cryptographic information processing system | |
EP1397886B1 (en) | Authentication by means of a challenge-response method | |
DE19936890A1 (en) | Encryption method for performing cryptographic operations | |
DE19822218B4 (en) | Access-protected disk | |
DE19936919A1 (en) | Data processing device and method for its voltage supply | |
DE10129241B4 (en) | Multifunctional calculator |
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 |