DE10213268A1 - Device and method for the safe loading of user data - Google Patents

Device and method for the safe loading of user data

Info

Publication number
DE10213268A1
DE10213268A1 DE2002113268 DE10213268A DE10213268A1 DE 10213268 A1 DE10213268 A1 DE 10213268A1 DE 2002113268 DE2002113268 DE 2002113268 DE 10213268 A DE10213268 A DE 10213268A DE 10213268 A1 DE10213268 A1 DE 10213268A1
Authority
DE
Germany
Prior art keywords
data
user data
data unit
blind
user
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
Application number
DE2002113268
Other languages
German (de)
Inventor
Astrid Elbe
Norbert Janssen
Holger Sedlak
Jean-Pierre Seifert
Tanja Roemer
Wieland Fischer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
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 DE2002113268 priority Critical patent/DE10213268A1/en
Priority to AU2003221512A priority patent/AU2003221512A1/en
Priority to PCT/EP2003/002974 priority patent/WO2003081398A2/en
Priority to TW92106545A priority patent/TW200400732A/en
Publication of DE10213268A1 publication Critical patent/DE10213268A1/en
Withdrawn legal-status Critical Current

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

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.For the secure loading of user data onto a data carrier (10), a blind data unit is first provided (14), which can be a random number. Furthermore, a user data unit is provided (14) which comes from a sequence of user data units and represents user information. In order to ward off a performance analysis for determining the Hamming weight of processed user data, a user data unit is loaded onto the data carrier (10), which, for. B. is a register or a bus, first loaded a dummy data unit. An attacker can thus only determine the Hamming weight from a combination of user data unit and blind data unit, but not the Hamming weight of the user data unit itself.

