DE102014000328A1 - Method for securing a functional process in a microprocessor system - Google Patents

Method for securing a functional process in a microprocessor system Download PDF

Info

Publication number
DE102014000328A1
DE102014000328A1 DE102014000328.0A DE102014000328A DE102014000328A1 DE 102014000328 A1 DE102014000328 A1 DE 102014000328A1 DE 102014000328 A DE102014000328 A DE 102014000328A DE 102014000328 A1 DE102014000328 A1 DE 102014000328A1
Authority
DE
Germany
Prior art keywords
output data
microprocessor
crypto
calculation
backup process
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
DE102014000328.0A
Other languages
German (de)
Inventor
Helmut Köglmeier
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.)
Giesecke and Devrient Mobile Security GmbH
Original Assignee
Giesecke and Devrient GmbH
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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE102014000328.0A priority Critical patent/DE102014000328A1/en
Publication of DE102014000328A1 publication Critical patent/DE102014000328A1/en
Withdrawn legal-status Critical Current

Links

Images

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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Absicherung eines Funktionsprozesses in einem Mikroprozessorsystem mit einem Mikroprozessor und zumindest einem Krypto-Koprozessor, bei dem auf dem Mikroprozessor ein Funktionsprozess zur Abarbeitung einer vorbestimmten Aufgabe durchgeführt wird (14), gleichzeitig mit dem Funktionsprozess auf zumindest einem Krypto-Koprozessor ein Sicherungsprozess durchgeführt wird (12), bei dem mit festen Eingangsdaten eine Berechnung mit bekannten Soll-Ausgangsdaten durchgeführt wird, die von dem Sicherungsprozess als Ergebnis tatsächlich erhaltenen Ist-Ausgangsdaten mit den Soll-Ausgangsdaten verglichen werden (16), und im Fall, dass die Ist-Ausgangsdaten und die Soll-Ausgangsdaten nicht übereinstimmen, auf unzureichende Sicherheit bei der Durchführung des Funktionsprozesses geschlossen und eine Fehlerroutine abgearbeitet wird (20).The invention relates to a method for securing a functional process in a microprocessor system with a microprocessor and at least one crypto-coprocessor, in which a functional process for executing a predetermined task is performed on the microprocessor (14), simultaneously with the functional process on at least one crypto-co-processor a backup process is performed (12) in which a calculation with known target output data is performed with fixed input data, the actual output data actually obtained by the backup process being compared with the target output data (16), and in case the actual output data and the target output data do not match, inadequate safety in the execution of the functional process is closed and an error routine is executed (20).

Description

Die Erfindung betrifft ein Verfahren zur Absicherung eines Funktionsprozesses in einem Mikroprozessorsystem, das einen Mikroprozessor und zumindest einen Krypto-Koprozessor aufweist. Die Erfindung betrifft auch ein Mikroprozessorsystem mit einem derartigen, darin implementierten Verfahren, sowie einen Datenträger mit einem solchen Mikroprozessorsystem.The invention relates to a method for securing a functional process in a microprocessor system comprising a microprocessor and at least one crypto co-processor. The invention also relates to a microprocessor system with such a method implemented therein and to a data carrier having such a microprocessor system.

Die differentielle Fehleranalyse (nachfolgend als DFA, differential fault analysis, bezeichnet) stellt ein seit einiger Zeit bekanntes Verfahren dar, mit dem sich beispielsweise der geheime Schlüssel einer kryptographischen Berechnung ermitteln lässt. Dabei wird während einer kryptographischen Berechnung ein sogenannter DFA-Angriff auf den Mikroprozessor vorgenommen, indem beispielsweise eine Spannungsspitze oder ein Lichtblitz an den Mikroprozessor angelegt wird. Da Mikroprozessoren durch elektromagnetische Störungen in ihrer Funktion beeinträchtigt werden können, ist es möglich, durch einen solchen DFA-Angriff Fehler in der Berechnung des Mikroprozessors zu induzieren, aus denen sich der geheime Schlüssel ermitteln lässt.The differential error analysis (referred to below as DFA, differential fault analysis) represents a method that has been known for some time, with which, for example, the secret key of a cryptographic calculation can be determined. During a cryptographic calculation, a so-called DFA attack on the microprocessor is carried out by, for example, applying a voltage spike or a flash of light to the microprocessor. Since microprocessors can be impaired in their function by electromagnetic interference, it is possible to induce errors in the calculation of the microprocessor by means of such a DFA attack, from which the secret key can be determined.

Auch über das Gebiet der kryptographischen Berechnungen hinaus kann ein DFA-Angriff auf ein Mikroprozessorsystem dazu führen, dass der Mikroprozessor bei der Abarbeitung eines Funktionsprozesses ausnutzbare Fehler macht. Dabei wird jeder in dem Mikroprozessor durchgeführte Prozess, der eine gewünschte abzuarbeitende Aufgabe erfüllt, beispielsweise ein Lesekommando ausführt oder eine Berechnung durchführt, im Rahmen dieser Beschreibung als Funktionsprozesses bezeichnet. Erfolgt beispielsweise während der Berechnung einer Speicheradresse für einen Speicherzugriff ein DFA-Angriff auf den Mikroprozessor, so kann es vorkommen, dass auf Grund des DFA-Angriffs eine falsche Speicheradresse berechnet wird und ein Zugriff auf eigentlich gesperrte Speicherbereiche erzwungen wird.Even beyond the field of cryptographic computations, a DFA attack on a microprocessor system can cause the microprocessor to exploit exploitable errors in the execution of a functional process. In this case, each process performed in the microprocessor which fulfills a desired task to be performed, for example executes a read command or carries out a calculation, is referred to as a function process in the context of this description. For example, if a DFA attack on the microprocessor occurs during the calculation of a memory address for a memory access, it may happen that an incorrect memory address is calculated due to the DFA attack and an access to actually locked memory areas is forced.

