WO2003081398A2 - Vorrichtung und verfahren zum sicheren laden von nutzdaten - Google Patents

Vorrichtung und verfahren zum sicheren laden von nutzdaten Download PDF

Info

Publication number
WO2003081398A2
WO2003081398A2 PCT/EP2003/002974 EP0302974W WO03081398A2 WO 2003081398 A2 WO2003081398 A2 WO 2003081398A2 EP 0302974 W EP0302974 W EP 0302974W WO 03081398 A2 WO03081398 A2 WO 03081398A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
data unit
user data
blind
unit
Prior art date
Application number
PCT/EP2003/002974
Other languages
English (en)
French (fr)
Other versions
WO2003081398A3 (de
Inventor
Astrid Elbe
Wieland Fischer
Norbert Janssen
Tanja Römer
Holger Sedlak
Jean-Pierre Seifert
Original Assignee
Infineon Technologies Ag
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies Ag filed Critical Infineon Technologies Ag
Priority to AU2003221512A priority Critical patent/AU2003221512A1/en
Publication of WO2003081398A2 publication Critical patent/WO2003081398A2/de
Publication of WO2003081398A3 publication Critical patent/WO2003081398A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Definitions

  • the present invention relates to data transmission and in particular to the secure loading of user data on a data carrier, such as. B. a bus for transferring data or a register for storing data.
  • a data carrier such as. B. a bus for transferring data or a register for storing data.
  • a 32-bit latch for example, comprises 32 memory cells of the form shown in principle in FIG. 2.
  • a latch memory cell comprises a first inverter 200 and a second inverter 210, which are connected in opposite directions, such that the output of, for example, the upper inverter 200 is fed into the input of the lower inverter 210.
  • Both inverters are thus, as shown in FIG. 2, coupled by a first node 212a, which connects the output of one inverter to the input of the other inverter, and by a second node 212b, which connects the input of one inverter 200 to the Output of the other inverter 210 linked.
  • Both oppositely coupled inverters 200, 210 are connected between a data line 214 and a line 216 for negated data, switches 218a and 218b being provided between the data lines 214 and 216 and the respective connection points 212a, 212b.
  • the two switches 218a and 218b can be controlled by a control line 220 in order to close the switches 218a, 218b when the memory cell is to be read out or to be written to, and to open the switches 218a, 218b when there is nothing in the latch memory cell should happen, d. H. if it should neither read nor write on it.
  • Both inverters 200, 210 each have supply connections V cc and ground connections GND in order to supply the transistors from which the inverters are constructed.
  • the inverter structure of FIG. 2 provides a feedback circuit in that, for example, if a “1” is present on the right-hand side with reference to FIG. 2, a “0” is generated on the left-hand side, while when the opposite case is considered , ie the case denoted in brackets in Fig. 2, logically opposite states are held. Charge losses within the inverters are compensated for by the supply voltage V cc , such that when a supply voltage is present, either the "0" or the "1" is held. In the "hold” state, the two switches 218a, 218b are open in such a way that there is no connection to the data 214 line or to the non-data line 216.
  • a driver circuit (not shown in FIG. 2) for the line 214 is deactivated. Furthermore, the switch 218a is closed in such a way that the two inverters 200, 210 the To a certain extent drive data line 214 with its respective state. The same can alternatively or simultaneously be carried out with the driver circuit for line 216 or with switch 218b for the “negative” side of the latch memory.
  • the data content is changed by writing to the memory cell.
  • the state of the memory cell must be changed.
  • the left side of the two inverters is pulled into a logical “ 1 ⁇ ,” state via the data line 214, while the right side of the two inverters 200, 210 is pulled into the logical “0” state through the data non-line 216 becomes, as can also be seen from a comparison of the second and third lines of FIG. 3.
  • the state of the memory cell does not change if the same value that was previously in the memory cell is written into the memory cell. However, if the value of the memory cell is changed, the states in the memory cell change.
  • CMOS circuits are used. In the case of CMOS circuits, there is typically no current consumption when the state is not changing, while a noticeable current consumption occurs when the CMOS circuit has to change the state.
  • the memory cell shown in FIG. 2 is intended for storing sensitive data, for example for storing secret keys in the RSA algorithm or in some other crypto-algorithm
  • an attacker could, if he is monitoring the power consumption of the line driver circuit for driving the lines 214 and 216 of FIG. 2, or if he is monitoring the V cc connections of the inverters 200, 210, the secret information is extracted based on the power profile and operating clock information as to whether the Had changed the state of the memory cell or not. If it is assumed that it is not possible for the attacker to monitor a single memory cell, this should be easier if a common supply connection for a register with many memory cells, such as e.g. B. 8, 16, 32 or 64 memory cells, or, if long number computing systems for cryptographic applications are considered, 2304 memory cells are provided.
  • a memory cell needs current when it changes state, while it does not need current when its state stays the same. If this consideration is transferred to an entire register with several memory cells, the following results. If, for example, it is assumed that a register with 16 memory cells was initially initialized to "0", a number is now loaded into the register that 16 bits, 10 bits being a "1" and the remaining 6 bits representing a "0", such changes in state will occur in 10 of the 16 memory cells in this register.
  • a power peak with a certain height which depends on how many bits have changed from "0" to "1". In the present example, the power peak will have a height which is equal to 10 times a unit power peak that arises when a single memory cell changes state, the number of bits in a number is also called the Hamming weight (a) of the number a.
  • registers are initially one Initialized zero state, ie the register cell is at 0, so that the first performance analysis immediately provides the Hamming weight of the first number, depending on the application, the Hamming weight of a secret number will be of more or less use to the attacker highly secure applications, such as for smart cards for cash cards, personal identity cards, etc. undesirable for any information about secret numbers, such as the Hamming weight of the secret number, to be released, since security risks can arise, that may not be foreseeable today.
  • Buses are typically long and have a significant capacity that must be reloaded by a line driver circuit if the state of the bit line is to change.
  • the line driver circuit only becomes a when the state changes
  • the power consumption of a line driver circuit is therefore also an indication of the difference in the Hamming weight of the number reloaded onto the bus from the number previously present on the bus, even in buses for transmitting data. If the number previously on the transmission bus was a "0" on all bus lines of the parallel bus, the power consumption of the bus line driver circuits is an immediate indication of the Hamming weight of the number that was newly written on the bus. It should be noted that buses, if not active, are typically initialized to 0. However, it is undesirable, especially for secret applications, that any before information leaks out how it was done.
  • the object of the present invention is to provide a device and a method for the secure loading of user data onto a data carrier.
  • the present invention is based on the finding that the information about the Hamming weight of a number loaded onto a data carrier, even if he can detect it, for example by means of a performance analysis, can be rendered useless by loading before User data is loaded onto the data carrier
  • Blind data is loaded onto the data carrier, d. H. that the data carrier is no longer initialized to "0" or to a previous user data unit, but by means of a blind data unit to a blind data value that is not part of, for example, a secret key, but is not used at all.
  • the blind data unit is preferred a random number that is supplied by a random number generator that is already present in cryptographic processor systems.
  • a random number R n is used as an example of a blind data unit which, for. B. has a length of 32 bits, written in the register.
  • the attacker then knows the Hamming weight H (R n ) of the random number and the Hamming weight H (S 0 ⁇ R n ), the operator ⁇ representing a modulo-two operation.
  • H (S 0 ) cannot be uniquely determined from H (R n ) and H (S 0 ⁇ R n ).
  • the present invention is based on the fact that if it is not possible to allow performance information to escape to the outside, this in at least "water down" their meaningfulness and thus render them unusable for an attacker.
  • the dummy data unit is a random number that has a physical randomness, such as from a noise generator based on thermal noise or shot noise of an electronic component.
  • Other sources of noise such as B. Pseudo-noise sources, typically using feedback
  • Shift registers are built up, however, already provide an improvement over the prior art, even if they are only pseudo-random. However, dummy data units could also be generated deterministically, for example by means of counters, etc., with a predetermined one
  • Sequence counter values are used as "random numbers". An attacker would then have to first determine the sequence before being able to start the performance analysis.
  • This exemplary embodiment does not have the maximum security, but also provides a more secure loading of a register and is particularly special in this case Advantage if there is no random number generator in a circuit, but, for example, a counter circuit which is provided in many arithmetic units anyway.
  • An advantage of the present invention is that the Hamming weight, which can be determined when a user data unit is loaded onto a data carrier, no longer directly indicates the Hamming weight of a user data unit or the Hamming weight difference between two successive user data, but rather the Difference of the Hamming weight of a user data unit and a blind data unit not known to the attacker.
  • Another advantage of the present invention is that this security concept is implemented in software. is tierable and can therefore be implemented in existing arithmetic units to better protect them from attackers.
  • Another advantage of the present invention is that, due to the fact that the concept according to the invention can be implemented in software, no additional hardware and thus no additional valuable chip area z. B. must be spent on a SmartCard.
  • Another advantage of the present invention is that it can be used flexibly, e.g. B. on the writing of data in a register or on the writing of data on transmission buses or generally loading data onto a data carrier.
  • Another advantage of the present invention is that it is flexible in its execution.
  • one or a plurality of dummy data values are transmitted to the transmission bus immediately before the start of the transmission of a data unit sequence, in order then to transmit the user data units without interruption. This means that it is only ever possible for an attacker to determine the difference between the Hamming weights of two successive user data units, although this information is of little use without knowledge of a starting value.
  • the data carrier can always be "initialized" with one or more blind data units, although here the transmission rate is at least halved, while the concept described above involves the data rate not affected if the loading of dummy data units always takes place when the transmission bus is not currently needed anyway, ie is not active.
  • La shows a block diagram of a device according to the invention for the secure loading of user data onto a data carrier
  • 1b shows an exemplary sequence between dummy data units and user data units according to an exemplary embodiment of the present invention
  • FIG. 2 shows a basic block diagram of a latch memory cell
  • FIG. 3 is a timing diagram of an exemplary data flow that is written to the latch memory cell of FIG. 2.
  • FIG. 1 a shows a device according to the invention for the secure loading of user data onto a data carrier 10, which is, for example, a register for storing data or a bus for transmitting data.
  • the inventive device of Fig. La comprises a device for providing blind data 12 and a device for providing
  • the user data will typically consist of user data units.
  • User data units include user data information.
  • the size of a user data unit in bits will depend, for example, on the bus width or on the register size. For example, if the bus has 32 parallel transmission lines, a user data unit will typically be a 32-bit number. It is similar with a register. Has the register z. B. 32 register cells, a user data unit will be 32 bits wide. The number n is then 32. Alternatively, however, if n z. B. is equal to 8, a 32-bit number can be done by four loading cycles over the n-bit path. In this case According to this application, a user data unit is only 8 bits long.
  • the device 12 for providing the dummy data preferably comprises a random number generator, although the random number generator does not necessarily provide ideal random numbers, but can also be a pseudo random number generator, for example, which does not provide ideal random numbers, but which already brings about an improvement in that the Hamming weights from one bus cycle or from one register cycle to the next are no longer immediately apparent.
  • the random number generator does not necessarily provide ideal random numbers, but can also be a pseudo random number generator, for example, which does not provide ideal random numbers, but which already brings about an improvement in that the Hamming weights from one bus cycle or from one register cycle to the next are no longer immediately apparent.
  • the device according to the invention further comprises a control unit 16 for loading the blind data unit from the device 12 onto the data carrier and for subsequently loading the user data unit onto the data carrier, for. B. a register, as represented by a switch unit 18.
  • the control device 16 could also be designed not to load either the blind data or the user data, but rather to combine a combination of blind data and user data, such as. B. load a product from both sizes onto the data carrier. In this case, the Hamming weight of only the user data unit multiplied by the blind data unit can be seen from a performance analysis. Without knowing the control unit 16 for loading the blind data unit from the device 12 onto the data carrier and for subsequently loading the user data unit onto the data carrier, for. B. a register, as represented by a switch unit 18.
  • the control device 16 could also be designed not to load either the blind data or the user data, but rather to combine a combination of blind data and user data, such as. B. load a product from both sizes onto the data carrier. In this case, the Hamming weight
  • the frequency of a blind data unit in the data stream that is supplied to the data carrier 10 by the device 18 can vary. As shown in FIG. 1b, a dummy data unit can be written in front of a user data unit, which is then followed by a dummy data unit, etc. If dummy data units and user data units are written alternately, the highest degree of security is achieved. In the case of a transmission bus however, the transmission capacity is halved since the dummy data unit does not carry any useful information.
  • Another extreme alternative according to the present invention is to initialize the transmission bus to a blind data unit only at the beginning of a transmission burst, that is to say at the beginning of a transmission of a large number of useful data, in such a way that the power consumption no longer directly corresponds to the Hamming weight of the disclosed first user data unit.
  • a safer option is to load not only one dummy data unit but two or more dummy data units before the transmission of a user data unit on the bus.
  • Another option according to the invention is to transmit dummy data units to the bus whenever the bus is not currently active, ie. H. when no data transmission is taking place, for example because the arithmetic unit is currently active.
  • the data carrier 10 is a register, it is preferred to always first write a blind data unit into the register before each writing of a user data unit into a register, for example as shown in FIG. 2, so that when a user data unit is in the register is written, only the Hamming weight of So ⁇ R n can be determined from a performance analysis, where So is the user data unit and R n is the blind data unit, which is preferably a random number.
  • the concept according to the invention is particularly suitable for registers in arithmetic units in the form of standard SRAM cells.
  • the instructions that are executed by the arithmetic unit, as it has been executed, change the contents of the registers.
  • So z. B. when loading the register change the number of zeros and ones, and an attacker could detect data-dependent changes in state without taking measures according to the invention when reading and writing the register.
  • This is invented accordingly thwarted by the fact that, as has been stated, a blind data unit is written to the register each time before a user data unit is written to the register, ie the register is thus initialized to the blind data unit.
  • the product So x R n can also be written into the register, as has been explained.
  • this option has the disadvantage that larger registers are required, since in the binary case the product of two numbers has a size that is approximately equal to the sum of the bits of the multiplication partners.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Zum sicheren Laden von Nutzdaten auf einen Datenträger (10) wird zunächst eine Blinddateneinheit bereitgestellt (14), die eine Zufallszahl sein kann. Ferner wird eine Nutzdateneinheit bereitgestellt (14), die aus einer Folge von Nutzdateneinheiten stammt und Nutzinformationen darstellt. Um eine Leistungsanalyse zum Ermitteln des Hamming-Gewichts von verarbeiteten Nutzdaten abzuwehren, wird vor dem Laden einer Nutzdateneinheit auf den Datenträger (10), der z. B. ein Register oder ein Bus ist, zunächst eine Blinddateneinheit geladen. Damit kann ein Angreifer lediglich das Hamming-Gewicht aus einer Kombination von Nutzdateneinheit und Blinddateneinheit ermitteln, jedoch nicht das Hamming-Gewicht der Nutzdateneinheit selbst.

Description

Beschreibung
Vorrichtung und Verfahren zum sicheren Laden von Nutzdaten
Die vorliegende Erfindung bezieht sich auf die Datenübertragung und insbesondere auf das sichere Laden von Nutzdaten auf einen Datenträger, wie z. B. einen Bus zum Übertragen von Daten oder ein Register zum Speichern von Daten.
Fig. 3 zeigt eine Latch-Speicherzelle eines Registers. Ein 32-Bit-Latch beispielsweise umfaßt 32 Speicherzellen der Form, wie sie prinzipiell in Fig. 2 dargestellt ist. Eine Latch-Speicherzelle umfaßt einen ersten Inverter 200 und einen zweiten Inverter 210, die gegensinnig verschaltet sind, derart, daß der Ausgang beispielsweise des oberen Inverters 200 in den Eingang des unteren Inverters 210 eingespeist wird. Beide Inverter sind somit, wie es in Fig. 2 gezeigt ist, durch einen ersten Verknüpfungspunkt 212a, der den Ausgang eines Inverters mit dem Eingang des anderen Inverters verbindet, und durch einen zweiten Verknüpfungspunkt 212b gekoppelt, der den Eingang des einen Inverters 200 mit dem Ausgang des anderen Inverters 210 verknüpft. Beide gegensinnig verkoppelten Inverter 200, 210 sind zwischen eine Datenleitung 214 und eine Leitung 216 für negierte Daten geschaltet, wobei zwischen den Datenleitungen 214 und 216 und den jeweiligen Verknüpfungspunkten 212a, 212b Schalter 218a und 218b vorgesehen sind. Die beiden Schalter 218a und 218b sind durch eine Steuerleitung 220 steuerbar, um die Schalter 218a, 218b zu schließen, wenn die Speicherzelle ausgelesen werden soll oder beschrieben werden soll, und um die Schalter 218a, 218b zu öffnen, wenn mit der Latch-Speicherzelle nichts geschehen soll, d. h. wenn von ihr weder gelesen werden soll noch auf sie geschrieben werden soll.
Beide Inverter 200, 210 haben jeweils Versorgungsanschlüsse Vcc und Masseanschlüsse GND, um die Transistoren, aus denen die Inverter aufgebaut sind, zu versorgen. Prinzipiell ist die Inverterstruktur von Fig. 2 eine Rückkopplungsschaltung dahingehend, daß wenn beispielsweise auf der rechten Seite Bezug nehmend auf Fig. 2 eine „1" anliegt, auf der linken Seite eine „0" erzeugt wird, während, wenn der entgegenge- setzte Fall betrachtet wird, d. h. der Fall, der in Fig. 2 mit Klammern bezeichnet ist, logisch entgegengesetzte Zustände gehalten werden. Ladungsverluste innerhalb der Inverter werden durch die Versorgungsspannung Vcc ausgeglichen, derart, daß, wenn eine Versorgungsspannung anliegt, entweder die „0" oder die „1" gehalten wird. Im „Halten"-Zustand sind die beiden Schalter 218a, 218b offen, derart, daß keine Verbindung zur Leitung Daten 214 oder zur Leitung Nicht-Daten 216 vorhanden ist.
Soll der Inverter beispielsweise unter Verwendung der Leitung „Daten" 214 ausgelesen werden, so ist eine Treiberschaltung (in Fig. 2 nicht gezeigt) für die Leitung 214 deaktiviert. Ferner wird der Schalter 218a geschlossen, derart, daß die beiden Inverter 200, 210 die Datenleitung 214 mit ihrem je- weiligen Zustand gewissermaßen treiben. Dasselbe kann alternativ oder gleichzeitig mit der Treiberschaltung für die Leitung 216 bzw. mit dem Schalter 218b für die „Negativ"-Seite des Latch-Speichers durchgeführt werden.
Sollen dagegen Daten in die in Fig. 2 gezeigte Registerzelle geschrieben werden, so sind zwei Fälle zu unterscheiden. Generell werden beim Schreiben in eine in Fig. 2 gezeigte Speicherzelle typischerweise beide Schalter 218a, 218b unter Verwendung der Steuerleitung 220 geschlossen. Darüber hinaus werden die Leitungstreiber für die Leitungen 214 und 216 aktiviert, um die Leitungen 214 bzw. 216 zu treiben, während, wie es ausgeführt worden ist, beim Lesen aus der Speicherzelle die Leitungen nicht getrieben werden, sondern die Speicherzellen selbst als Leitungstreiber wirken.
Im ersten Fall, in dem Daten in die Speicherzelle geschrieben werden, und die in die Speicherzelle zu schreibenden Daten die gleichen sind, wie sie in einer Speicherzelle gehalten werden, wird mit der Speicherzelle nichts passieren. Dieser Fall ist in den ersten Zeilen der Tabelle von Fig. 3 dargestellt.
Im zweiten Fall wird durch ein Schreiben auf die Speicherzelle der Dateninhalt verändert. Wenn beispielsweise auf der linken Seite der beiden Inverter 200, 210 von Fig. 2 eine „0" war, und eine „1" eingeschrieben werden soll, so muß der Zu- stand der Speicherzelle geändert werden. Hierzu wird die linke Seite der beiden Inverter über die Datenleitung 214 in einen logischen „lλ,-Zustand gezogen, während die rechte Seite der beiden Inverter 200, 210 durch die Daten-Nicht-Leitung 216 in den logischen „0"-Zustand gezogen wird, wie es auch aus einem Vergleich der zweiten und dritten Zeile von Fig. 3 ersichtlich wird.
Wird dann, in einem zeitlich nachfolgenden Zustand, wieder in die Speicherzelle geschrieben, und wird der Inhalt der Speicherzelle wieder verändert, so geschieht das gleiche, jedoch mit unterschiedlicher Polarität.
Wie es ausgeführt worden ist, ändert sich der Zustand der Speicherzelle nicht, wenn derselbe Wert, der vorher in der Speicherzelle war, in die Speicherzelle geschrieben wird. Wird jedoch der Wert der Speicherzelle geändert, so ändern sich die Zustände in der Speicherzelle. Typischerweise werden CMOS-Schaltungen verwendet. Bei CMOS-Schaltungen findet bei sich nicht veränderndem Zustand typischerweise kein Strom- verbrauch statt, während ein merkbarer Stromverbrauch auftritt, wenn die CMOS-Schaltung eine Zustandsänderung durchführen muß .
Wenn die in Fig. 2 gezeigte Speicherzelle zum Speichern von sensitiven Daten vorgesehen ist, beispielsweise zum Speichern von geheimen Schlüsseln beim RSA-Algorithmus oder irgend einem anderen Kryptoalgorithmus, so könnte ein Angreifer, wenn er den Stromverbrauch der Leitungstreiberschaltung zum Treiben der Leitungen 214 und 216 von Fig. 2 überwacht, oder wenn er die Vcc-Anschlüsse der Inverter 200, 210 überwacht, bereits anhand des Leistungsprofils und von Arbeitstaktinforma- tionen die geheime Information extrahieren, ob sich der Zustand der Speicherzelle geändert hatte oder nicht. Wenn davon ausgegangen wird, daß es für den Angreifer nicht möglich ist, eine einzelne Speicherzelle zu überwachen, so dürfte dies leichter möglich sein, wenn ein gemeinsamer Versorgung- sanschluß für ein Register mit vielen Speicherzellen, wie z. B. 8, 16, 32 oder 64 Speicherzellen, oder aber auch, wenn an Langzahlrechenwerke für kryptographische Anwendungen gedacht wird, 2304 Speicherzellen vorgesehen ist.
Wie es bereits ausgeführt worden ist, benötigt eine Speicherzelle Strom bzw. Leistung, wenn sie ihren Zustand ändert, während sie keinen Strom benötigt, wenn ihr Zustand gleich bleibt. Wenn diese Betrachtung auf ein gesamtes Register mit mehreren Speicherzellen übertragen wird, ergibt sich Folgen- des. Wird beispielsweise davon ausgegangen, daß ein Register mit 16 Speicherzellen zu Anfang auf „0" initialisiert war, und wird nunmehr in das Register eine Zahl geladen, die 16 Bit hat, wobei 10 Bit eine „1" sind, und wobei die restlichen 6 Bit eine „0" darstellen, so werden in 10 der 16 Speicher- zellen dieses Registers solche Zustandsänderungen auftreten. Am Leistungsversorgungsanschluß wird daher ein Leistungs-Peak mit einer bestimmten Höhe erkennbar sein, die davon abhängt, wie viele Bits sich von „0" auf „1" verändert haben. Im vorliegenden Beispiel wird der Leistungs-Peak eine Höhe haben, die gleich dem 10-fachen eines Einheits-Leistungspeaks ist, der anfällt, wenn sich eine einzige Speicherzelle hinsichtlich ihres Zustands ändert. Die Anzahl der Bits in einer Zahl wird auch als Hamming-Gewicht (a) der Zahl a bezeichnet.
Allein aufgrund des Leistungsverbrauchs beim Schreiben auf ein Register kann ein Angreifer somit einen Hinweis auf die Differenz des Hamming-Gewichts des alten Registerinhalts und des Hamming-Gewichts des neuen Registerinhalts erhalten. Ein Angreifer muß somit, um das Register-Schreiben gewöhnlich „unerlaubt" zu überwachen, das Hamming-Gewicht der ersten Zahl haben, um dann immer die Differenz der Hamming-Gewichte aufeinanderfolgender Speicherwerte anhand einer Leistungsanalyse zu erkennen. Typischerweise sind Register zu Beginn auf einen Null-Zustand initialisiert, d. h. die Registerzelle ist bei 0, so daß die erste Leistungsanalyse unmittelbar das Hamming-Gewicht der ersten Zahl liefert. Je nach Anwendungsfall wird das Hamming-Gewicht einer geheimen Zahl dem Angreifer mehr oder weniger nützen. Dennoch ist es insbesondere für hochsichere Anwendungen, wie z. B. für SmartCards für Geldkarten, Personalidentitätskarten, etc. unerwünscht, daß überhaupt irgendwelche Informationen über geheime Zahlen, wie z. B. das Hamming-Gewicht der geheimen Zahl, nach außen dringen, da somit Sicherheitsrisiken entstehen können, die vielleicht heutzutage noch gar nicht absehbar sind.
Eine ähnliche Situation existiert auch, wenn Daten nicht in ein Register geschrieben werden, sondern wenn Daten beispielsweise auf einen Bus gelegt werden sollen. Busse sind typischerweise lang und haben eine beträchtliche Kapazität, die, wenn sich der Zustand der Bitleitung ändern soll, von einer Leitungstreiberschaltung umgeladen werden muß. Nur bei Zustandsänderungen wird die Leitungstreiberschaltung eine
Stromaufnahme zeigen. Auch bei Bussen zum Übertragen von Daten ist somit die Leistungsaufnahme einer Leitungstreiberschaltung ein Indiz für die Differenz des Hamming-Gewichts der auf den Bus neu geladenen Zahl zu der auf dem Bus vorher vorhandenen Zahl. Wenn die auf dem Übertragungsbus vorher vorhandene Zahl eine „0" auf allen Busleitungen des parallelen Busses war, so ist die Leistungsaufnahme der Busleitungstreiberschaltungen ein unmittelbares Indiz für das Hamming- Gewicht der Zahl, die neu auf den Bus geschrieben worden ist. Es sei darauf hingewiesen, daß typischerweise Busse, wenn sie nicht aktiv sind, auf 0 initialisiert sind. Insbesondere für geheime Anwendungen ist es jedoch unerwünscht, daß irgendwel- ehe Informationen nach außen dringen, wie es ausgeführt worden ist.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung und ein Verfahren zum sicheren Laden von Nutzdaten auf einen Datenträger zu schaffen.
Diese Aufgabe wird durch eine Vorrichtung nach Patentanspruch 1 oder durch ein Verfahren nach Patentanspruch 11 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Informationen über das Hamming-Gewicht einer auf einen Datenträger geladenen Zahl für einen Angreifer, auch wenn er sie erfassen kann, beispielsweise mittels einer Leistungsana- lyse, nutzlos gemacht werden können, indem vor dem Laden von Nutzdaten auf den Datenträger Blinddaten auf den Datenträger geladen werden, d. h. daß der Datenträger nicht mehr auf „0" initialisiert wird oder auf eine vorherige Nutzdateneinheit, sondern mittels einer Blinddateneinheit auf einen Blinddaten- wert, der keinen Teil z. B. eines geheimen Schlüssels darstellt, sondern der überhaupt nicht verwendet wird. Vorzugsweise ist die Blinddateneinheit eine Zufallszahl, die von einem in kryptographischen Prozessorsystemen ohnehin vorhandenen Zufallszahlengenerator geliefert wird.
Bevor ein zu schützender Operand S0 in ein Standardregister geschrieben wird, wird erfindungsgemäß beispielsweise eine Zufallszahl Rn als Beispiel für eine Blinddateneinheit, die z. B. eine Länge von 32 Bit hat, in das Register geschrieben. Im schlimmsten Fall kennt der Angreifer dann das Hamming- Gewicht H(Rn) der Zufallszahl und das Hamming-Gewicht H(S0 θ Rn) , wobei der Operator θ eine Modulo-Zwei-Operation darstellt. H(S0) kann aber aus H(Rn) und H(S0Θ Rn) nicht eindeutig bestimmt werden. Anders ausgedrückt basiert die vorlie- gende Erfindung darauf, daß, wenn es nicht möglich ist, Leistungsinformationen nach außen entweichen zu lassen, diese in ihrer Aussagefähigkeit wenigstens zu „verwässern" und somit für einen Angreifer unbrauchbar zu machen.
Der höchste Sicherheitsstandard wird erreicht, wenn die Blinddateneinheit eine Zufallszahl ist, die eine physikalische Zufälligkeit wie beispielsweise von einem Rauschgenerator hat, der auf einem thermischen Rauschen oder einem Schrot-Rauschen eines elektronischen Bauelements basiert. Auch andere Rauschquellen, wie z. B. Pseudo-Rausch-Quellen, die typischerweise unter Verwendung von rückgekoppelten
Schieberegistern aufgebaut werden, liefern jedoch ebenfalls bereits eine Verbesserung gegenüber dem Stand der Technik, auch wenn sie nur pseudo-zufällig sind. Blinddateneinheiten könnten jedoch auch deterministisch erzeugt werden, bei- spielsweise durch Zähler etc., wobei in einer vorgegebenen
Sequenz Zählerwerte als „Zufallszahlen" verwendet werden. Ein Angreifer müßte dann zunächst die Sequenz ermitteln, um dann erst mit der Leistungsanalyse starten zu können. Dieses Ausführungsbeispiel hat nicht die maximale Sicherheit, liefert jedoch ebenfalls ein sichereres Laden eines Registers und ist insbesondere dann von besonderem Vorteil, wenn in einer Schaltung kein Zufallszahlengenerator vorhanden ist, jedoch z. B. eine Zählerschaltung, welche in vielen Rechenwerken ohnehin vorgesehen ist.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß anhand des Hamming-Gewichts, das beim Laden einer Nutzdateneinheit auf einen Datenträger ermittelbar ist, nicht mehr unmittelbar das Hamming-Gewicht einer Nutzdateneinheit oder die Hamming-Gewicht-Differenz zweier aufeinanderfolgenden Nutzdaten angegeben ist, sondern die Differenz des Hamming-Gewichts einer Nutzdateneinheit und einer für den Angreifer nicht bekannten Blinddateneinheit.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß dieses Sicherheitskonzept Software-mäßig implemen- tierbar ist und somit in bestehenden Rechenwerken implementiert werden kann, um sie besser vor Angreifern zu schützen.
Ein weiterer Vorteil der vorliegenden Erfindung besteht dar- in, daß aufgrund der Tatsache, daß das erfindungsgemäße Konzept softwaremäßig realisiert werden kann, keine zusätzliche Hardware und damit keine zusätzliche wertvolle Chipfläche z. B. auf einer SmartCard aufgewendet werden muß.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß sie flexibel anwendbar ist, also z. B. auf das Schreiben von Daten in ein Register oder auf das Schreiben von Daten auf Übertragungsbusse oder allgemein das Laden von Daten auf einen Datenträger.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß sie auch in ihrer Ausführung flexibel ist. So wird bei einem Ausführungsbeispiel der vorliegenden Erfindung unmittelbar vor dem Beginn der Übertragung einer Dateneinhei- tensequenz eine oder eine Mehrzahl von Blinddatenwerten auf den Übertragungsbus übertragen, um dann die Nutzdateneinheiten ohne Unterbrechung zu übertragen. Damit ist es einem Angreifer immer nur möglich, die Differenz der Hamming-Gewichte zwei aufeinanderfolgender Nutzdateneinheiten zu ermitteln, wobei diese Information ohne Kenntnis eines Startwerts jedoch nur von geringem Nutzen ist.
Für maximal sichere Anwendungen kann jedoch auch vor jedem Laden einer Nutzdateneinheit auf den Datenträger der Daten- träger zunächst immer mit einer oder mehreren Blinddatenein- heiten „initialisiert" werden, wobei hier jedoch die Übertragungsrate zumindest halbiert wird, während das im vorstehenden ausgeführte Konzept die Datenrate nicht beeinträchtigt, wenn das Laden von Blinddateneinheiten immer dann stattfin- det, wenn der Übertragungsbus ohnehin gerade nicht benötigt wird, also nicht aktiv ist. Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
Fig. la ein Blockschaltbild einer erfindungsgemäßen Vorrichtung zum sicheren Laden von Nutzdaten auf einen Datenträger;
Fig. lb eine beispielhafte Folge zwischen Blinddateneinhei- ten und Nutzdateneinheiten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 2 ein Prinzipblockschaltbild einer Latch- Speicherzelle; und
Fig. 3 ein Zeitdiagramm eines beispielhaften Datenflusses, der in die Latch-Speicherzelle von Fig. 2 geschrieben wird.
Fig. la zeigt eine erfindungsgemäße Vorrichtung zum sicheren Laden von Nutzdaten auf einen Datenträger 10, der beispielsweise ein Register zum Speichern von Daten oder ein Bus zum Übertragen von Daten ist. Die erfindungsgemäße Vorrichtung von Fig. la umfaßt eine Einrichtung zum Bereitstellen von Blinddaten 12 sowie eine Einrichtung zum Bereitstellen von
Nutzdaten 14. Die Nutzdaten werden typischerweise aus Nutzdateneinheiten bestehen. Nutzdateneinheiten umfassen Nutzdateninformationen. Die Größe einer Nutzdateneinheit in Bit, wenn der binäre Fall betrachtet wird, wird beispielsweise von der Busbreite abhängen oder von der Registergröße. Hat der Bus beispielsweise 32 parallele Übertragungsleitungen, so wird typischerweise eine Nutzdateneinheit eine 32-Bit-Zahl sein. Ähnlich ist es bei einem Register. Hat das Register z. B. 32 Registerzellen, so wird eine Nutzdateneinheit 32 Bit breit sein. Die Zahl n ist dann 32. Alternativ könnte jedoch, wenn n z. B. gleich 8 ist, eine 32-Bit-Zahl durch vier Ladegänge über den n Bit breiten Weg erfolgen. In diesem Fall wäre im Sinne dieser Anmeldung eine Nutzdateneinheit lediglich 8 Bit lang.
Die Einrichtung 12 zum Bereitstellen der Blinddaten umfaßt vorzugsweise einen Zufallszahlengenerator, wobei der Zufallszahlengenerator jedoch nicht unbedingt ideale Zufallszahlen liefert, sondern beispielsweise auch ein Pseudo- Zufallszahlengenerator sein kann, der zwar keine idealen Zufallszahlen liefert, der jedoch bereits eine Verbesserung da- hingehend bewirkt, daß die Hamming-Gewichte von einem Buszyklus bzw. von einem Registerzyklus zum nächsten nicht mehr unmittelbar ersichtlich sind.
Die erfindungsgemäße Vorrichtung umfaßt ferner eine Steuer- einheit 16 zum Laden der Blinddateneinheit von der Einrichtung 12 auf den Datenträger und zum anschließenden Laden der Nutzdateneinheit auf den Datenträger, z. B. ein Register, wie es durch eine Schaltereinheit 18 dargestellt ist. Alternativ könnte die Steuereinrichtung 16 auch ausgebildet sein, um nicht entweder die Blinddaten oder die Nutzdaten zu laden, sondern um eine Kombination aus Blinddaten und Nutzdaten, wie z. B. ein Produkt aus beiden Größen, auf den Datenträger zu laden. In diesem Fall ist das Hamming-Gewicht lediglich der Nutzdateneinheit multipliziert mit der Blinddateneinheit an- hand einer Leistungsanalyse ersichtlich. Ohne Kenntnis der
Blinddateneinheit ist jedoch kein eindeutiger Rückschluß auf die Nutzdateneinheit möglich.
Je nach Ausführungsform kann die Häufigkeit einer Blinddaten- einheit in dem Datenstrom, der dem Datenträger 10 von der Einrichtung 18 zugeführt wird, variieren. Wie es in Fig. lb gezeigt ist, kann eine Blinddateneinheit vor einer Nutzdateneinheit geschrieben werden, der dann wieder eine Blinddateneinheit folgt usw. Wenn Blinddateneinheiten und Nutzdatenein- heiten abwechselnd geschrieben werden, wird das höchste Maß an Sicherheit erreicht. Im Falle eines Übertragungsbusses wird jedoch die Übertragungskapazität halbiert, da die Blinddateneinheit keine Nutzinformationen trägt.
Eine andere extreme Alternative gemäß der vorliegenden Erfin- düng besteht darin, nur zu Beginn eines Übertragungsbursts, also zu Beginn einer Übertragung von vielen Nutzdaten den Ü- bertragungsbus auf eine Blinddateneinheit zu initialisieren, derart, daß die Leistungsaufnahme nicht mehr unmittelbar das Hamming-Gewicht der ersten Nutzdateneinheit offenbart. Eine sicherere Option besteht darin, nicht nur eine Blinddateneinheit sondern zwei oder mehr Blinddateneinheiten vor der Übertragung einer Nutzdateneinheit auf den Bus zu laden.
Eine weitere erfindungsgemäße Option besteht darin, Blindda- teneinheiten immer dann auf den Bus zu übertragen, wenn der Bus gerade nicht aktiv ist, d. h. wenn gerade keine Datenübertragung stattfindet, weil beispielsweise das Rechenwerk gerade aktiv ist.
Falls der Datenträger 10 ein Register ist, so wird es bevorzugt, vor jedem Schreiben einer Nutzdateneinheit in ein Register, das beispielsweise wie in Fig. 2 dargestellt ausgeführt ist, immer zunächst eine Blinddateneinheit in das Register zu schreiben, so daß, wenn eine Nutzdateneinheit in das Register geschrieben wird, immer nur das Hamming-Gewicht von So θ Rn aus einer Leistungsanalyse eruierbar ist, wobei So die Nutzdateneinheit ist, und Rn die Blinddateneinheit ist, welche vorzugsweise eine Zufallszahl ist.
Das erfindungsgemäße Konzept ist besonders für Register in Rechenwerken in Form von Standard-SRAM-Zellen geeignet. Die Befehle, die vom Rechenwerk ausgeführt werden, verändern, wie es ausgeführt worden ist, die Inhalte der Register. So kann sich z. B. beim Laden der Register die Anzahl der Nullen und Einsen ändern, und ein Angreifer könnte datenabhängige Zustandsänderungen ohne erfindungsgemäße Vorkehrungen beim Lesen und Schreiben des Registers erkennen. Dies wird erfin- dungsgemäß dadurch vereitelt, daß, wie es ausgeführt worden ist, vor jedem Schreiben einer Nutzdateneinheit in das Register eine Blinddateneinheit in das Register geschrieben wird, d. h. das Register also auf die Blinddateneinheit initiali- siert wird. Alternativ kann auch, wie es ausgeführt worden ist, das Produkt So x Rn ins Register geschrieben werden. Diese Option hat jedoch den Nachteil, daß größere Register benötigt werden, da im binären Fall das Produkt zweier Zahlen eine Größe hat, die etwa gleich der Summe der Bits der Multi- plikationspartner ist.
Bezugszeichenliste
10 Datenträger
12 Einrichtung zum Bereitstellen der Blinddaten 14 Einrichtung zum Bereitstellen der Nutzdaten 16 Steuereinheit 18 Schalteinheit 200 erster Inverter 210 zweiter Inverter 212a erster Kopplungspunkt 212b zweiter Kopplungspunkt 214 Leitung für die Daten 216 Leitung für die negierten Daten 218a erster gesteuerter Schalter 218b zweiter gesteuerter Schalter
220 Steuerleitung für die gesteuerten Schalter

Claims

Patentansprüche
1. Vorrichtung zum sicheren Laden von Nutzdaten auf einen Datenträger (10), mit folgenden Merkmalen:
eine Einrichtung (14) zum Bereitstellen der Nutzdaten, wobei die Nutzdaten eine Nutzdateneinheit aufweisen, wobei die Nutzdateneinheit Nutzinformationen aufweist;
eine Einrichtung (12) zum Bereitstellen einer Blinddateneinheit, die keine Nutzinformation aufweist; und
eine Steuereinheit (16) zum Laden der Blinddateneinheit auf den Datenträger (10), und zum anschließenden Laden der Nutzdateneinheit auf den Datenträger oder zum Laden einer Kombination von Blinddateneinheit und Nutzdateneinheit auf den Datenträger.
2. Vorrichtung nach Anspruch 1,
bei der der Datenträger (10) ein Register zum Speichern von Daten oder ein Bus zum Übertragen von Daten ist.
3. Vorrichtung nach Anspruch 1 oder 2,
bei der die Einrichtung (12) zum Bereitstellen der Blinddateneinheit einen Zufallszahlengenerator aufweist, wobei die Blinddateneinheit eine Zufallszahl ist.
4. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der sowohl die Nutzdateneinheit als auch die Blinddateneinheit binäre Daten aufweisen, die jeweils eine gleiche Men- ge von zumindest zwei Bits und vorzugsweise mehr als acht Bits aufweisen.
5. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Kombination aus Blinddateneinheit und Nutzdateneinheit ein Produkt aus der Blinddateneinheit und der Nutzda- teneinheit ist.
6. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Steuereinrichtung (16) ausgebildet ist, um vor dem Laden der Nutzdateneinheit auf den Datenträger (10) eine Mehrzahl von unterschiedlichen Blinddateneinheiten auf den Datenträger (10) zu laden.
7. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der der Datenträger ein Bus zum Übertragen von Daten ist,
bei der die Einrichtung (14) zum Bereitstellen der Nutzdaten ausgebildet ist, um eine Folge von Nutzdateneinheiten bereit- zustellen, und
bei der die Steuereinrichtung (16) ausgebildet ist, um vor dem Laden der ersten Nutzdateneinheit der Folge zumindest eine Blinddateneinheit auf den Bus zu laden.
8. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der der Datenträger (10) ein Bus zum Übertragen von Daten ist,
bei der die Einrichtung zum Bereitstellen der Nutzdaten ausgebildet ist, um eine Folge von Nutzdateneinheiten bereitzustellen, und
bei der die Steuereinrichtung (16) ausgebildet ist, um vor dem Laden einer vorbestimmten oder frei ausgewählten Anzahl von Nutzdateneinheit eine Blinddateneinheit auf den Bus zu laden.
9. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der der Datenträger (10) ein Bus ist, und
bei der die Steuereinheit (16) ferner ausgebildet ist, um eine oder mehrere Blinddateneinheiten dann auf den Bus zu la- den, wenn auf dem Bus gerade keine Übertragung von Nutzinformationen stattfindet.
10. Vorrichtung nach einem der Ansprüche 1 bis 5,
bei der der Datenträger (10) ein Register ist, das eine Mehrzahl von Latch-Speicherzellen aufweist,
wobei jede Latch-Speicherzelle zwei gegensinnig gekoppelte Inverter (200, 210) aufweist, die zwischen einer Leitung (214) für die Nutzdaten und einer Leitung (216) für negierte Nutzdaten geschaltet sind, und
wobei zwischen den gekoppelten Invertern (200, 210) und der Leitung (214) für die Nutzdaten bzw. der Leitung (216) für die negierten Nutzdaten jeweils ein gesteuerter Schaltung
(218a, 218b) angeordnet ist, der offen ist, wenn kein Lesenoder Schreiben-Vorgang mit der Latch-Speicherzelle ausgeführt wird,
bei der die Steuereinheit (16) ausgebildet ist, um beim Laden die gesteuerten Schalter (218a, 218b) zu schließen, und
bei der die Einrichtung (12) zum Bereitstellen der Nutzdateneinheit und die Einrichtung (14) zum Bereitstellen der Blind- dateneinheit ausgebildet sind, um die Datenleitung (214) und die Leitung (216) für die negierten Daten zu treiben.
11. Verfahren zum sicheren Laden von Nutzdaten auf einen Datenträger (10), mit folgenden Schritten
Bereitstellen (14) der Nutzdaten, wobei die Nutzdaten eine Nutzdateneinheit aufweisen, wobei die Nutzdateneinheit Nutzinformationen aufweist;
Bereitstellen (12) einer Blinddateneinheit, die keine Nutzinformation aufweist; und
Laden (18) der Blinddateneinheit auf den Datenträger (10) und, anschließend, Laden der Nutzdateneinheit auf den Datenträger (10) oder Laden einer Kombination von Blinddateneinheit und Nutzdateneinheit auf den Datenträger (10) .
PCT/EP2003/002974 2002-03-25 2003-03-21 Vorrichtung und verfahren zum sicheren laden von nutzdaten WO2003081398A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003221512A AU2003221512A1 (en) 2002-03-25 2003-03-21 Device and method for securely loading useful data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2002113268 DE10213268A1 (de) 2002-03-25 2002-03-25 Vorrichtung und Verfahren zum sicheren Laden von Nutzdaten
DE10213268.2 2002-03-25

Publications (2)

Publication Number Publication Date
WO2003081398A2 true WO2003081398A2 (de) 2003-10-02
WO2003081398A3 WO2003081398A3 (de) 2004-07-29

Family

ID=28050819

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/002974 WO2003081398A2 (de) 2002-03-25 2003-03-21 Vorrichtung und verfahren zum sicheren laden von nutzdaten

Country Status (4)

Country Link
AU (1) AU2003221512A1 (de)
DE (1) DE10213268A1 (de)
TW (1) TW200400732A (de)
WO (1) WO2003081398A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267354A1 (de) * 2016-07-04 2018-01-10 Gemalto Sa Sicheres laden von geheimen daten in ungeschützte hardware-register

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748588A (en) * 1994-09-20 1998-05-05 Sony Corporation Memory controller and recording apparatus which adds dummy data to complete a sector of data when writing to memory
DE19936938A1 (de) * 1998-09-30 2000-04-06 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910184A1 (de) * 1999-03-09 2000-09-14 Deutsche Telekom Ag Verfahren zur Erhöhung der Datensicherheit von Implementierungen kryptographischer Algorithmen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748588A (en) * 1994-09-20 1998-05-05 Sony Corporation Memory controller and recording apparatus which adds dummy data to complete a sector of data when writing to memory
DE19936938A1 (de) * 1998-09-30 2000-04-06 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb zum Verhindern einer differentiellen Stromverbrauchanalyse

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267354A1 (de) * 2016-07-04 2018-01-10 Gemalto Sa Sicheres laden von geheimen daten in ungeschützte hardware-register
WO2018007113A1 (en) * 2016-07-04 2018-01-11 Gemalto Sa Secure loading of secret data to non-protected hardware registers
KR20190024985A (ko) * 2016-07-04 2019-03-08 제말토 에스에이 보호되지 않는 하드웨어 레지스터로의 비밀 데이터의 안전한 로딩
JP2019519866A (ja) * 2016-07-04 2019-07-11 ジエマルト・エス・アー 保護されていないハードウェアレジスタへの秘密データの安全なローディング
KR102219029B1 (ko) * 2016-07-04 2021-02-22 제말토 에스에이 보호되지 않는 하드웨어 레지스터로의 비밀 데이터의 안전한 로딩
US11157658B2 (en) 2016-07-04 2021-10-26 Thales Dis France Sa Secure loading of secret data to non-protected hardware registers

Also Published As

Publication number Publication date
DE10213268A1 (de) 2003-10-23
AU2003221512A1 (en) 2003-10-08
WO2003081398A3 (de) 2004-07-29
TW200400732A (en) 2004-01-01

Similar Documents

Publication Publication Date Title
DE60302512T2 (de) Feistel-Verschlüsselungsverfahren und -vorrichtung mit Schutz gegen DPA-Angriffe
DE69929471T2 (de) Datenträger mit verborgenem leistungsverbrauch
EP0981115B1 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE102009024179B4 (de) Schaltung mit einer Mehrzahl von Funktionsweisen
EP1234239A2 (de) Mikroprozessoranordnung mit verschlüsselung
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE10223176B3 (de) Integrierte Schaltung mit sicherheitskritischen Schaltungskomponenten
DE102008051447A1 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
DE60113721T2 (de) Logischer schaltkreis mit variablen internen polaritäten
EP1272984A1 (de) Tragbarer datenträger mit zugriffsschutz durch nachrichtenverfremdung
DE112018002723T5 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
WO2003081398A2 (de) Vorrichtung und verfahren zum sicheren laden von nutzdaten
DE69934707T2 (de) Gegenmassnahmenvorrichtung in einem elektronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durchzuführen
EP2545483A1 (de) Ausspähungsschutz bei der ausführung einer operationssequenz in einem tragbaren datenträger
EP1080400B1 (de) Verfahren und vorrichtung zum verarbeiten von daten
DE102015209120A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
EP1488428B1 (de) Registerzelle und verfahren zum schreiben auf die registerzelle
DE69909118T2 (de) Vorrichtung und verfahren zur sicherung einer integrierten schaltung
DE10042234A1 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
DE102004063898B9 (de) Übertragungsvorrichtung
WO2003084120A1 (de) Schaltungsordnung zum sicheren informationsaustausch zwischen einem sender und einem empfänger
EP1588518B1 (de) Vorrichtung und verfahren zum berechnen von verschlüsselten daten aus unverschlüsselten daten oder von unverschlüsselten daten aus verschlüsselten daten
EP3504616B1 (de) Modul und verfahren zur abgesicherten berechnung von mathematischen operationen
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
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WA Withdrawal of international application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642