Description

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. The present invention relates to Data transmission and in particular on the secure loading of user data a disk, such as B. a bus for transmitting Data or a register for storing data.

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. Fig. 3 is a latch memory cell indicates a register. 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 212 a, which connects the output of one inverter to the input of the other inverter, and by a second node 212 b, which connects the input of one inverter 200 linked to the output of the other inverter 210 . Both oppositely coupled inverters 200 , 210 are connected between a data line 214 and a line 216 for negated data, switches 218 a and 218 b being provided between the data lines 214 and 216 and the respective connection points 212 a, 212 b. The two switches 218 a and 218 b can be controlled by a control line 220 in order to close the switches 218 a, 218 b when the memory cell is to be read out or to be written to, and to open the switches 218 a, 218 b when nothing should happen to the latch memory cell, ie if it is neither to be read from nor to be written to.

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 entgegengesetzte 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. 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. In principle, the inverter structure of Fig. 2 is a feedback circuit in that if, for example, 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 218 a, 218 b are open in such a way that there is no connection to the data line 214 or to the non-data line 216 .

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 jeweiligen 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. If the inverter is to be read out, for example, using the “data” line 214 , a driver circuit (not shown in FIG. 2) for the line 214 is deactivated. Furthermore, the switch 218 a is closed in such a way that the two inverters 200 , 210 drive the data line 214 with their respective states to a certain extent. 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.

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. On the other hand, if data are to be written into the register cell shown in FIG. 2, two cases have to be distinguished. In general, when writing to a memory cell shown in FIG. 2, typically both switches 218 a, 218 b are closed using control line 220 . In addition, the line drivers for lines 214 and 216 are activated to drive lines 214 and 216, respectively, while, as has been explained, when reading from the memory cell the lines are not driven, but the memory cells themselves act as line drivers.

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. In the first case, where data is written into the memory cell and the data to be written into the memory cell is the same as that held in a memory cell, nothing will happen to the memory cell. This case is shown in the first rows of the table in FIG. 3.

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 Zustand der Speicherzelle geändert werden. Hierzu wird die linke Seite der beiden Inverter über die Datenleitung 214 in einen logischen "1"-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. In the second case, the data content is changed by writing to the memory cell. For example, if a "0" was on the left side of the two inverters 200 , 210 of FIG. 2 and a "1" is to be written in, the state of the memory cell must be changed. For this purpose, the left side of the two inverters is pulled into a logic "1" state via the data line 214 , while the right side of the two inverters 200 , 210 is pulled into the logic "0" state through the data non-line 216 , as can also be seen from a comparison of the second and third lines of FIG. 3.

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. Then, in a subsequent time, again written into the memory cell, and the content of the Memory cell changed again, so the same thing happens but with different polarity.

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 Stromverbrauch statt, während ein merkbarer Stromverbrauch auftritt, wenn die CMOS-Schaltung eine Zustandsänderung durchführen muß. As it has been done, the state of the changes Memory cell not if the same value that was previously in the Memory cell was, in which the memory cell is written. However, if the value of the memory cell is changed, change it the states in the memory cell. Typically CMOS circuits used. With CMOS circuits takes place at unchanging state typically none Power consumption takes place while a noticeable power consumption occurs when the CMOS circuit changes state must perform.

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 Arbeitstaktinformationen 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 Versorgungsanschluß 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. If the memory cell shown in FIG. 2 is intended for storing sensitive data, for example for storing secret keys in the RSA algorithm or some other crypto-algorithm, an attacker could, if he uses the power of the line driver circuit to drive lines 214 and 216 monitored by Fig. 2, or if it, extract the Vcc terminals of the inverters 200, 210 monitors already on the basis of the power profile and stroke information, the secret information, whether there was a change of 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 else, if long number computing systems are considered for cryptographic applications, 2304 memory cells are provided.

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 Folgendes. 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 Speicherzellen 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. As has already been stated, one is required Memory cell current or power if it changes its state, while she doesn't need electricity if her condition is the same remains. If this consideration applies to an entire register multiple memory cells is transferred, results A. For example, if it is assumed that a register was initially initialized to "0" with 16 memory cells, and now a number is loaded into the register, the 16th Bit, with 10 bits being a "1" and the rest 6 bits represent a "0", so in 10 of the 16 Memory cells of this register such status changes occur. There is therefore a power peak at the power supply connection be recognizable 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, which arises when there is a single memory cell changes in condition. The number of bits in a number is also called the Hamming weight (a) of the number a.

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. Simply because of the power consumption when writing on An attacker can thus use a registry to point out the Difference in the Hamming weight of the old register content and of the Hamming weight of the new register content. On The attacker must therefore use the register write normally "Illegal" to monitor the Hamming weight of the first Number then always have the difference of the Hamming weights successive stored values based on a Recognize performance analysis. Typically, registers are initially open initializes a zero state, d. H. is the register cell at 0, so that the first performance analysis immediately Hamming weight of the first number returns. Depending on the application the Hamming weight of a secret number becomes the attacker more or less useful. Still, it is especially for highly secure applications such as B. for SmartCards for Money cards, personal identity cards, etc. undesirable for that any information about secret numbers at all, such as B. the Hamming weight of the secret number, leaking out, because security risks can arise that may are not foreseeable today.

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ß irgendwelche Informationen nach außen dringen, wie es ausgeführt worden ist. A similar situation also exists when data is not in a register will be written, but if data for example, to be placed on a bus. Buses are typically long and have considerable capacity which, if the state of the bit line is to change, from a line driver circuit must be reloaded. Only at The line driver circuit becomes a state change Show current consumption. Also for buses for the transmission of Data is therefore the power consumption of a Line driver circuit an indication of the difference in Hamming weight the number reloaded on the bus to the number previously on the bus existing number. If that on the transmission bus beforehand existing number a "0" on all bus lines of the parallel bus, so is the power consumption of the Bus line driver circuits an immediate indication of the Hamming Weight of the number that has been rewritten on the bus. It should be noted that typically buses if they are not active, are initialized to 0. Especially for secret applications, however, it is undesirable that any information leak out as it runs has been.

Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung und ein Verfahren zum sicheren Laden von Nutzdaten auf einen Datenträger zu schaffen. The object of the present invention is a Device and a method for the safe loading of To create user data on a data carrier.