Die bisher bekannten, in Hardware und Software implementierten Gegenmaßnahmen können DFA-Angriffe auf Chipkarten und deren Betriebssysteme nicht vollständig erkennen und abwehren. Insbesondere die Lichtdetektoren der Hardware haben sich meist als nur schwach wirksam erwiesen.The hitherto known countermeasures implemented in hardware and software can not completely detect and fend off DFA attacks on chip cards and their operating systems. In particular, the light detectors of the hardware have mostly proven to be only weakly effective.

In Software eingebaute Gegenmaßnahmen zur Erkennung von DFA-Angriffen kosten in der Regel viel Performance und/oder Speicherplatz und erfordern hohen Entwicklungsaufwand, so dass ein flächendeckender Einsatz dieser Gegenmaßnahmen bisher oft nicht möglich ist.Software built-in countermeasures to detect DFA attacks usually cost a lot of performance and / or disk space and require a lot of development effort, so widespread use of these countermeasures is often not possible.

Ein Beispiel einer in Software realisierten Sicherungsmaßnahme ist in der Druckschrift EP 1 569 118 B1 beschrieben. Dort wird zur sicheren Berechnung eines Ergebniswertes, beispielsweise einer Speicheradresse in einem Speicherbereich eines Mikroprozessorsystems, durch den Mikroprozessor eine erste Berechnung des Ergebniswerts und zusätzlich eine zweite, von der ersten Berechnung getrennte, Berechnung des Ergebniswerts durchgeführt. Die Ergebnisse der ersten und zweiten Berechnung werden miteinander verglichen und der berechnete Ergebniswert wird als fehlerhaft verworfen, falls das erste und zweite Rechenergebnis nicht übereinstimmen.An example of a security measure implemented in software is in the document EP 1 569 118 B1 described. There, for the reliable calculation of a result value, for example a memory address in a memory area of a microprocessor system, the microprocessor carries out a first calculation of the result value and additionally a second calculation of the result value separate from the first calculation. The results of the first and second calculations are compared with each other and the calculated result value is rejected as being erroneous if the first and second calculation results do not match.

Ausgehend davon liegt der Erfindung die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art anzugeben, das die Nachteile des Stands der Technik vermeidet. Insbesondere soll das Verfahren einfach zu implementieren sein, möglichst global wirken, wenig Speicherplatz benötigen und einen möglich geringen Einfluss auf die Performance des Mikroprozessorsystems haben.Based on this, the present invention seeks to provide a method of the type mentioned, which avoids the disadvantages of the prior art. In particular, the method should be easy to implement, act as globally as possible, require little storage space and have a possibly small influence on the performance of the microprocessor system.

Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.This object is solved by the features of the independent claims. Further developments of the invention are the subject of the dependent claims.

Bei dem erfindungsgemäßen Verfahren zur Absicherung eines Funktionsprozesses wird von einem Mikroprozessorsystem mit einem Mikroprozessor und zumindest einem Krypto-Koprozessor ausgegangen. Dabei

  • – wird auf dem Mikroprozessor ein Funktionsprozess zur Abarbeitung einer vorbestimmten Aufgabe durchgeführt,
  • – wird gleichzeitig mit dem Funktionsprozess auf zumindest einem Krypto-Koprozessor ein Sicherungsprozess durchgeführt, bei dem mit festen Eingangsdaten eine Berechnung mit bekannten Soll-Ausgangsdaten durchgeführt wird,
  • – werden die von dem Sicherungsprozess als Ergebnis tatsächlich erhaltenen Ist-Ausgangsdaten mit den Soll-Ausgangsdaten verglichen, und
  • – wird im Fall, dass die Ist-Ausgangsdaten und die Soll-Ausgangsdaten nicht übereinstimmen, auf unzureichende Sicherheit bei der Durchführung des Funktionsprozesses geschlossen und eine Fehlerroutine abgearbeitet oder zumindest veranlasst.
The inventive method for securing a functional process is based on a microprocessor system with a microprocessor and at least one crypto-co-processor. there
  • A functional process is carried out on the microprocessor for the execution of a predetermined task,
  • A securing process is carried out simultaneously with the functional process on at least one crypto coprocessor, in which a calculation with known nominal output data is carried out with fixed input data,
  • The actual output data actually obtained by the backup process as a result are compared with the target output data, and
  • - Is in the case that the actual output data and the target output data do not match, concluded inadequate security in the performance of the functional process and executed a fault routine, or at least arranged.

Prinzipiell werden bei dem Sicherungsprozess (und auch bei dem Funktionsprozess) Eingangsdaten zu Ausgangsdaten verarbeitet. Da der Sicherungsprozess eine vorbestimmte Berechnung mit festen Eingangsdaten durchführt, ist das bei fehlerfreier Berechnung erhaltene Ergebnis vorab bekannt. Erfolgt nun während der Abarbeitung des Funktionsprozesses ein Angriff, beispielsweise ein DFA-Angriff auf den Mikroprozessor, besteht eine gewisse Wahrscheinlichkeit, dass dieser Angriff auch den Sicherungsprozess des Krypto-Koprozessors beeinflusst und dort zu einer fehlerhaften Berechnung und damit zu abweichenden Ist-Ausgangsdaten führt. Der Sicherungsprozess hat somit die Funktion eines DFA-Angriffs-Sensors für den Funktionsprozess. Wie nachfolgend genauer erläutert, kann so mit vergleichsweise geringem Aufwand die Erkennungsquote von DFA-Angriffen auf den Mikroprozessor erhöht werden.In principle, in the backup process (and also during the functional process), input data is processed into output data. Since the backup process performs a predetermined calculation with fixed input data, the result obtained in error-free calculation is known in advance. If an attack occurs during the execution of the functional process, for example a DFA attack on the microprocessor, there is a certain probability that this attack will also affect the security process of the crypto co-processor influenced and leads there to a faulty calculation and thus to deviating actual output data. The backup process thus has the function of a DFA attack sensor for the functional process. As explained in more detail below, the detection rate of DFA attacks on the microprocessor can thus be increased with comparatively little effort.

Um die Performanceeinbußen durch den Sicherungsprozess gering zu halten, wird der Krypto-Koprozessor, auf dem der Sicherungsprozess durchgeführt wird, vorteilhaft mit einer geringeren Taktfrequenz als der Mikroprozessor betrieben. Bevorzugt wird der Krypto-Koprozessor mit einer um einen Faktor 2 oder mehr, weiter bevorzugt mit einer um einen Faktor 5 oder mehr, besonders bevorzugt um einen Faktor von ungefähr 10 oder mehr betrieben. Typischerweise wird der Krypto-Koprozessor mit einer derart geringeren Taktfrequenz betrieben, so dass durch eine einzige Durchführung des Sicherungsprozesses auf dem Krypto-Koprozessors typischerweise einige tausend Taktzyklen des Mikroprozessors abgedeckt werden.In order to minimize performance losses due to the backup process, the crypto co-processor on which the backup process is performed is advantageously operated at a lower clock frequency than the microprocessor. Preferably, the crypto-coprocessor is operated by a factor of 2 or more, more preferably by a factor of 5 or more, more preferably by a factor of about 10 or more. Typically, the crypto-coprocessor operates at such a slower clock frequency that typically a few thousand clock cycles of the microprocessor are covered by a single execution of the backup process on the crypto co-processor.

In einer vorteilhaften Gestaltung ist weiter vorgesehen, dass der Krypto-Koprozessor mit einer zufallsgesteuerten variablen Taktfrequenz betrieben wird, wodurch gezielt eine zusätzliche Variation in der Stromsignatur des Mikroprozessorsystems erzeugt werden kann.In an advantageous embodiment, it is further provided that the crypto-coprocessor is operated with a randomly controlled variable clock frequency, whereby specifically an additional variation in the current signature of the microprocessor system can be generated.

Nach Beendigung des Sicherungsprozesses wird mit Vorteil ein weiterer Sicherungsprozess gestartet. Dieser weitere Sicherungsprozess kann dieselbe Berechnung mit denselben Eingangsdaten erneut durchführen, oder kann auch eine andere vorbestimmte Berechnung mit anderen, festen Eingangsdaten durchführen, wie weiter unten genauer beschrieben. Vorteilhaft wird solange jeweils ein weiterer Sicherungsprozess gestartet, bis der Funktionsprozess endet und der Krypto-Koprozessor angehalten wird. Auf diese Weise ist der Funktionsprozess während seiner gesamten Ablaufdauer abgesichert.Upon completion of the backup process, another backup process is advantageously started. This further save process may re-execute the same calculation with the same input data, or may also perform another predetermined calculation with other fixed input data, as described in more detail below. Advantageously, each time another backup process is started until the functional process ends and the crypto-co-processor is stopped. In this way, the functional process is safeguarded throughout its duration.

In einer vorteilhaften Weiterbildung der Erfindung wird eine Gruppe von Berechnungen mit jeweils festen Eingangsdaten und bekannten Soll-Ausgangsdaten vorgegeben, und es wird in jedem Sicherungsprozess eine Berechnung aus dieser Gruppe durchgeführt. Die Auswahl der in einem Sicherungsprozess durchzuführenden Berechnung kann dabei nach einem vorbestimmten Schema oder zufällig erfolgen. Die Berechnungen und/oder die Eingangsdaten können teilweise gleich oder alle verschieden sein. Weiter können die Berechnungen auch mit unterschiedlichen Operandenlängen und/oder mit unterschiedlichen Rechenverfahren durchgeführt werden.In an advantageous development of the invention, a set of calculations is specified, each with fixed input data and known desired output data, and a calculation from this group is performed in each backup process. The selection of the calculation to be carried out in a security process can take place according to a predetermined scheme or at random. The calculations and / or the input data may be partly the same or all different. Furthermore, the calculations can also be carried out with different operand lengths and / or with different calculation methods.

Die festen Eingangsdaten und die Soll-Ausgangsdaten können wahlweise zu Beginn des Sicherungsprozesses in den Krypto-Koprozessor geladen werden, insbesondere in dem Krypto-Koprozessor zugeordnete Register. In manchen Ausgestaltungen, beispielsweise wenn durch den Sicherungsprozess bestimmte Speicherbereiche gesichert werden sollen, bietet es sich jedoch an, dass die festen Eingangsdaten und/oder die Soll-Ausgangsdaten von dem Krypto-Koprozessor aus einem oder mehreren vorbestimmten Speicherbereichen gelesen werden. Vorteilhaft ist dabei eine Gruppe von Eingangsdaten und Soll-Ausgangsdaten vorgesehen, die über mehrere Speicherbereiche verteilt und abwechselnd verwendet werden, um die Abdeckung zu erhöhen.The fixed input data and the desired output data may optionally be loaded into the crypto co-processor at the beginning of the backup process, in particular registers associated with the crypto co-processor. However, in some embodiments, for example, when certain memory areas are to be backed up by the backup process, it is recommended that the fixed input data and / or the target output data be read by the crypto co-processor from one or more predetermined memory areas. Advantageously, a group of input data and desired output data is provided, which are distributed over a plurality of memory areas and used alternately in order to increase the coverage.

Gemäß einer vorteilhaften Weiterbildung der Erfindung werden zusätzlich eine oder mehrere weitere Sicherungsmaßnahme(n) gegen einen DFA-Angriff auf den Funktionsprozesses durchgeführt. Die weiteren Sicherungsmaßnahmen können in Hardware und/oder Software realisiert sein.According to an advantageous development of the invention, one or more additional safety measure (s) are additionally performed against a DFA attack on the functional process. The further security measures can be implemented in hardware and / or software.

Bevorzugt wird der Funktionsprozess in der Fehlerroutine angehalten und der Mikroprozessor in einen gesicherten Zustand gebracht.Preferably, the functional process is stopped in the error routine and brought the microprocessor in a secure state.