Diese Aufgabe wird durch eine Vorrichtung nach Patentanspruch 1 oder durch ein Verfahren nach Patentanspruch 11 gelöst. This object is achieved by a device according to claim 1 or solved by a method according to claim 11.

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 Leistungsanalyse, 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 Blinddatenwert, 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. The present invention is based on the finding that the information about the Hamming weight one on one Disk loaded number for an attacker, even if he it can record, for example by means of a Performance analysis that can be rendered useless by loading before User data on the data carrier Blind data on the data carrier be loaded, d. H. that the disk is no longer at "0" is initialized or to a previous user data unit, but by means of a blind data unit on one Blind data value that does not contain a part e.g. B. a secret key represents, but is not used at all. Preferably, the dummy data unit is a random number that is from one in cryptographic processor systems anyway existing random number generator is delivered.

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 vorliegende 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. Before an operand S 0 to be protected is written into a standard register, according to the invention, for example, 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. In the worst case, 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. However, H (S 0 ) cannot be uniquely determined from H (R n ) and H (S 0 ⊕ R n ). In other words, the present invention is based on the fact that, if it is not possible to allow performance information to escape to the outside, it should at least "water down" its meaningfulness and thus render it unusable for an attacker.

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, beispielsweise 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. The highest security standard is achieved when the Dummy data unit is a random number that is a physical randomness such as from one Has noise generator based on a thermal noise or a Shot noise of an electronic component is based. Other sources of noise, such as B. pseudo-noise sources, which are typically using feedback Shift registers are built, but also deliver already an improvement over the state of the art, even if they are only pseudo-random. Dummy data units could also be generated deterministically, for example by means of counters, etc., in a given Sequence counter values can be used as "random numbers". On The attacker would then have to determine the sequence first and then to be able to start with the performance analysis. This Embodiment does not have the maximum security that delivers however also a more secure loading of a register and is particularly advantageous if in one Circuit no random number generator is present, however z. B. a counter circuit, which in many arithmetic units is provided anyway.

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. An advantage of the present invention is that based on the Hamming weight, which when loading one User data unit can be determined on a data carrier, no more directly the Hamming weight of a user data unit or the Hamming weight difference between two consecutive Payload is specified, but the difference in Hamming weight a user data unit and one for the attacker not known blind data unit.

Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß dieses Sicherheitskonzept Software-mäßig implementierbar ist und somit in bestehenden Rechenwerken implementiert werden kann, um sie besser vor Angreifern zu schützen. Another advantage of the present invention is in that this security concept is software-like is implementable and thus in existing arithmetic units can be implemented to better protect them from attackers.

Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, 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ß. Another advantage of the present invention is in that due to the fact that the inventive Concept can be implemented in software, no additional Hardware and thus no additional valuable chip area z. B. must be spent on a SmartCard.

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. Another advantage of the present invention is in that it can be used flexibly, e.g. B. on that Writing data to a register or writing to it of data on transmission buses or generally loading of Data on a data carrier.

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 Dateneinheitensequenz 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. Another advantage of the present invention is in that it is flexible in its execution. So will in one embodiment of the present invention immediately before the start of the transfer of a Data unit sequence one or a plurality of dummy data values the transmission bus, then the Transfer user data units without interruption. So that's it Attackers only ever possible the difference in Hamming weights to determine two successive user data units, this information, however, without knowing a starting value is of little use.

Für maximal sichere Anwendungen kann jedoch auch vor jedem Laden einer Nutzdateneinheit auf den Datenträger der Datenträger zunächst immer mit einer oder mehreren Blinddateneinheiten "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 stattfindet, wenn der Übertragungsbus ohnehin gerade nicht benötigt wird, also nicht aktiv ist. For maximum safe applications, however, can also be used in front of everyone Loading a user data unit onto the data carrier of the Data carriers always initially with one or more Blind data units are "initialized", but here the Transfer rate is at least halved, while that in the above concept does not affect the data rate, if loading dummy data units then takes place when the transmission bus is not needed anyway is, so is not active.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen: Preferred embodiments of the present invention are referred to below with reference to the enclosed Drawings explained in detail. Show it:

Fig. 1a ein Blockschaltbild einer erfindungsgemäßen Vorrichtung zum sicheren Laden von Nutzdaten auf einen Datenträger; Figure 1a is a block diagram of an inventive apparatus for safe charging of user data on a data carrier.