Weist das Mikroprozessorsystem mehr als einen Krypto-Koprozessor auf, so kann der den Sicherungsprozess durchführende Koprozessor wechseln. Benötigt beispielsweise ein bestimmter Funktionsprozess einen ersten Krypto-Koprozessor, etwa zur Ausführung einer RSA-Verschlüsselung, so wird der Sicherungsprozess zur Absicherung dieses Funktionsprozesses auf einem zweiten Krypto-Koprozessor ausgeführt. Ein nachfolgender Sicherungsprozess für einen weiteren Funktionsprozess kann dagegen wieder auf dem ersten Krypto-Koprozessor ausgeführt werden.If the microprocessor system has more than one crypto coprocessor, then the coprocessor performing the backup process can change. For example, if a particular functional process requires a first crypto co-processor, such as to perform RSA encryption, the backup process to secure that functional process is performed on a second crypto-co-processor. A subsequent backup process for another functional process, however, can be performed again on the first crypto-co-processor.

Die Erfindung enthält auch ein Mikroprozessorsystem mit einem Mikroprozessor und zumindest einem Krypto-Koprozessor, mit einem darin implementierten Verfahren der oben beschriebenen Art. Die Erfindung enthält weiter einen Datenträger, insbesondere eine Chipkarte oder ein Chipmodul, mit einem darin eingerichteten Mikroprozessorsystem der beschriebenen Art.The invention also includes a microprocessor system having a microprocessor and at least one crypto-coprocessor, with a method of the type described above. The invention further includes a data carrier, in particular a chip card or a chip module, having a microprocessor system of the type described therein.

Nachfolgend wird die Erfindung anhand von Ausführungsbeispielen unter Bezugnahme auf die Figur näher erläutert. 1 zeigt ein Flussdiagramm zur Veranschaulichung eines erfindungsgemäßen Verfahrens zur Absicherung eines Funktionsprozesses in einem Mikroprozessorsystem.The invention will be explained in more detail by means of embodiments with reference to the figure. 1 shows a flowchart for illustrating a method according to the invention for securing a functional process in a microprocessor system.

Die Erfindung wird am Beispiel einer Chipkarte (Smart-Card) erläutert, deren Chipkartencontroller durch ein Mikroprozessorsystem mit einem Mikroprozessor und zumindest einem Krypto-Koprozessor gebildet ist.The invention will be explained using the example of a smart card, the smart card controller by a microprocessor system with a Microprocessor and at least one crypto-co-processor is formed.

Um die optische Lokalisierung der einzelnen Komponenten des Mikroprozessorsystems zu erschweren, sind große Teile der Logik, darunter insbesondere der Mikroprozessor, Busse, Register, MMU/MPU und die Koprozessoren, in einer sogenannten Glue Logic untergebracht. In dieser Glue Logic sind die einzelnen Strukturelemente, insbesondere die Gatter und Leitungen der Komponenten des Mikroprozessorsystems, nicht als nach Funktionalität räumlich getrennte Blöcke angelegt, sondern sind vielmehr stark durchmischt angeordnet. Eine solche Anordnung erschwert die Lokalisierung einer bestimmten Komponente innerhalb der Glue Logic und bewirkt, dass selbst ein lokaler Angriff auf eine bestimmte Komponente, beispielsweise mit einem fokussierten Laserstrahl, in aller Regel auch weitere Komponenten erfasst und beeinflusst. Die Strukturbreite in modernen Chipkartenkontrollern liegt nämlich bei nur einigen 10 nm, während ein für einen DFA-Angriff genutzter Laserstrahl einen Strahldurchmesser von einigen Mikrometern aufweist und daher in der Regel neben der angegriffenen Komponente auch Transistoren oder Gatter anderen Komponenten erfasst.To complicate the optical localization of the individual components of the microprocessor system, large parts of the logic, including in particular the microprocessor, buses, registers, MMU / MPU and the coprocessors, are housed in a so-called glue logic. In this logic logic, the individual structural elements, in particular the gates and lines of the components of the microprocessor system, are not arranged as blocks spatially separated according to functionality, but are rather strongly mixed. Such an arrangement complicates the localization of a particular component within the glue logic and causes even a local attack on a particular component, for example, with a focused laser beam, usually also detected and influenced other components. The structure width in modern chip card controllers is in fact only a few 10 nm, while a laser beam used for a DFA attack has a beam diameter of a few micrometers and therefore, in addition to the attacked component, transistors or gates usually also detect other components.

Ausgehend von dieser Beobachtung werden bei dem in 1 illustrierten Absicherungsverfahren zwei Prozesse zeitgleich auf unterschiedlichen Hardwarekomponenten des Mikroprozessorsystems ausgeführt, nämlich einerseits auf dem Mikroprozessor ein Funktionsprozess, der eine gewünschte abzuarbeitende Aufgabe ausführt, und andererseits auf zumindest einem Krypto-Koprozessor des Systems ein Sicherungsprozess, der eine vorbestimmte Berechnung mit festen Eingangsdaten durchgeführt. Da die Art der Berechnung und die Eingangsdaten bereits vor der Ausführung der Berechnung festliegen, sind auch die bei fehlerfreier Berechnung erhaltenen Soll-Ausgangsdaten vorab bekannt.Based on this observation, in 1 Illustrated hedging two processes simultaneously executed on different hardware components of the microprocessor system, namely on the one hand on the microprocessor, a functional process that performs a desired task to be performed, and on the other hand, on at least one crypto co-processor of the system, a backup process that performs a predetermined calculation with fixed input data. Since the type of calculation and the input data are already established prior to the execution of the calculation, the desired output data obtained with error-free calculation are also known in advance.

Konkret werden im Ausführungsbeispiel der Figur in einem Initialisierungsschritt 10 die Eingangsdaten X für die vorbestimmte Berechnung f durch den Krypto-Koprozessor festgelegt. Mit der Festlegung der Eingangsdaten X sind auch die Soll-Ausgangsdaten Ysoll = f(X) bekannt und liegen wie die Eingangsdaten in einem Speicherbereich vor.Specifically, in the embodiment of the figure in an initialization step 10 set the input data X for the predetermined calculation f by the crypto co-processor. With the definition of the input data X, the target output data Y soll = f (X) are also known and, like the input data, are present in a memory area.

Die Eingangsdaten X und die Soll-Ausgangsdaten Ysoll werden in den Krypto-Koprozessor geladen und der Sicherungsprozess wird gestartet (Schritt 12). Zeitgleich wird als Schritt 14 der Funktionsprozess, beispielsweise ein Lesekommando, auf dem Mikroprozessor durchgeführt.The input data X and the target output data Y soll are loaded into the crypto coprocessor and the backup process is started (step 12 ). At the same time as a step 14 the functional process, such as a read command, performed on the microprocessor.

Im Sicherungsprozess führt der Krypto-Koprozessor nun die vorbestimmte Berechnung mit den Eingangsdaten X durch und erhält dabei tatsächliche Ist-Ausgangsdaten Yist ← f(X).In the backup process, the crypto co-processor now performs the predetermined calculation with the input data X and thereby obtains actual actual output data Y is ← f (X).

Am Ende der Berechnung löst der Krypto-Koprozessor einen Interrupt aus, in dessen Service Routine die Ist-Ausgangsdaten Yist mit den Soll-Ausgangsdaten Ysoll verglichen werden (Schritt 16). Stimmen die Ist-Ausgangsdaten Yist mit den Soll-Ausgangsdaten Ysoll überein, so ergibt sich aus dem Sicherungsprozess kein Hinweis auf einen erfolgten Angriff. Die Service Routine startet die Berechnung des Sicherungsprozesses neu (Schritt 18), wobei die Eingangsdaten X und die Soll-Ausgangsdaten Ysoll sich im einfachsten Fall noch in den Registern des Krypto-Koprozessors befinden. Die Abfolge der Schritte 14, 16 und 18 wird wiederholt, bis der Funktionsprozess endet und der Krypto-Koprozessor angehalten wird (Schritt 26).At the end of calculation of the crypto coprocessor initiates an interrupt service routine in which the actual output data Y is to the target output data Y are compared (step 16 ). If the actual output data Y is the desired output data Y will agree it is clear from the backup process does not indicate a made attack. The service routine restarts the calculation of the backup process (step 18 ), wherein the input data X and the target output data Y should be in the simplest case still in the registers of the crypto co-processor. The sequence of steps 14 . 16 and 18 is repeated until the functional process ends and the crypto co-processor is stopped (step 26 ).

Stimmen die Ist-Ausgangsdaten Yist nicht mit den Soll-Ausgangsdaten Ysoll überein, so wird vermutet, dass die Abweichung auf einen Angriffsversuch auf den Mikroprozessor zurückgeht und dass die Sicherheit des Funktionsprozesses nicht gewährleistet ist. Es wird ein Fehlerbehandlungsschritt 20 durchgeführt, in dessen Rahmen beispielsweise der Funktionsprozess gestoppt wird (Schritt 22) und die Chipkarte und der Mikroprozessor in einen gesicherten Zustand gebracht werden (Schritt 24).If the actual output data Y is not to the desired output data Y match, it shall be presumed that the difference is due to an attempted attack on the microprocessor and that the safety of the process function is not guaranteed. It becomes an error handling step 20 in which, for example, the functional process is stopped (step 22 ) and the chip card and the microprocessor are brought into a secure state (step 24 ).

Sofern bis zum Ende des Funktionsprozesses keine Abweichungen im Sicherungsprozess aufgetreten sind, wird davon ausgegangen, dass der Funktionsprozess sicher durchgeführt werden konnte. Im Schritt 26 endet der Funktionsprozess, und der Rechenvorgang des Krypto-Koprozessor wird beendet. Für einen nachfolgenden, weiteren Funktionsprozess können die beschriebenen Schritte selbstverständlich erneut durchgeführt werden.If no deviations have occurred in the backup process until the end of the functional process, it is assumed that the functional process could be performed safely. In step 26 the functional process ends and the computation of the crypto coprocessor is terminated. Of course, the described steps can be carried out again for a subsequent, further functional process.

Neben der hier beschriebenen Absicherung können zusätzliche weitere Sicherungsmaßnahmen gegen einen DFA-Angriff auf den Funktionsprozesses ergriffen werden. So kann etwa vorgesehen sein, beispielsweise einen Kryptoalgorithmus zweimal ablaufen zu lassen, die Ergebnisse zu vergleichen und im Fall übereinstimmender Ergebniswerte auf das Fehlen eines Angriffs zu schließen und das Ergebnis zu akzeptieren, während die Ergebnisse im Fall fehlender Übereinstimmung verworfen werden. Da die bekannten Sicherungsmaßnahmen keine vollständige Sicherheit bieten, besteht selbst wenn die weiteren Sicherungsmaßnahmen keinen Angriff erkannt haben, eine gewisse Wahrscheinlichkeit dafür, dass durch einen Angriff die Berechnung des oben beschriebenen Sicherungsprozess gestört wird und sich ein abweichendes Ist-Ergebnis Yist ergibt. Durch den Sicherungsprozess wird somit die Erkennungsquote von DFA-Angriffen weiter erhöht.In addition to the protection described here, additional additional safeguards against a DFA attack on the functional process can be taken. For example, it may be provided, for example, to run a crypto-algorithm twice, to compare the results and, in the case of matching result values, to conclude the absence of an attack and to accept the result while discarding the results in the event of mismatch. Since the known security measures do not provide complete security, even if the further security measures have not detected an attack, there is a certain probability that the calculation of the security process described above is disturbed by an attack and a different actual result Y ist . The backup process further increases the detection rate of DFA attacks.