Fig. 1b eine beispielhafte Folge zwischen Blinddateneinheiten und Nutzdateneinheiten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; FIG. 1b is an exemplary sequence between dummy data units and Nutzdateneinheiten according to an embodiment of the present invention;

Fig. 2 ein Prinzipblockschaltbild einer Latch- Speicherzelle; und Fig. 2 is a principle block diagram of a latch memory cell; and

Fig. 3 ein Zeitdiagramm eines beispielhaften Datenflusses, der in die Latch-Speicherzelle von Fig. 2 geschrieben wird. FIG. 3 is a timing diagram of an exemplary data flow that is written to the latch memory cell of FIG. 2.

Fig. 1a 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. 1a 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. Fig. 1a shows an inventive device for safe charging of user data to a disk 10, which is, for example, a register for storing data or a bus for transmitting data. The device according to the invention from FIG. 1 a comprises a device for providing blind data 12 and a device for providing user data 14 . 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, if the binary case is considered, 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, in the sense of this application, a user data unit would only be 8 bits long.

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 dahingehend bewirkt, daß die Hamming-Gewichte von einem Buszyklus bzw. von einem Registerzyklus zum nächsten nicht mehr unmittelbar ersichtlich sind. 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.

Die erfindungsgemäße Vorrichtung umfaßt ferner eine Steuereinheit 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 anhand einer Leistungsanalyse ersichtlich. Ohne Kenntnis der Blinddateneinheit ist jedoch kein eindeutiger Rückschluß auf die Nutzdateneinheit möglich. 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, e.g. B. a register, as represented by a switch unit 18 . Alternatively, 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 of 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 knowledge of the blind data unit, however, no clear conclusion about the useful data unit is possible.

Je nach Ausführungsform kann die Häufigkeit einer Blinddateneinheit in dem Datenstrom, der dem Datenträger 10 von der Einrichtung 18 zugeführt wird, variieren. Wie es in Fig. 1b gezeigt ist, kann eine Blinddateneinheit vor einer Nutzdateneinheit geschrieben werden, der dann wieder eine Blinddateneinheit folgt usw. Wenn Blinddateneinheiten und Nutzdateneinheiten 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. Depending on the embodiment, 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 blind data unit can be written in front of a user data unit, which is then followed by a blind data unit, etc. If blind data units and user data units are written alternately, the highest level 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.

Eine andere extreme Alternative gemäß der vorliegenden Erfindung 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. Another extreme alternative according to the present Invention is only at the beginning of a transmission burst, So at the beginning of a transmission of a lot of user data Initialize the transmission bus to a dummy data unit, such that the power consumption no longer directly Hamming weight of the first user data unit is disclosed. A safer option is not just one Blind data unit but two or more blind data units before Load a user data unit onto the bus.

Eine weitere erfindungsgemäße Option besteht darin, Blinddateneinheiten 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. Another option according to the invention consists in Always transmit dummy data units on the bus when the Bus is not currently active, d. H. if none Data transmission takes place because, for example, the arithmetic logic unit is currently active.

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 S0 ⊕ Rn aus einer Leistungsanalyse eruierbar ist, wobei S0 die Nutzdateneinheit ist, und Rn die Blinddateneinheit ist, welche vorzugsweise eine Zufallszahl ist. If 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 S 0 ⊕ R n can be determined from a performance analysis, where S 0 is the user data unit and R n is the blind data unit, which is preferably a random number.

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 erfindungsgemäß 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 initialisiert wird. Alternativ kann auch, wie es ausgeführt worden ist, das Produkt S0 × 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 Multiplikationspartner 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
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 thwarted according to the invention in that, as has been carried out, a blind data unit is written into the register each time a user data unit is written to the register, ie the register is thus initialized to the blind data unit. Alternatively, as has been explained, the product S 0 × R n can also be written into the register. However, 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. LIST OF REFERENCE SIGNS 10 data carriers
12 Device for providing the blind data
14 Device for providing the user data
16 control unit
18 switching unit
200 first inverter
210 second inverter
212 a first coupling point
212 b second coupling point
214 Line for the data
216 Line for the negated data
218 a first controlled switch
218 b second controlled switch
220 control line for the controlled switches