Ein besonderer Vorteil des beschriebenen Absicherungsverfahrens besteht darin, dass der Funktionsprozess weitgehend unverändert bleiben kann. Es ist lediglich erforderlich, zu Beginn des Funktionsprozesses die Eingangsdaten X in den Krypto-Koprozessor zu laden und den Krypto-Koprozessor am Ende des Funktionsprozesses anzuhalten. Die Soll-Ausgangsdaten Ysoll können dabei ebenfalls in den Krypto-Koprozessor geladen werden oder in einem externen Speicherbereich abgelegt sein. Die Implementierung des Sicherungsprozesses ist daher einfach und kann für alle Funktionsprozesse, die auf diese Weise abgesichert werden sollen, gleich sein. Dadurch ergibt sich auch ein geringer zusätzlicher Speicherbedarf für die erfindungsgemäße Absicherung. A particular advantage of the described hedging method is that the functional process can remain largely unchanged. It is only necessary to load the input data X into the crypto co-processor at the beginning of the functional process and to stop the crypto co-processor at the end of the functional process. The desired output data Y soll can also be loaded into the crypto co-processor or stored in an external memory area. The implementation of the backup process is therefore simple and can be the same for all functional processes that should be secured in this way. This also results in a small additional memory requirement for the inventive fuse.

Ein weiterer Vorteil besteht in den geringen Performanceeinbußen durch den Sicherungsprozess. Zwar entstehen während des Ablaufs des Funktionsprozesses durch den Sicherungsprozess ausgelöste Interrupts, deren Laufzeit kann aber kurz gehalten werden, da in der Regel nur ein Vergleich von Soll- und Ist-Ausgangsdaten und ein Neustart des Sicherungsprozesses erforderlich ist. Dabei können sich Eingangsdaten X und gegebenenfalls die Soll-Ausgangsdaten Ysoll sogar noch in den Registern des Krypto-Koprozessors befinden.Another advantage is the low performance losses due to the backup process. It is true that interrupts triggered by the backup process occur during the execution of the function process, but their runtime can be kept short, because usually only a comparison of setpoint and actual output data and a restart of the backup process is required. In this case, input data X and possibly also the desired output data Y soll may even be located in the registers of the crypto co-processor.

Die Performanceeinbußen können zudem dadurch minimiert werden, dass der Krypto-Koprozessor bei der Abarbeitung des Sicherungsprozesses mit einer möglichst geringen Taktfrequenz betrieben wird. Eine einzige Berechnung im Krypto-Koprozessor kann so mehrere tausend Taktzyklen des Mikroprozessors abdecken. Zudem kann für den Sicherungsprozess eine lang andauernde Rechenoperation festgelegt werden, beispielsweise eine Modulo-Rechnung mit großer Operandenlänge von beispielsweise 1024 Bit, 2048 Bit oder mehr.The performance losses can also be minimized by operating the crypto-coprocessor with the lowest possible clock frequency during execution of the backup process. A single calculation in the crypto co-processor can thus cover several thousand clock cycles of the microprocessor. In addition, a long-lasting arithmetic operation can be defined for the backup process, for example a modulo calculation with a large operand length of, for example, 1024 bits, 2048 bits or more.

Ein weiterer Vorteil der beschriebenen Absicherung besteht darin, dass durch den parallel laufenden Sicherungsprozess und die Interrupts die Stromsignatur des Funktionsprozesses verändert wird, was einerseits den Schutz gegen SPA-/DPA-Angriffe (SPA = Simple Power Analysis, DPA = Differential Power Analysis) erhöht und andererseits auch das Triggern von DFA-Angriffen auf Charakteristika der Stromsignatur des Mikroprozessorsystems erschwert.A further advantage of the described protection is that the current signature of the functional process is changed by the parallel running backup process and the interrupts, which on the one hand increases the protection against SPA / DPA attacks (SPA = DPA attacks) and, on the other hand, also complicates the triggering of DFA attacks on characteristics of the current signature of the microprocessor system.

Um eine besonders große Variation der Stromsignatur zu erzeugen, kann auch eine Gruppe von Berechnungen f1, f2, ... fn mit jeweils festen Eingangsdaten X1, X2, ... Xn und bekannten Soll-Ausgangsdaten Y1,soll, Y2,soll, ... Yn,soll vorgegeben werden, wobei Y1,soll = f1(X1), Y2,soll = f2(X2), ..., Yn,soll = fn(Xn) gilt. Die Berechnungen f1, f2, ... fn und/oder die Eingangsdaten X1, X2, ... Xn können alle verschieden sein. In jedem Sicherungsprozess wird dann eine Berechnung k aus dieser Gruppe durchgeführt, Yk,ist ← fk(Xk), wobei die Auswahl der in dem Sicherungsprozess durchzuführenden Berechnung k nach einem vorbestimmten Schema oder auch zufällig erfolgen kann. Neben unterschiedlichen Eingangsdaten und/oder unterschiedlichen Rechenverfahren können auch unterschiedliche Operandenlängen verwendet werden um die zeitliche und quantitative Veränderung der Stromsignatur noch ausgeprägter zu gestalten.In order to generate a particularly large variation of the current signature, a group of calculations f 1 , f 2 ,... F n can also be provided with fixed input data X 1 , X 2 ,... X n and known desired output data Y 1, should , Y 2, should , ... Y n, should be given, where Y 1, soll = f 1 (X 1 ), Y 2, soll = f 2 (X 2 ), ..., Y n, soll = f n (X n ) applies. The calculations f 1 , f 2 , ... f n and / or the input data X 1 , X 2 , ... X n can all be different. In each backup process, a computation k is then performed from this group, Y k, is ← f k (X k ), where the selection of the computation k to be performed in the save process can be done according to a predetermined scheme or randomly. In addition to different input data and / or different calculation methods, different operand lengths can be used to make the temporal and quantitative change of the current signature even more pronounced.

Eine weitere Möglichkeit zur gezielten Erzeugung zusätzlicher Variation in der Stromsignatur besteht darin, den Krypto-Koprozessor mit einer zufallsgesteuerten, variablen Taktfrequenz zu betreiben.Another possibility for the targeted generation of additional variation in the current signature is to operate the crypto-co-processor with a randomly controlled, variable clock frequency.

Das beschriebene Absicherungsverfahren schützt gegen Angriffe auf Glue Logic Bereiche, da durch einen Angriff die Berechnung im hier beschriebenen Sicherungsprozess gestört wird und sich in der Regel ein vom Soll-Ergebnis Ysoll abweichendes Ist-Ergebnis Yist ergibt.The described protection method protects against attacks on glue logic areas, since an attack interferes with the calculation in the backup process described here and generally results in an actual result Y ist deviating from the target result Y soll .

Das Absicherungsverfahren ist allerdings auch bei Mikroprozessorsystemen ohne Glue Logic, also mit optisch streng getrennten Funktionsblöcken oft wirkungsvoll, da ein Lichtangriff zu Spannungseinbrüchen oder Spannungsspitzen führen kann, die sich auch auf entfernte Schaltungsteile auswirken und daher ebenfalls ein abweichendes Ergebnis bei der Berechnung des Sicherungsprozesses erzeugen können. Darüber hinaus gibt es neben Lichtangriffen auch andere, ohnehin global wirkende DFA-Angriffsverfahren, wie etwa Spannungsglitches, die stets auch auf entfernte Schaltungsteile wirken.However, the protection method is often effective even in microprocessor systems without glue logic, so with optically strictly separated function blocks, as a light attack can lead to voltage drops or voltage spikes, which also affect remote circuit parts and therefore can also produce a different result in the calculation of the backup process , In addition to light attacks, there are also other, anyway global, DFA attack methods, such as voltage glitches, which always act on remote circuit components.

Weiter können mit dem beschriebenen Absicherungsverfahren nicht nur Angriff auf Logikbereiche, sondern auch Angriffe auf Speicherbereiche erkannt werden, sofern die Eingangsdaten und/oder die Soll-Ausgangsdaten über diese Bereiche verteilt sind. Hierzu werden die Eingangsdaten und die Soll-Ausgangsdaten vorteilhaft nicht einmalig am Beginn des Funktionsprozesses in die Register des Krypto-Koprozessors geladen, sondern werden nur über Zeiger referenziert. Der Krypto-Koprozessor liest dann zu Beginn oder während der vorbestimmten Berechnung die Eingangsdaten bzw. die Soll-Ausgangsdaten direkt aus den referenzierten Speicherbereichen. Auch hier bietet es sich an, eine Gruppe von mehreren Eingangsdaten und Soll-Ausgangsdaten vorzusehen, die über mehrere Speicherbereiche verteilt und abwechselnd verwendet werden, um die Abdeckung zu erhöhen.Furthermore, with the described safeguarding method, not only attacks on logic areas but also attacks on memory areas can be detected, provided that the input data and / or the desired output data are distributed over these areas. For this purpose, the input data and the desired output data are advantageously not loaded once in the registers of the crypto co-processor at the beginning of the functional process, but are only referenced via pointers. The crypto co-processor then reads the input data or the desired output data directly from the referenced memory areas at the beginning or during the predetermined calculation. Again, it is useful to provide a set of multiple input data and target output data that are spread across multiple memory areas and used alternately to increase coverage.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • EP 1569118 B1 [0006] EP 1569118 B1 [0006]

Claims (11)