Claims (11)

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.
1. Device for the secure loading of user data onto a data carrier ( 10 ), with the following features:
a device ( 14 ) for providing the user data, the user data having a user data unit, the user data unit having user information;
means ( 12 ) for providing a dummy data unit which has no useful information; and
a control unit ( 16 ) for loading the blind data unit onto the data carrier ( 10 ) and for subsequently loading the user data unit onto the data carrier or for loading a combination of blind data unit and user data unit onto the data carrier.
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. 2. Device according to claim 1, wherein the data carrier ( 10 ) is a register for storing data or a bus for transmitting data. 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. 3. Apparatus according to claim 1 or 2, wherein the means ( 12 ) for providing the blind data unit comprises a random number generator, the blind data unit being a random number. 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 Menge von zumindest zwei Bits und vorzugsweise mehr als acht Bits aufweisen. 4. Device according to one of the preceding claims, in which both the user data unit and the Have blind data unit binary data, each one the same Set of at least two bits and preferably more than eight Have bits. 5. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Kombination aus Blinddateneinheit und Nutzdateneinheit ein Produkt aus der Blinddateneinheit und der Nutzdateneinheit ist. 5. Device according to one of the preceding claims, where the combination of blind data unit and User data unit a product of the blind data unit and the User data unit is. 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. 6. Device according to one of the preceding claims, in which the control device ( 16 ) is designed to load a plurality of different blind data units onto the data carrier ( 10 ) before loading the user data unit onto the data carrier ( 10 ). 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 bereitzustellen, 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.
7. Device according to one of the preceding claims,
where the data carrier is a bus for transferring data,
in which the device ( 14 ) is designed to provide the useful data in order to provide a sequence of useful data units, and
in which the control device ( 16 ) is designed to load at least one blind data unit onto the bus before loading the first user data unit of the sequence.
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.
8. Device according to one of the preceding claims,
in which the data carrier ( 10 ) is a bus for transmitting data,
in which the device for providing the user data is designed to provide a sequence of user data units, and
in which the control device ( 16 ) is designed to load a blind data unit onto the bus before loading a predetermined or freely selected number of user data units.
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 laden, wenn auf dem Bus gerade keine Übertragung von Nutzinformationen stattfindet.
9. Device according to one of the preceding claims,
in which the data carrier ( 10 ) is a bus, and
in which the control unit ( 16 ) is also designed to load one or more dummy data units onto the bus when no useful information is being transmitted on the bus.
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 Lesen- oder 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 Blinddateneinheit ausgebildet sind, um die Datenleitung (214) und die Leitung (216) für die negierten Daten zu treiben.
10. The device according to one of claims 1 to 5,
in which the data carrier ( 10 ) is a register which has a plurality of latch memory cells,
wherein each latch memory cell has two oppositely coupled inverters ( 200 , 210 ) which are connected between a line ( 214 ) for the user data and a line ( 216 ) for negated user data, and
a controlled circuit ( 218 a, 218 b) is arranged between the coupled inverters ( 200 , 210 ) and the line ( 214 ) for the user data and the line ( 216 ) for the negated user data, which is open if none Read or write operation is carried out with the latch memory cell,
in which the control unit ( 16 ) is designed to close the controlled switches ( 218 a, 218 b) during charging, and
in which the device ( 12 ) for providing the useful data unit and the device ( 14 ) for providing the blind data unit are designed to drive the data line ( 214 ) and the line ( 216 ) for the negated data.
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).
11. A method for securely loading user data onto a data carrier ( 10 ), with the following steps
Providing ( 14 ) the user data, the user data having a user data unit, the user data unit having user information;
Providing ( 12 ) a blind data unit which has no useful information; and
Loading ( 18 ) the blind data unit onto the data carrier ( 10 ) and, subsequently, loading the user data unit onto the data carrier ( 10 ) or loading a combination of blind data unit and user data unit onto the data carrier ( 10 ).
DE2002113268 2002-03-25 2002-03-25 Device and method for the safe loading of user data Withdrawn DE10213268A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE2002113268 DE10213268A1 (en) 2002-03-25 2002-03-25 Device and method for the safe loading of user data
AU2003221512A AU2003221512A1 (en) 2002-03-25 2003-03-21 Device and method for securely loading useful data
PCT/EP2003/002974 WO2003081398A2 (en) 2002-03-25 2003-03-21 Device and method for securely loading useful data
TW92106545A TW200400732A (en) 2002-03-25 2003-03-24 Apparatus and method for securely loading payload data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002113268 DE10213268A1 (en) 2002-03-25 2002-03-25 Device and method for the safe loading of user data