Verfahren zur Absicherung eines Funktionsprozesses in einem Mikroprozessorsystem mit einem Mikroprozessor und zumindest einem Krypto-Koprozessor, bei dem – auf dem Mikroprozessor ein Funktionsprozess zur Abarbeitung einer vorbestimmten Aufgabe durchgeführt wird, – gleichzeitig mit dem Funktionsprozess auf zumindest einem Krypto-Koprozessor ein Sicherungsprozess durchgeführt wird, bei dem mit festen Eingangsdaten eine Berechnung mit bekannten Soll-Ausgangsdaten durchgeführt wird, – die von dem Sicherungsprozess als Ergebnis tatsächlich erhaltenen Ist-Ausgangsdaten mit den Soll-Ausgangsdaten verglichen werden, und – im Fall, dass die Ist-Ausgangsdaten und die Soll-Ausgangsdaten nicht übereinstimmen, auf unzureichende Sicherheit bei der Durchführung des Funktionsprozesses geschlossen und eine Fehlerroutine veranlasst oder abgearbeitet wird.Method for protecting a functional process in a microprocessor system with a microprocessor and at least one crypto-coprocessor, in which On the microprocessor a functional process is carried out for the execution of a predetermined task, A securing process is carried out simultaneously with the functional process on at least one crypto coprocessor, in which a calculation with known nominal output data is carried out with fixed input data, The actual output data actually obtained from the backup process is compared with the desired output data, and - In the event that the actual output data and the target output data do not match, inferior security in the execution of the functional process is closed and an error routine is initiated or executed. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Krypto-Koprozessor, auf dem der Sicherungsprozess durchgeführt wird, mit einer geringeren Taktfrequenz als der Mikroprozessor betrieben wird, bevorzugt mit einer um einen Faktor 2 oder mehr, weiter bevorzugt mit einer um einen Faktor 5 oder mehr, weiter bevorzugt um einen Faktor 10 oder mehr geringeren Taktfrequenz.A method according to claim 1, characterized in that the crypto-coprocessor on which the backup process is performed is operated at a lower clock frequency than the microprocessor, preferably by a factor of 2 or more, more preferably by a factor of 5 or more, more preferably by a factor of 10 or more lower clock frequency. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Krypto-Koprozessor mit einer zufallsgesteuerten variablen Taktfrequenz betrieben wird.A method according to claim 1 or 2, characterized in that the crypto-coprocessor is operated with a random variable frequency clock. Verfahren nach wenigstens einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass nach Beendigung des Sicherungsprozesses ein weiterer Sicherungsprozess gestartet wird.Method according to at least one of claims 1 to 3, characterized in that after completion of the backup process another backup process is started. Verfahren nach wenigstens einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass eine Gruppe von Berechnungen mit jeweils festen Eingangsdaten und bekannten Soll-Ausgangsdaten vorgegeben wird, und in jedem Sicherungsprozess eine Berechnung aus dieser Gruppe durchgeführt wird, wobei die Auswahl der in einem Sicherungsprozess durchzuführenden Berechnung nach einem vorbestimmten Schema oder zufällig erfolgt.Method according to at least one of Claims 1 to 4, characterized in that a group of calculations is respectively preset with fixed input data and known desired output data, and a calculation from this group is carried out in each backup process, the selection of those to be performed in a backup process Calculation according to a predetermined scheme or done randomly. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Berechnungen der Gruppe mit unterschiedlichen Operandenlängen und/oder mit unterschiedlichen Rechenverfahren durchgeführt werden.A method according to claim 5, characterized in that the calculations of the group are performed with different operand lengths and / or with different computational methods. Verfahren nach wenigstens einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die festen Eingangsdaten und/oder die Soll-Ausgangsdaten von dem Krypto-Koprozessor aus einem oder mehreren vorbestimmten Speicherbereichen gelesen werden.Method according to at least one of Claims 1 to 6, characterized in that the fixed input data and / or the desired output data are read by the crypto co-processor from one or more predetermined memory areas. Verfahren nach wenigstens einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass zusätzlich zumindest eine weitere Sicherungsmaßnahme gegen einen einfache oder differentielle Fehleranalysen-Angriff auf den Funktionsprozesses durchgeführt wird.Method according to at least one of claims 1 to 7, characterized in that in addition at least one further safety measure against a simple or differential fault analysis attack on the functional process is performed. Verfahren nach wenigstens einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass in der Fehlerroutine der Funktionsprozess angehalten wird und bevorzugt der Mikroprozessor in einen gesicherten Zustand gebracht wird.Method according to at least one of claims 1 to 8, characterized in that in the error routine of the functional process is stopped and preferably the microprocessor is brought into a secure state. Mikroprozessorsystem mit einem Mikroprozessor und zumindest einem Krypto-Koprozessor, mit einem darin implementierten Verfahren nach einem der Ansprüche 1 bis 9.Microprocessor system comprising a microprocessor and at least one crypto-co-processor, having a method implemented therein according to one of Claims 1 to 9. Datenträger, insbesondere Chipkarte oder Chipmodul, mit einem darin eingerichteten Mikroprozessorsystem nach Anspruch 10.Data carrier, in particular chip card or chip module, with a microprocessor system arranged therein according to claim 10.
DE102014000328.0A 2014-01-14 2014-01-14 Method for securing a functional process in a microprocessor system Withdrawn DE102014000328A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014000328.0A DE102014000328A1 (en) 2014-01-14 2014-01-14 Method for securing a functional process in a microprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014000328.0A DE102014000328A1 (en) 2014-01-14 2014-01-14 Method for securing a functional process in a microprocessor system

Publications (1)

Publication Number Publication Date
DE102014000328A1 true DE102014000328A1 (en) 2015-07-16

Family

ID=53484671

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014000328.0A Withdrawn DE102014000328A1 (en) 2014-01-14 2014-01-14 Method for securing a functional process in a microprocessor system

Country Status (1)

Country Link
DE (1) DE102014000328A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569118B1 (en) 2004-02-24 2008-10-22 Giesecke & Devrient GmbH Method for safe calculation of results in a microprocessor system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569118B1 (en) 2004-02-24 2008-10-22 Giesecke & Devrient GmbH Method for safe calculation of results in a microprocessor system

Similar Documents

Publication Publication Date Title
EP1611510B1 (en) Controlled execution of a program used for a virtual machine on a portable data carrier
DE102014112865A1 (en) Electronic circuit and method for monitoring data processing
DE60128646T2 (en) Method and device for protection against unauthorized use of an integrated circuit
DE102014214792A1 (en) Apparatus and method for accessing an encrypted storage section
DE102016210788A1 (en) Component for processing a worthy of protection date and method for implementing a security function to protect a worthy of protection date in such a component
EP1272984B1 (en) Portable data carrier with protection against side channel attacks
DE102014204835A1 (en) Method for monitoring a computing unit
DE102015209120A1 (en) Computing device and operating method for this
DE602005003258T2 (en) Control of the execution of an algorithm by an integrated circuit
WO2005024605A1 (en) Device and method for the reliable execution of a program
DE102014000328A1 (en) Method for securing a functional process in a microprocessor system
DE102005042790B4 (en) Integrated circuit arrangement and method for operating such
EP2545483A1 (en) Protection against access violation during the execution of an operating sequence in a portable data carrier
DE10164419A1 (en) Method and arrangement for protecting digital circuit parts
EP3804209B1 (en) Method having safe-error defensive measure
DE102012015158A1 (en) Protected against spying protected cryptographic calculation
DE10307797B4 (en) Device and method for determining an irregularity in a sequence of a utility
EP3371733B1 (en) Encrypting the memory content of a memory in an embedded system
DE102004016342B4 (en) Detection device for detecting manipulative attacks on electrical circuits, especially for chip card use, wherein the characteristic current over a specified time period is recorded and compared with a stored characteristic curve
DE102023106166B3 (en) SAFETY CONTROLLER AND METHOD FOR PERFORMING A SELECTION FUNCTION
DE102011107104B4 (en) Portable security module and method for its operation to defend against an attack in real time using pattern recognition
EP2318974B1 (en) Method for operating a transaction-based flow controller
EP1760929B1 (en) Protected cryptographic method
DE102015222968A1 (en) Operating method for an electronic device and electronic device
DE102015203319A1 (en) Circuitry and method for command current protection

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, DE

Free format text: FORMER OWNER: GIESECKE & DEVRIENT GMBH, 81677 MUENCHEN, DE

R120 Application withdrawn or ip right abandoned