Publications (1)

Publication Number Publication Date
DE10213268A1 true DE10213268A1 (en) 2003-10-23

Family

ID=28050819

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002113268 Withdrawn DE10213268A1 (en) 2002-03-25 2002-03-25 Device and method for the safe loading of user data

Country Status (4)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267354A1 (en) * 2016-07-04 2018-01-10 Gemalto Sa Secure loading of secret data to non-protected hardware registers

Citations (3)

* 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 (en) * 1998-09-30 2000-04-06 Philips Corp Intellectual Pty Data processing device and method for its operation to prevent differential power consumption analysis
DE19910184A1 (en) * 1999-03-09 2000-09-14 Deutsche Telekom Ag Methods for increasing the data security of implementations of cryptographic algorithms

Patent Citations (3)

* 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 (en) * 1998-09-30 2000-04-06 Philips Corp Intellectual Pty Data processing device and method for its operation to prevent differential power consumption analysis
DE19910184A1 (en) * 1999-03-09 2000-09-14 Deutsche Telekom Ag Methods for increasing the data security of implementations of cryptographic algorithms

Also Published As

Publication number Publication date
WO2003081398A2 (en) 2003-10-02
AU2003221512A1 (en) 2003-10-08
WO2003081398A3 (en) 2004-07-29
TW200400732A (en) 2004-01-01

Similar Documents

Publication Publication Date Title
DE68927755T2 (en) SYSTEM FOR SECURE Cipher Key Processing
DE112008000668B4 (en) Cryptographic method and system
EP1262037B1 (en) Portable data carrier provided with access protection by dividing up codes
EP0981115B1 (en) Encyphering program execution method for data encyphering in a microprocessor-supported portable data carrier
WO2001040950A2 (en) Microprocessor arrangement having an encoding function
DE102015110431A1 (en) Cryptographic processor, method for implementing a cryptographic processor and key generation circuit
DE102009024179A1 (en) Circuit with a plurality of functions
DE60204955T2 (en) MEASURES IN AN ELECTRONIC BUILDING PIECE TO PERFORM A CYPRUS ALGORITHM WITH ELLIPTIC CURVES-BASED PUBLIC KEY
DE102004042826B4 (en) Method and device for data encryption
DE102009007246A1 (en) Pseudo-random number generator and method for generating a pseudorandom number bit sequence
DE602004001732T2 (en) Data encryption in an electronic device with multiple symmetric processors
DE102008051447A1 (en) Method and apparatus for protecting an RSA calculation on an output using the Chinese Remainder Theorem
EP1508170A2 (en) Active shield of an integrated circuit
EP1272984A1 (en) Portable data carrier provided with access protection by rendering messages unfamiliar
DE112018002723T5 (en) SYSTEM, METHOD AND DEVICE FOR HIDDEN DEVICE OPERATIONS
DE10213268A1 (en) Device and method for the safe loading of user data
DE69934707T2 (en) COUNTER-MEASUREMENT DEVICE IN AN ELECTRONIC COMPONENT TO CARRY OUT A CYCLO ALGORITHM WITH SECRETARY KEY
EP1080400B1 (en) Method and device for processing data
WO2001013330A1 (en) Integrated circuit and circuit arrangement for supplying an integrated circuit with electricity
DE102021101697B3 (en) DATA PROCESSING DEVICE AND METHOD FOR PROCESSING SECRET DATA
EP1488428B1 (en) Register cell and method for writing into said register cell
DE10224742A1 (en) Data processing circuit and method for transmitting data
DE69909118T2 (en) DEVICE AND METHOD FOR SECURING AN INTEGRATED CIRCUIT
DE102004063898B9 (en) transfer device
WO2002019065A2 (en) Method and device for carrying out a modular exponentiation in a cryptographic processor

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal