Die
vorliegende Erfindung bezieht sich auf manipulative Angriffe auf
elektrische Schaltungen und insbesondere auf die Erfassung solcher
manipulativen Angriffe, wobei solche manipulativen Angriffe beispielsweise
im Rahmen von Fehlerattacken auf Kryptocontroller, wie z.B. Chipkarten
oder Smartcards, vorkommen.The
The present invention relates to manipulative attacks
electrical circuits and in particular to the detection of such
manipulative attacks, such as manipulative attacks
in the context of error attacks on cryptocontrollers, such as e.g. smart cards
or smart cards, happen.
Fehler
in Kryptosystemen können
zu einer Kryptoanalyse führen
und sogar zu einer Preisgabe des geheimen Schlüssels des Kryptosystems oder anderer
geheimer Daten, die vom Kryptosystem verarbeitet werden. Die Entdeckung,
dass einige Kryptoalgorithmen auf die Einführung kleiner Fehler in die interne
Berechnung hin Eigenschaften zeigten, die erfolgreich zur Ausspähung des
den Kryptoalgorithmus implementierenden Kryptosystems ausgenutzt werden
konnten, führte
zu einer Klasse von Angriffen, die als Fault Attacks bzw. Fehlerattacken
bekannt sind. Die übliche
Implementierung eines RSA-Algorithmus ist beispielsweise sehr anfällig auf Fehlerattacken.
Es konnte gezeigt werden, dass durch Provozieren eines Bitfehlers
an einer geeigneten Stelle die Faktorisierung des Moduls für einen
Angreifer ausspähbar
wird, was wiederum die Ausspähbarkeit
des geheimen privaten Schlüssels
bedeutet. Auf ähnliche
Weise wurden Fehlerattacken auf einen breiten Bereich von anderen
Algorithmen und Kryptovorrichtungen angewendet.error
in cryptosystems
lead to a cryptanalysis
and even to reveal the secret key of the cryptosystem or others
secret data processed by the cryptosystem. The discovery,
that some crypto algorithms on the introduction of small errors in the internal
Calculation towards properties that were successful in spying out the
exploiting the cryptosystem implementing the crypto algorithm
could, led
to a class of attacks called Fault Attacks
are known. The usual
For example, implementing an RSA algorithm is very vulnerable to error attacks.
It could be shown that by provoking a bit error
factoring the module into a suitable place for a
Invisible attacker
which, in turn, the sparseability
of the secret private key
means. On similar
Way, bug attacks have been on a wide range of others
Algorithms and crypto devices applied.
Fehlerattacken
bei Chipkarten, Smartcards oder anderen Kryptocontrollern können ferner
daraufhin abgezielt sein, den normalen Programmablauf der dem Kryptocontroller
zugrundeliegenden CPU zu stören,
um somit beispielsweise in eine sicherheitskritische, da die Bearbeitung
von sicherheitskritischen Daten betreffende Unterroutine des von
der CPU ausgeführten
Programms zu gelangen, wie z.B. in eine Geldauszahlungsfunk tion.
Beispielsweise könnte
eine störende
Beeinflussung eines Befehls-Fetch bzw. des Ladevorganges des nächsten abzuarbeitenden
Befehls aus dem Programmspeicher, wie er durch den aktuellen Stand
des Programmzählers
der CPU angezeigt wird, zu einer Verstümmelung des auszuführenden
Befehls führen. Dieser
Befehl könnte
nun aber genau eine PIN- (PIN = persönliche Identifikationsnummer)
Abfrage bzw. einen bedingten Programmsprung im auszuführenden
Programm betroffen haben, der vorgesehen ist, um dann in eine Falscheingabe-Unterprogrammroutine
zu springen und damit den normalen linearen Programmfluss zu unterbrechen,
wenn eine eingegebene zu überprüfende PIN
falsch war. Ein Verändern des
Befehls durch eine äußere Manipulation
könnte in
einem solchen Fall dazu führen,
dass aus dem Sprungbefehl im Programmspeicher bis zur Abarbeitung
durch die CPU ein anderer Befehl wird, wie z.B. ein Ladebefehl,
und das Programm weiter linear abgearbeitet wird, wo dann beispielsweise
eine Geldauszahlungsfunktion, eine Abbuchung oder dergleichen programmiert
ist.error attacks
in smart cards, smart cards or other cryptocontrollers may also
then be targeted, the normal program flow of the cryptocontroller
disrupting the underlying CPU,
Thus, for example, in a safety-critical, since the processing
of safety critical data subroutine of the
executed by the CPU
Program, such as into a cash payment function.
For example, could
a disturbing one
Influencing a command fetch or the loading process of the next processed
Command from the program memory, as indicated by the current state
the program counter
the CPU is displayed, to a mutilation of the executed
Command. This
Command could
but now exactly one PIN (PIN = personal identification number)
Query or a conditional program jump in the executed
Program, which is intended to then enter a false entry subroutine routine
to jump and thus interrupt the normal linear program flow,
if an entered PIN to be checked
was wrong. Changing the
Command by an external manipulation
could be in
cause such a case
that from the jump instruction in the program memory to the processing
through the CPU becomes another command, such as a load,
and the program continues to run linearly, where then, for example
programmed a cash payment function, a debit or the like
is.
Es
ist deshalb notwendig, dass Kryptovorrichtungen gegen sowohl eigene
Fehler als auch gegen von außen
durch Manipulation hervorgerufene künstlich eingeführte Fehler
möglichst
resistent sind.It
is therefore necessary that crypto devices against both own
Mistakes as well as against from outside
manipulated artificially induced errors
preferably
are resistant.
Das
Verhindern von internen Fehlern wird wie üblich durch redundante Ausführung von
Schaltungsteilen oder dergleichen verhindert. Die erfolgreiche Einfügung von
Fehlern durch manipulative Angriffe auf Kryptovorrichtungen versuchte
man bisher häufig
durch entsprechende Sensoren zu verhindern, die entsprechende manipulative
Angriffe erfassten. Manipulative Angriffe, die vorgesehen sind,
um Fehler in einer kryptographischen Schaltung hervorzurufen, umfassen
beispielsweise das Aussetzen der kryptographischen Schaltung gegenüber geeigneten Strahlen,
wie z.B. Ionenstrahlung, Röntgenstrahlung oder
Wärme,
oder das Einfügen
von Stromspitzen bzw. Spikes in die Stromversorgung der kryptographischen
Schaltung. Entsprechende Sensoren in den kryptographischen Vorrichtungen
er fassten das Auftreten solcher manipulativen Angriffe also indirekt, d.h.
sie erfassten den Beschuss mit Ionen, die Temperaturschwankung oder
dergleichen, welche Maßnahmen
wiederum zu einer Beeinflussung der Schaltung führen könnten.The
Preventing internal errors is done as usual by redundant execution of
Circuit parts or the like prevented. The successful insertion of
Errors caused by manipulative attacks on crypto devices
you often so far
by appropriate sensors to prevent the corresponding manipulative
Detected attacks. Manipulative attacks that are foreseen
to cause errors in a cryptographic circuit include
for example, exposing the cryptographic circuit to suitable beams,
such as. Ion radiation, X-rays or
Warmth,
or pasting
of current spikes or spikes in the power supply of the cryptographic
Circuit. Corresponding sensors in the cryptographic devices
he thus indirectly understood the occurrence of such manipulative attacks, i.
they detected the bombardment with ions, the temperature fluctuation or
like, what measures
in turn could lead to an influence on the circuit.
Auf
die Erfassung eines manipulativen Angriffes hin wurde die kryptographische
Vorrichtung gesichert, indem die Schaltung beispielsweise ausgeschaltet
wurde, so dass im Rahmen der Kryptoanalyse nicht mehr anhand der
Ausgabe der fehlerhaft arbeitenden kryptographischen Vorrichtung
auf geheime Daten rückgeschlossen
werden konnte.On
the detection of a manipulative attack became cryptographic
Device secured by the circuit, for example, off
so that in the context of cryptanalysis is no longer based on the
Output of the malfunctioning cryptographic device
inferred to secret data
could be.
Vorgehensweisen
dieser Art sind darin nachteilhaft, dass eine Vielzahl von Sensoren
für die
Mannigfaltigkeit von möglichen
physikalischen Beeinflussungen bzw. manipulativen Angriffen vorgesehen sein
muss. Zudem ist die Sensitivität
der Mehrzahl von Sensoren immer auf einen bestimmten Satz von manipulativen
Angriffen beschränkt.
Eine neue Art von manipulativen Angriffen, für die die Sensoren nicht empfindlich
sind, wäre
folglich in dem Sinne erfolgreich, dass die kryptographische Vorrichtung
bei diesen neuartigen Angriffen trotz fehlerhafter Funktionsweise
Daten ausgeben würde.
Zudem benötigt die
Implementierung der Vielzahl von Sensoren einiges an Platz und insbesondere
Chipfläche
in den kryptographischen Vorrichtungen, so dass die Herstellungskosten
erhöht
sind, was sich insbesondere bei Massenprodukten wie Chipkarten und
Smartcards als Kryptovorrichtungen empfindlich bemerkbar macht.procedures
This type is disadvantageous in that a plurality of sensors
for the
Variety of possible
be provided physical influences or manipulative attacks
got to. In addition, the sensitivity
The majority of sensors always rely on a specific set of manipulative ones
Limited attacks.
A new kind of manipulative attack for which the sensors are not sensitive
are, would be
consequently successful in the sense that the cryptographic device
in these novel attacks despite faulty functioning
Would spend data.
In addition, the required
Implementation of the large number of sensors a lot of space and in particular
chip area
in the cryptographic devices, so that the manufacturing costs
elevated
are, what in particular with mass products such as smart cards and
Smart cards as crypto devices makes sensitive.
Es
besteht deshalb ein Bedarf nach einem Erfassungsschema für manipulative
Angriffe auf elektrische Schaltungen, das effektiver ist.There is therefore a need for one Detection scheme for manipulative attacks on electrical circuits, which is more effective.
In
der US 2002/0124178 A1 wird eine Vorrichtung zum Auswerten der Sicherheit
einer kryptographischen Hardware bzw. ein Verfahren zum Analysieren
extern erfassbarer Charakteristika einer kryptographischen Schaltung
beschrieben. Die Druckschrift beschäftigt sich mit den Möglichkeiten, die
Sicherheit eines Kryptosystems zu bestimmen oder zu bewerten. Dabei
werden Signale verwendet, die von der Kryptoschaltung nach außen gelangen, was
in der Druckschrift als leakage bezeichnet wird. Außerdem beschäftigt sich
dieselbe mit der Verbesserung von Abwehrmaßnahmen für Kryptosysteme. Den vorgeschlagenen
Abwehrmaßnahmen
ist gemeinsam, dass diese versuchen, das Signal-zu-Rausch-Verhältnis zu
verringern, d.h., das Verhältnis
zwischen dem extern auswertbaren Signalanteil, der mit den geheimen
Informationen korreliert ist, und somit Angreifern potentielle Informationen über diese
geheimen Informationen liefert, und einem Rauschanteil, der zu den
geheimen Informationen, die in dem Kryposystem verarbeitet werden, unkorreliert
ist. Im Wesentlichen werden drei unterschiedliche Vorgehensweisen
angeboten, um das Signal-zu-Rausch-Verhältnis zu verringern. Die erste Möglichkeit
besteht darin, in einem Kryptosystem zusätzlich zu der normalen Verarbeitung
der geheimen Daten eine zufällig
gesteuerte Datenverarbeitung vorzunehmen, wodurch beispielsweise
dem mit den geheimen Daten korrelierten Stromverbrauch ein zufällig erzeugter
Stromverbrauch überlagert
wird. Die zweite Möglichkeit
von Abwehrmaßnahmen
sieht das Verwenden einer Zufallssteuerung vor, um das Taktsignal
einer Schaltung zu variieren, nämlich
auf zufällige
Weise Taktpulse auszublenden. Hierdurch wird der Stromverbrauch
ebenfalls auf zufällige
Art und Weise beeinflusst, was für
den Angreifer das Signal-Rauschverhältnis verschlechtert. Schließlich wird noch
eine Alternative vorgeschlagen, bei welcher die Korrelation zwischen
Stromverbrauch und geheimen verarbeiteten Daten dadurch reduziert
wird, dass beispielsweise ein Programmablauf derart zufällig variiert
wird, dass er zwar immer noch zu dem gleichen Ergebnis führt, dass
er aber in seinem Programmfluss zufällig variiert wird.In
US 2002/0124178 A1 discloses a device for evaluating safety
a cryptographic hardware or a method for analyzing
externally detectable characteristics of a cryptographic circuit
described. The document deals with the possibilities that
To determine or evaluate the security of a cryptosystem. there
used are signals that come out from the crypto circuit, what
in the document referred to as leakage. Besides, it deals
same with the improvement of defense mechanisms for cryptosystems. The proposed
defensive measures
is common that these are trying to increase the signal-to-noise ratio too
reduce, that is, the ratio
between the externally evaluable signal portion, with the secret
Information is correlated, and thus attackers potential information about this
provides secret information, and a piece of noise that goes to the
secret information processed in the cryptosystem, uncorrelated
is. In essence, there are three different approaches
offered to reduce the signal-to-noise ratio. The first possibility
This is in a cryptosystem in addition to the normal processing
the secret data one at random
to perform controlled data processing, whereby, for example
the power consumption correlated with the secret data is a randomly generated one
Power consumption superimposed
becomes. The second possibility
of defenses
For example, using a random control provides for the clock signal
to vary a circuit, namely
at random
Way to hide clock pulses. This will reduce power consumption
also at random
Way influences what for
the attacker degrades the signal-to-noise ratio. Finally it will
proposed an alternative in which the correlation between
Power consumption and secret processed data thereby reduced
is that, for example, a program flow varies so randomly
is that he still leads to the same result that
but it is randomly varied in its program flow.
Die
Aufgabe der vorliegenden Erfindung besteht deshalb darin, ein effektiveres
Erfassungsschema zu schaffen.The
The object of the present invention is therefore to provide a more effective
Creation scheme.
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und einem Verfahren
gemäß Anspruch
15 gelöst.These
The object is achieved by a device according to claim 1 and a method
according to claim
15 solved.
Eine
erfindungsgemäße Vorrichtung
zum Erfassen eines manipulativen Angriffes auf eine elektrische
Schaltung umfasst eine Einrichtung zum Überwachen eines Stromverbrauches
der elektrischen Schaltung, um ein Überwachungsergebnis zu erhalten,
das einen Stromverbrauchsverlauf über eine vorbestimmte Zeitdauer
hinweg beschreibt, eine Einrichtung zum Vergleichen des Überwachungsergebnisses
mit Referenzdaten, die einen vorbestimmten charakteristischen Stromverbrauchsverlauf
der elektrischen Schaltung beschreiben, um ein Vergleichsergebnis
zu erhalten, sowie eine Einrichtung zum Erfassen des manipulativen
Angriffs basierend auf dem Vergleichsergebnis.A
inventive device
for detecting a manipulative attack on an electrical
Circuit includes means for monitoring power consumption
the electrical circuit to get a monitoring result,
the one power consumption over a predetermined period of time
describes a means for comparing the monitoring result
with reference data representing a predetermined characteristic power consumption history
describe the electrical circuit to a comparison result
as well as a device for detecting the manipulative
Attack based on the comparison result.
Die
Erkenntnis der vorliegenden Erfindung besteht darin, dass nahezu
jede Manipulation bzw. jeder manipulative Angriff an einer elektrischen Schaltung
das Stromprofil bzw. den Stromverbrauch der elektrischen Schaltung
verändert
und somit dementsprechende „Fingerabdrücke" hinterlässt, so
dass eine effektivere Erfassung fast aller manipulativen Angriffe
dadurch erzielt werden kann, dass der Stromverbrauch der elektrischen
Schaltung überwacht
wird, und basierend auf dem Überwachungsergebnis
mittels eines Vergleichs mit Referenzdaten manipulative Angriffe
erfasst werden.The
Knowledge of the present invention is that almost
any manipulation or manipulative attack on an electrical circuit
the current profile or the power consumption of the electrical circuit
changed
and thus leaves corresponding "fingerprints", so
that more effective capture of almost all manipulative attacks
can be achieved that the power consumption of the electric
Circuit monitored
and based on the monitoring result
Manipulating attacks by comparison with reference data
be recorded.
Ein
Vorteil der vorliegenden Erfindung besteht darin, dass als eigentlicher „Fühler" bzw. als eigentliches
sensitives Gebiet die elektrische Schaltung selbst verwendet wird,
also die elektrische Schaltung, die vor den manipulativen Angriffen
zu schützen
ist. Der Fühler
ist somit eine Schaltung, die nicht eigens zur Erfassung äußerer manipulativer
Angriffe vorgesehen ist, sondern eine elektrische Schaltung, die
an sich bereits vorgesehen ist, um bestimmte Operationen, Berechnungen,
kryptographische Algorithmen, Zertifizierungen, Authentifikationen,
Verschlüsselungen,
Entschlüsselungen
oder dergleichen durchzuführen,
und dabei beispielsweise Daten verarbeitet, die geheimer Natur sind,
wie z.B. einen geheimen Schlüssel,
eine persönliche
Identifikationsnummer oder der gleichen. Der Effekt hiervon ist, dass
manipulative Angriffe unabhängig
von ihrer Ursache, FIB (focused ion beam = Fokus-Ionenstrahl), Licht, Programmsprung
usw., anhand ihrer Beeinflussung der elektrischen Schaltung selbst,
die Ziel des Angriffes ist, detektiert werden.One
Advantage of the present invention is that as the actual "sensor" or as the actual
sensitive area the electrical circuit itself is used
So the electrical circuit, the before the manipulative attacks
to protect
is. The feeler
is thus a circuit that is not specifically for detecting external manipulative
Attacks is provided, but an electrical circuit that
in itself is already provided to perform certain operations, calculations,
cryptographic algorithms, certifications, authentications,
encryptions
decryption
or the like,
while processing, for example, data that is secretive,
such as. a secret key,
a personal one
Identification number or the same. The effect of this is that
manipulative attacks independently
from their cause, FIB (focused ion beam), light, program jump
etc., by their influence on the electrical circuit itself,
the target of the attack is to be detected.
Ein
weiterer Vorteil der vorliegenden Erfindung besteht darin, dass
die erfindungsgemäße Erfassung
von manipulativen Angriffen sowohl bei Manipulationen an der gesamten
elektrischen Schaltung als auch an Teilen derselben erfolgreich
ist, da das Gesamtstromprofil die Summe aller Einzelmodul-Stromprofile, d.h.
die Stromprofile aller in der elektrischen Schaltung umfassten Einzelmodule,
beinhaltet, so dass Probleme bzw. Stromversorgungsänderungen
aufgrund manipulativer Angriffe eines Einzelmoduls anhand der Überwachung
des Gesamtstromprofils bzw. des Gesamtstromverbrauchs der elektrischen
Schaltung erkannt bzw. gesehen werden können.Another advantage of the present invention is that the inventive detection of manipulative attacks is successful both in manipulations of the entire electrical circuit as well as parts thereof, since the total current profile is the sum of all individual module current profiles, ie the current profiles of all in the electrical circuit includes individual modules, so that problems or power supply changes due to manipulative attacks of a Single module can be detected or seen by monitoring the total current profile or the total power consumption of the electrical circuit.
Ein
weiterer Vorteil der vorliegenden Erfindung besteht darin, dass
Stromüberwachungseinrichtungen
in kryptographischen Vorrichtungen gegebenenfalls bereits vorhanden
sein können,
um nämlich
abhängig
vom aktuellen Stromverbrauch die Taktrate eines Taktes zu variieren
bzw. zu verändern.
Auf diese vorhandene Ressource kann dann die vorliegende Erfindung
gleichsam aufsetzen, indem sie den variierenden Takt als Überwachungsergebnis
heranzieht. Dies ist bei einem speziellen Ausführungsbeispiel der vorliegenden
Erfindung der Fall.One
Another advantage of the present invention is that
Power monitoring devices
optionally already present in cryptographic devices
could be,
namely
dependent
from the current power consumption to vary the clock rate of a clock
or change.
The present invention can then be applied to this existing resource
as it were put on by the varying clock as a monitoring result
attracts. This is in a particular embodiment of the present invention
Invention of the case.
Nachfolgend
werden bezugnehmend auf die beiliegenden Figuren bevorzugte Ausführungsbeispiele
der vorliegenden Erfindung näher
erläutert.
Es zeigen:following
with reference to the accompanying figures preferred embodiments
closer to the present invention
explained.
Show it:
1 Ein
Blockschaltbild eines Kryptocontrollers gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung; 1 A block diagram of a cryptocontroller according to an embodiment of the present invention;
2 eine
schematische Skizze zur Veranschaulichung der Funktionsweise der
Vorrichtung von 1 im Hinblick auf die Erfassung
von manipulativen Angriffen gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung; 2 a schematic diagram illustrating the operation of the device of 1 with regard to the detection of manipulative attacks according to an embodiment of the present invention;
3 ein
Blockschaltbild eines Kryptocontrollers gemäß einem weiteren Ausführungsbeispiel der
vorliegenden Erfindung; und 3 a block diagram of a crypto controller according to another embodiment of the present invention; and
4 eine
schematische Skizze zur Veranschaulichung der Funktionsweise der
Vorrichtung von 3 im Hinblick auf die Erfassung
von manipulativen Angriffen gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung. 4 a schematic diagram illustrating the operation of the device of 3 with regard to the detection of manipulative attacks according to an embodiment of the present invention.
1 zeigt
einen Kryptocontroller gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Der Kryptocontroller von 1 ist
allgemein mit 10 angezeigt und ist beispielsweise Teil
einer Chipkarte, einer Smartcard oder dergleichen, und beispielsweise
als integrierte elektrische Schaltung in einem einzigen Chip implementiert
bzw. integriert. 1 shows a crypto controller according to an embodiment of the present invention. The cryptocontroller of 1 is generally with 10 is shown and is for example part of a smart card, a smartcard or the like, and implemented as an integrated electrical circuit in a single chip or integrated.
Der
Kryptocontroller 10 umfasst zwei Schnittstellen nach außen bzw.
zur Außenwelt,
nämlich
einen Stromversorgungseingang 12, an welchem der Kryptocontroller 10 ein
Stromversorgungssignal erhält,
und einen Ein-/Ausgang 14 zum Austausch von Daten mit einem
externen Kommunikationspartner, wie z.B. einem Terminal. Die Schnittstellen 12 und 14 können zur
kontaktlosen oder kontaktbehafteten Schnittstellenübertragung
ausgebildet sein. Im Kontaktlosen Fall ist beispielsweise am Eingang 12 eine
entsprechende Einrichtung vorgesehen, um aus einer elektromagnetischen
Welle einen Gleichsignal-Versorgungsstrom
zu generieren.The cryptocontroller 10 includes two interfaces to the outside or to the outside world, namely a power supply input 12 at which the cryptocontroller 10 receives a power signal, and an input / output 14 for exchanging data with an external communication partner, such as a terminal. The interfaces 12 and 14 can be designed for contactless or contact-based interface transmission. In contactless case, for example, at the entrance 12 a corresponding device is provided in order to generate a DC signal supply current from an electromagnetic wave.
Intern
umfasst der Kryptocontroller 10 eine Stromverbrauchsüberwachung 16,
eine Vergleichseinrichtung 18, einen Speicher 20,
eine elektrische Schaltung 22 und eine Maßnahmeeinrichtung 24.
Die Stromverbrauchsüberwachungseinrichtung 16 ist zwischen
den Stromversorgungseingang 12 und einen Stromversorgungsanschluss
der elektrischen Schaltung 22 geschaltet, um den Stromverbrauch der
elektrischen Schaltung 22 überwachen zu können. Die
elektrische Schaltung 22 ist ein Teil des Kryptocontrollers 10,
der Funktionen des Kryptocontrollers 10 übernimmt,
wie z.B. arithmetische oder kryptographische Berechnungen, die Durchführung kryptographischer
Algorithmen oder dergleichen. Daten, die von der elektrischen Schaltung 22 verarbeitet werden,
empfängt
die elektrische Schaltung vom Ein-/Ausgang 14, mit welchen
dieselbe über
einen Datenanschluss verbunden ist, und Daten, die sich aus der
Verarbeitung dieser Daten durch die elektrische Schaltung 22 ergeben,
gibt die elektrische Schaltung 22 an ihrem Datenanschluss über den Ein-/Ausgang 14 an
einen externen Kommunikationspartner aus. Die elektrische Schaltung 22 kann dabei
der gesamte Funktionsteil des Kryptocontrollers 10 sein,
also alle Teile des Kryptocontrollers 10 umfassen, die
Funktionen des Kryptocontrollers 10 außerhalb derjenigen der Einrichtungen 16, 18 und 24 übernehmen,
oder die elektrische Schaltung 22 ist lediglich ein Teil
des Funktionsteils des Kryptocontrollers 10, in welchem
Fall der Kryptocontroller 10 weitere in 1 nicht
gezeigte elektrische Schaltungsteile 22 umfasste, die mit
der Stromversorgung am Eingang 12 verbunden wären.Internally, the cryptocontroller includes 10 a power consumption monitor 16 , a comparison device 18 , a store 20 , an electrical circuit 22 and a measure facility 24 , The power consumption monitoring device 16 is between the power supply input 12 and a power supply terminal of the electric circuit 22 switched to the power consumption of the electrical circuit 22 to be able to monitor. The electrical circuit 22 is part of the cryptocontroller 10 , the functions of the cryptocontroller 10 takes over, such as arithmetic or cryptographic calculations, the implementation of cryptographic algorithms or the like. Data coming from the electrical circuit 22 are processed, receives the electrical circuit from the input / output 14 to which it is connected via a data terminal, and data resulting from the processing of this data by the electrical circuit 22 give, gives the electrical circuit 22 at its data port via the input / output 14 to an external communication partner. The electrical circuit 22 can be the entire functional part of the cryptocontroller 10 be, so all parts of the crypto controller 10 include the functions of the cryptocontroller 10 outside those of the facilities 16 . 18 and 24 take over, or the electrical circuit 22 is only part of the functional part of the cryptocontroller 10 , in which case the cryptocontroller 10 more in 1 not shown electrical circuit parts 22 included with the power supply at the entrance 12 would be connected.
Während die
elektrische Schaltung 22 ihre jeweilige Datenverarbeitung
vornimmt, wird ihr Stromverbrauch, den sie zur Verarbeitung benötigt, durch
die Stromverbrauchsüberwachungseinrichtung 16 überwacht,
wie es im Folgenden noch beschrieben wird, um ein Überwachungsergebnis
zu erhalten, das die Stromverbrauchsüberwachungseinrichtung 16 an
die Vergleichseinrichtung 18 weitergibt. Die Vergleichseinrichtung 18 ist
ausgebildet, um das Überwachungsergebnis
mit Referenzdaten zu vergleichen, die dieselben aus dem Speicher 20 erhält, wo die
Referenzdaten vorzugsweise nicht flüchtig gespeichert sind.While the electrical circuit 22 their respective data processing, their power consumption, which they need for processing, by the power consumption monitoring device 16 monitors, as will be described below, to obtain a monitoring result that the power consumption monitoring device 16 to the comparator 18 passes. The comparison device 18 is configured to compare the monitoring result with reference data that is the same from the memory 20 receives, where the reference data are preferably stored non-volatile.
Der
Speicher 20 ist beispielsweise ein EEPROM, ein Flash-Speicher oder aber
ein ROM-Speicher.The memory 20 is for example an EEPROM, a flash memory or a ROM memory.
Die
Vergleichseinrichtung 18 ist mit der Maßnahmeeinrichtung 24 verbunden,
um das Vergleichsergebnis an die Maßnahmeeinrichtung 24 weiterleiten
zu können.
Die Maßnahmeeinrichtung 24 erfasst bzw.
entscheidet basierend auf dem Vergleichsergebnis, ob ein manipulativer
Angriff auf die elektrische Schaltung 22 bzw. den Kryptocontroller 10 vorliegt
oder nicht, und leitet in dem Fall, dass das Vorliegen eines manipulativen
Angriffes erfasst worden ist, eine Maßnahme ein, die geeignet ist,
um zu Verhindern, dass der manipulative Angriff bzw. eine hierauf
beruhende Kryptoanalyse erfolgreich ist. Die Maßnahmeeinrichtung 24 ist
beispielsweise in der Lage, den Kryptocontroller 10 oder
die elektrische Schaltung 22 abzuschalten, eine Datenausgabe durch
die elektrische Schaltung 22 bzw. den Kryptocontroller 10 zu
verhindern, einen Neustart des Kryptocontrollers 10 oder
der elektrischen Schaltung 22 zu veranlassen, d.h. das
Zurücksetzen
derselben auf eine vorbestimmte Vorgabeeinstellung, und/oder geheime
Daten, die in dem Kryptocontroller 10, wie z.B. in dem
Speicher 20, gespeichert sind, zu löschen.The comparison device 18 is with the measure facility 24 connected to the comparison result to the institution 24 to be able to forward. The measure device 24 detects or decides, based on the comparison result, whether a manipulative attack on the electrical circuit 22 or the cryptocontroller 10 or not, and in the event that the presence of a manipulative attack has been detected, initiates a measure appropriate to prevent the manipulative attack or cryptanalysis based thereon from succeeding. The measure device 24 for example, is capable of the cryptocontroller 10 or the electrical circuit 22 shut off, a data output by the electrical circuit 22 or the cryptocontroller 10 to prevent a reboot of the cryptocontroller 10 or the electrical circuit 22 ie resetting them to a predetermined default setting, and / or secret data stored in the crypto controller 10 , such as in the store 20 , are stored, delete.
Nachdem
im Vorhergehenden der Aufbau des Kryptocontrollers 10 von 1 beschrieben
worden ist sowie die Funktionsweise der einzelnen Bestandteile,
wird im Folgenden die Funktionsweise des Kryptocontrollers 10 im
Hinblick auf die Erfassung von bzw. in Hinblick auf die Abwehr gegen
manipulative Angriffe beschrieben.After the above, the structure of the cryptocontroller 10 from 1 has been described and the operation of the individual components, the following is the operation of the cryptocontroller 10 with regard to the detection of or against the threat of manipulative attacks.
Bei
ihrer normalen Verwendung durchläuft der
Kryptocontroller 10 bzw. die elektrische Schaltung 22 vorbestimmte
Betriebsphasen, wie z.B. Phasen der Durchführung vorbestimmter kryptographischer
Algorithmen, wie z.B. der Durchführung
einer Authentifikation, einer Zertifizierung, einer Verschlüsselung,
einer Entschlüsselung
oder dergleichen. Die Phasen sind durch beispielsweise Teile, Routinen bzw.
Unterprogramme ei nes Programmcodes definiert, den eine CPU (nicht
gezeigt) des Kryptocontrollers abarbeitet. An zumindest einigen
Phasen ist die elektrische Schaltung 22 durch Datenverarbeitung beteiligt.
In diesen Phasen führt
die elektrische Schaltung 22 eine vorbestimmte oder eine
von mehreren vorbestimmten Datenbearbeitungsoperationen durch. Während jeder
Datenverarbeitungsoperation, wie z.B. der Durchführung eines RSA-, DES-, AES- oder
allgemein eines Blockchiffre-Algorithmus, weist die elektrische
Schaltung 22 einen charakteristischen Stromverbrauchsverlauf
auf, also einen charakteristischen Verlauf des Stromverbrauches
der elektrischen Schaltung 22 über die Zeit während der
Datenbearbeitungsoperation, der reproduzierbar ist, solange nicht
durch manipulative Angriffe Beeinflussungen der elektrischen Schaltung
stattfinden.In its normal use, the cryptocontroller goes through 10 or the electrical circuit 22 predetermined operating phases, such as phases of execution of predetermined cryptographic algorithms, such as the implementation of an authentication, certification, encryption, decryption or the like. The phases are defined by, for example, parts, routines or subroutines of a program code that a CPU (not shown) of the cryptocontroller processes. At least some phases is the electrical circuit 22 involved in data processing. In these phases leads the electrical circuit 22 a predetermined or one of a plurality of predetermined data processing operations. During any data processing operation, such as the performance of an RSA, DES, AES, or generally block cipher algorithm, the electrical circuitry is pointing 22 a characteristic power consumption curve, so a characteristic profile of the power consumption of the electrical circuit 22 over time during the data manipulation operation, which is reproducible unless manipulations of the electrical circuit occur through manipulative attacks.
In
dem Speicher 20 sind Referenzdaten gespeichert, die zumindest
für eine
vorbestimmte Datenbearbeitungsoperation, zu der die elektrische Schaltung 22 fähig ist,
das charakteristische Stromprofil der elektrischen Schaltung 22 über einen
vorbestimmten Zeitabschnitt während
dieser Datenbearbeitungsoperation beschreiben. Zu einer Datenbearbeitungsoperation
können
aber auch mehrere Referenzdaten in dem Speicher 20 vorgesehen
sein, die den charakteristischen Stromverbrauchsverlauf der elektrischen
Schaltung 22 während
dieser Datenbearbeitungsoperation für unterschiedliche Zeitabschnitte
mit gegebenenfalls unterschiedlichen Zeitdauern beschreiben. Ferner
können
die Referenzdaten in dem Speicher 20 Stromprofile für mehrere Operationen
umfassen, zu denen die elektrische Schaltung 22 fähig ist.
Genau ausgedrückt,
bezieht sich das zumindest eine Stromprofil, das die Referenzdaten
in dem Speicher 20 beschreiben, auf einen Stromverbrauchsverlauf,
der sich während
des Betriebs der elektrischen Schaltung 22 ergibt, wenn
dieselbe bzw. der Kryptocontroller 10 in einer sicheren Umgebung
betrieben wird, also ohne Manipulation von außen bzw. ohne das Vorhandensein
eines manipulativen Angriffes auf die elektrische Schaltung 22.In the store 20 are stored reference data, at least for a predetermined data processing operation, to which the electrical circuit 22 is capable of the characteristic current profile of the electrical circuit 22 over a predetermined period of time during this data handling operation. However, a data processing operation may also have multiple reference data in the memory 20 be provided that the characteristic current consumption curve of the electrical circuit 22 during this data processing operation for different time periods with possibly different durations to describe. Furthermore, the reference data may be in the memory 20 Power profiles for multiple operations, including the electrical circuit 22 is capable. Specifically, the at least one current profile relates the reference data in the memory 20 Describe on a power usage that occurs during the operation of the electrical circuit 22 results if the same or the crypto controller 10 is operated in a secure environment, so without manipulation from the outside or without the presence of a manipulative attack on the electrical circuit 22 ,
Die
Referenzdaten in dem Speicher 20 sind beispielsweise unmittelbar
nach Herstellung oder unmittelbar vor Chipkarten- bzw. Kryptocontrollerherausgabe fest
in den Speicher 20 eingespeichert oder aber eingebrannt
worden. Dazu hat beispielsweise die Stromverbrauchsüberwachungseinrichtung 16 in einer
sicheren Umgebung über
eine vorbestimmte Zeitdauer hinweg zu der bzw. den vorbestimmten Operationen
der elektrischen Schaltung 22 den Stromverbrauch der elektrischen
Schaltung 22 überwacht,
um Überwachungsergebnisdaten
zu erzeugen, die dann als die Referenzdaten in den Speicher 20 geschrieben
worden sind. Die Referenzdaten in dem Speicher 20 können jedoch
ferner im Einsatz aktualisiert werden, wenn sich der Kryptocontroller 10 in einer
sicheren Umgebung befindet, wie z.B. in dem Fall eines Chipkarten-Controllers 10 immer
dann, wenn die derselbe in einem authentifizierten Terminal befindet.
Solche Aktualisierungen könnten
dann beispielsweise durch ein Ruthentifizierungssignal von dem Terminal über den
Ein-/Ausgang 14 ausgelöst werden.The reference data in the memory 20 are for example immediately after production or immediately before smart card or Kryptocontrollerherausgabe fixed in the memory 20 stored or burned. For example, has the power consumption monitoring device 16 in a safe environment for a predetermined period of time to the predetermined operations of the electrical circuit 22 the power consumption of the electrical circuit 22 monitored to generate monitoring result data, which is then used as the reference data in memory 20 have been written. The reference data in the memory 20 however, may also be updated in use when the cryptocontroller 10 in a secure environment, such as in the case of a smart card controller 10 whenever it is in an authenticated terminal. Such updates could then be made, for example, by a reauthentication signal from the terminal via the input / output 14 to be triggered.
Wenn
nun die elektrische Schaltung die zumindest eine Operation durchführt, für deren
charakteristisches Stromprofil Referenzdaten in dem Speicher 20 vorhanden
sind, überwacht
die Stromverbrauchsüberwachungseinrichtung 16 den
Stromverbrauch der elektrischen Schaltung 22 über die
Zeitdauer hinweg bzw. in dem Zeitabschnitt, die bzw. der demjenigen
entspricht, auf die sich die Referenzdaten in dem Speicher 20 beziehen.
Diese Überwachung
wird entweder jedes Mal durchgeführt,
da die elektrische Schaltung 22 diese Operation durchführt, oder
gegebenenfalls, nur intermittierend, beispielsweise jedes zweitemal
oder dergleichen, oder aber nur an vorbestimmten Malen. Das Ergebnis
der Überwachung
bzw. das Überwachungsergebnis
beschreibt den Stromverbrauchsverlauf der elektrischen Schaltung über den überwachten
Zeitraum hinweg. Die Vergleichseinrichtung 18 vergleicht
das Überwachungsergebnis
mit den Referenzdaten. Idealerweise sollte das Überwachungsergebnis den Referenzdaten
exakt entsprechen, wenn die elektrische Schaltung 22 durch
keine äußere Manipulation
beeinflusst wird, ab gesehen von Schwankungen des Stromverbrauchs
der elektrischen Schaltung 22, die durch unterschiedliche
zu verarbeitende Eingangsdaten in die jeweilige Operation der elektrischen Schaltung 22 begründet sind.
Neben den variierenden Eingangsdaten, die bei der jeweiligen Datenbearbeitungsoperation
durch die elektrische Schaltung 22 verarbeitet werden,
führen
aber auch äußere Umweltparameter
wie z.B. eine variierende Temperatur, dazu, dass sich das Überwachungsergebnis
und die Referenzdaten auch ohne Vorliegen eines manipulativen Angriffs
voneinander unterscheiden können. Die
Vergleichseinrichtung 18 vergleicht deshalb das Überwachungsergebnis
mit den Referenzdaten und gibt das sich ergebende Vergleichsergebnis
an die Maßnahmeeinrichtung 24 aus,
die ihrerseits wiederum nur dann auf einen manipulativen Angriff
schließt, wenn
sich das Überwachungsergebnis
und die Referenzdaten um mehr als ein vorbestimmtes Maß voneinander
unterschieden, wie es im Folgenden noch anhand von 2 und 4 exemplarisch
detaillierter erörtert
wird. Das vorbestimmte Maß ist
dazu vorgesehen, dass die datenbedingten oder umweltbedingten Stromverbrauchsverlaufsvariationen
nicht fälschlicherweise
zur Angriffserfassung führen.
Gegenmaßnahmen,
zu denen die Maßnahmeeinrichtung 24 fähig ist,
leitet die Maßnahmeeinrichtung 24 nur
dann ein, wenn sie aus dem Vergleichsergebnis auf einen manipulativen
Angriff schließt.
Ein manipulativer Angriff wird durch die Vorgehensweise wie sie im
Vorhergehenden beschrieben wurde, aufgedeckt, weil ziemlich alle,
wenn nicht alle, äußeren physikalischen
Manipulationen zu einer Änderung
des Stromverbrauches der elektrischen Schaltung 22 führen, was
sich wiederum in dem Stromverbrauchsverlauf und damit auch in dem
denselben beschreibenden Überwachungsergebnis
niederschlägt.Now, when the electrical circuit performs the at least one operation, reference data in the memory for its characteristic current profile 20 are present monitors the power consumption monitor 16 the power consumption of the electrical circuit 22 over the period of time corresponding to the reference data in the memory 20 Respectively. This monitoring is done either each time as the electrical circuit 22 performs this operation, or optionally, only intermittently, for example, every other time or the like, or only at predetermined times. The result of the monitoring or the monitoring result be writes the power consumption history of the electrical circuit over the monitored period. The comparison device 18 compares the monitoring result with the reference data. Ideally, the monitoring result should exactly match the reference data when the electrical circuit 22 is influenced by no external manipulation, seen from fluctuations in the power consumption of the electrical circuit 22 , by different input data to be processed in the respective operation of the electrical circuit 22 are justified. In addition to the varying input data, in the respective data processing operation by the electrical circuit 22 However, external environmental parameters, such as a varying temperature, also cause the monitoring result and the reference data to differ from each other even without a manipulative attack. The comparison device 18 therefore compares the monitoring result with the reference data and gives the resulting comparison result to the measure device 24 which, for its part, only concludes a manipulative attack if the monitoring result and the reference data differ from one another by more than a predetermined amount, as described below with reference to FIG 2 and 4 will be discussed in more detail by way of example. The predetermined amount is designed so that the data-related or environmental power consumption variations do not erroneously lead to attack detection. Countermeasures, to which the measure facility 24 capable of managing the measure facility 24 only if it concludes from the comparison result on a manipulative attack. A manipulative attack is uncovered by the procedure described above because almost all, if not all, external physical manipulations result in a change in the power consumption of the electrical circuit 22 lead, which in turn reflected in the power consumption history and thus also in the same descriptive monitoring result.
Nachdem
im Vorhergehenden Aufbau- und Funktionsweise der Vorrichtung von 1 allgemein beschrieben
worden ist, wird im Folgenden bezugnehmend auf 2 die
Funktionsweise des Kryptocontrollers 10 von 1 im
Hinblick auf die Erfassung manipulativer Angriffe gemäß eines
spezielleren Ausführungs beispiels
beschrieben, nämlich
einem Ausführungsbeispiel,
bei dem die Stromverbrauchsüberwachungseinrichtung 16 als
A/D-Wandler mit
1-Bit-Schrittweite bzw. 1-Bit-A/D-Wandler implementiert ist.After in the foregoing construction and operation of the device of 1 has been generally described, reference is made in the following 2 the operation of the cryptocontroller 10 from 1 described with regard to the detection of manipulative attacks according to a more specific embodiment example, namely an embodiment in which the power consumption monitoring device 16 is implemented as an A / D converter with 1-bit step size or 1-bit A / D converter.
2 zeigt
in einem Graphen 50, in welchem die Stromstärke I in
willkürlichen
Einheiten entlang der Y-Achse und die Zeit t in willkürlichen
Einheiten entlang der x-Achse aufgetragen sind, einen exemplarischen
Zeitausschnitt des Stromverbrauchsverlaufs der elektrischen Schaltung
für eine
vorbestimmt Operation, den die elektrische Schaltung 22 normalerweise
für diese
Operation verbraucht, d.h. wenn kein manipulativer Angriff durch
FIB oder dergleichen, vorliegt. Dieser charakteristische Stromverbrauchsverlauf
ist in 2 mit „normal" beschriftet und
mit dem Bezugszeichen 52 versehen. Gemäß diesem Ausführungsbeispiel
ist die Stromverbrauchsüberwachungseinrichtung 16 nun
als ein solcher A/D-Wandler ausgebildet, der einen internen digitalen
ganzzahligen Wert pro Taktzyklus um 1 inkrementiert oder dekrementiert,
um ihn an den aktuellen Wert des Stromverbrauchsverlaufs 52 anzupassen. Genau
genommen dekrementiert der so gebildete A/D-Wandler 16 den
aktuellen digitalen Wert um 1, wenn der analoge Wert des Stromverbrauchsverlaufs 52 kleiner
als der digitale Wert ist, und inkrementiert ihn um Eins, im umgekehrten
Fall. Das Ergebnis dieser Analog-/Digital-Umsetzung ist ein um den
analogen Stromverbrauchsverlauf 52 schwankendes Hin- und
Herwechseln des digitalen Werts, wie es der Verlauf des digitalen
Werts in 2 bei 54 zeigt. Unterhalb
des Graphen 50 sind zur Verdeutlichung noch einmal in einer
Tabelle 56 in einer untersten Zeile die Werte gezeigt,
die der digitale Wert in den aufeinander folgenden Taktzyklen annimmt,
wenn der normale charakteristische Stromverbrauchsverlauf 52 vorliegt.
In der ersten Zeile der Tabelle 56 sind die Taktzyklen
exemplarisch durchnummeriert. Wie es zu sehen ist, beginnt der digitale
Wert exemplarisch bei 16 und erhöht
sich daraufhin im nächsten
Taktzyklus 1 um 1 auf 17, weil der Stromverbrauchsverlauf 52 zwischen
den beiden Taktzyklen gleich bleibt und oberhalb des aktuellen digitalen
Wertes am Taktzyklus 0 liegt. Daraufhin verringert sich wieder der
digitale Wert im Taktzyklus 2, weil der Stromverbrauchsverlauf 52 immer
noch konstant geblieben ist und diesmal unterhalb des digitalen
Werts am Taktzyklus 1 liegt usw. Während der Nachführung des
digitalen Wertes gibt die Stromverbrauchsüberwachungseinrichtung 16 bzw.
der A/D-Wandler eine Korrekturbitfolge aus, die für den normalen
charakteristischen Stromverbrauchsverlauf 52 in der vorletzten
Zeile der Tabelle 56 gezeigt ist. Genauer ausgedrückt gibt
die Stromverbrauchsüberwachungseinrichtung
zu jedem Taktzyklus ein Bit aus, das anzeigt, ob der demselben Taktzyklus
angehörende
digitale Wert durch Inkrementierung oder Dekrementierung des vorhergehenden
Wertes des digitalen Wertes erhalten worden ist, nämlich ein
Bit „1" für Inkrementierung
und ein Bit „0" für Dekrementierung.
Zu den ersten drei Taktzyklen lautet die Korrekturbitfolge folglich
010. Diese Korrekturbitfolge wird nun gemäß dem Ausführungsbeispiel von 2 als Überwachungsergebnis
verwendet, das der Vergleichseinrichtung 18 zugeführt wird (1).
Die Referenzdaten in dem Speicher 20 entsprechen gemäß dem Ausführungsbeispiel
von 2 folglich der Korrekturbitfolge in der vorletzten Zeile
der Tabelle 56 für
den in 2 gezeigten Zeitausschnitt von 17 Taktzyklen. 2 shows in a graph 50 in which the current intensity I is plotted in arbitrary units along the Y-axis and the time t in arbitrary units along the x-axis, an exemplary time segment of the current consumption curve of the electrical circuit for a predetermined operation, the electric circuit 22 normally consumed for this operation, ie, when there is no manipulative attack by FIB or the like. This characteristic power consumption curve is in 2 labeled with "normal" and with the reference number 52 Mistake. According to this embodiment, the power consumption monitoring device 16 is now designed as such an A / D converter that increments or decrements an internal digital integer value by one per clock cycle by 1 to match the current value of the current consumption profile 52 adapt. Strictly speaking, the thus formed A / D converter decrements 16 the current digital value by 1, if the analog value of the power consumption curve 52 is smaller than the digital value and increments it by one, in the opposite case. The result of this analog / digital conversion is an analogue power consumption curve 52 fluctuating back and forth of the digital value, as the history of the digital value in 2 at 54 shows. Below the graph 50 are again in a table for clarity 56 show in a bottom line the values that the digital value assumes in the successive clock cycles when the normal characteristic power consumption curve 52 is present. In the first line of the table 56 the clock cycles are numbered by way of example. As can be seen, the digital value starts at 16 by way of example and then increases by 1 to 17 in the next clock cycle 1 because of the power consumption curve 52 remains the same between the two clock cycles and is above the current digital value at clock cycle 0. As a result, the digital value in the clock cycle 2 decreases again, because the current consumption curve 52 has remained constant and this time is below the digital value at clock cycle 1, etc. During tracking of the digital value, the power consumption monitor indicates 16 or the A / D converter from a correction bit sequence, for the normal characteristic power consumption curve 52 in the penultimate line of the table 56 is shown. More specifically, the power consumption monitor outputs one bit every clock cycle indicating whether the same clock cycle digital value has been obtained by incrementing or decrementing the previous value of the digital value, namely, a "1" bit for incrementing and a "0" bit. for decrementation. Consequently, for the first three clock cycles, the correction bit sequence is 010. This correction bit sequence will now be according to the embodiment of FIG 2 used as a monitoring result, that of the comparator 18 is fed ( 1 ). The reference data in the memory 20 correspond to according to the embodiment of 2 hence the correction bit sequence in the penultimate one Row of the table 56 for the in 2 shown time interval of 17 clock cycles.
In 2 ist
nun zur Veranschaulichung dessen, wie die nach 2 arbeitende
Vorrichtung von 1 einen manipulativen Angriff
erfasst, neben dem normalen charakteristischen Stromverbrauchsverlauf 52 ein
Stromverbrauchsverlauf der elektrischen Schaltung 22 gezeigt,
der sich durch die elektrische Schaltung 22 bei Ausführung derselben
Operation zum selben Zeitausschnitt innerhalb der Operation allerdings
diesmal mit einem manipulativen Angriff ergibt. Dieser „manipulierte
Stromverbrauchsverlauf" ist
in 2 gestrichelt dargestellt, mit „manipuliert" beschriftet und
mit dem Bezugszeichen 58 versehen. Mit dem Bezugszeichen 60 ist
in 2 die Abfolge von Werten veranschaulicht, die
der digitale Wert des A/D-Wandlers 16 in dem Fall des Stromverbrauchsverlaufs 58 annimmt.
Die Folge von Werten des digitalen Werts ist auch noch einmal in
der zweiten Zeile der Tabelle 56 dargestellt und die dazu
gehörige
Korrekturbitfolge, die die Stromverbrauchsüberwachungseinrichtung 16 während der
Stromüberwachung,
durch die der manipulierte Stromverbrauchsverlauf erhalten wird,
an die Vergleichseinrichtung 18 ausgibt, ist in der dritten
Zeile der Tabelle 56 gezeigt. Wie es zu sehen ist, weicht
die Korrekturbitfolge im manipulierten Fall von der Korrekturbitfolge
ab, wie sie für
die elektrische Schaltung 22 charakteristischerweise in
Abwesenheit eines manipulativen Angriffes auftritt und in dem Speicher 20 gespeichert
ist. Deshalb erkennt die Vergleichseinrichtung 18 beim
Vergleich der Korrekturbitfolgen einen manipulativen Angriff. Insbesondere
erkennt die Vergleichseinrichtung 18 durch einen bitweisen
Vergleich der Korrekturbitfolgen, dass sich dieselben innerhalb
der letzten sieben Bits 62 bzw. 64 unterscheiden,
die zu den Taktzyklen 11-17 gehören. Dies
sind die Taktzyklen, ab der in dem vorliegenden exemplarischen Fall
von 2 eine Manipulation aufgetreten ist, wie sie mit
dem Bezugszeichen 66 veranschaulicht sein soll. Durch die
Manipulation 66 ist der Stromverbrauchsverlauf 58 im
Vergleich zum normalen Fall 52 erhöht, was sich in einer anderen
Korrekturbitfolge niederschlägt.
Das vorbestimmte Maß, dessen Überschreitung
in der Einrichtung 24 zur Angriffserfassung führt, ist
im vorliegenden Fall beispielsweise durch einen Minimalwert definiert,
den ein Integral über
eine Korrelation der beiden Korrekturbitfolge überscheiten muss, damit kein
Angriffszenario vorliegt.In 2 is now illustrative of how the after 2 working device of 1 detected a manipulative attack, in addition to the normal characteristic current consumption history 52 a power consumption curve of the electrical circuit 22 shown by the electrical circuit 22 However, if the same operation is performed at the same time within the operation, this time with a manipulative attack. This "manipulated power usage history" is in 2 shown in dashed lines, labeled "manipulated" and with the reference numeral 58 Mistake. With the reference number 60 is in 2 the sequence of values that illustrates the digital value of the A / D converter 16 in the case of the power consumption history 58 accepts. The sequence of values of the digital value is also again in the second line of the table 56 and the associated correction bit string representing the power consumption monitor 16 during the current monitoring, by which the manipulated power consumption curve is obtained, to the comparator 18 is in the third row of the table 56 shown. As can be seen, in the manipulated case, the correction bit sequence deviates from the correction bit sequence, as for the electrical circuit 22 characteristically occurs in the absence of a manipulative attack and in the memory 20 is stored. Therefore, the comparison device recognizes 18 when comparing the correction bit sequences a manipulative attack. In particular, the comparison device recognizes 18 by a bitwise comparison of the correction bit sequences that are within the last seven bits 62 respectively. 64 differ that to the clock cycles 11 - 17 belong. These are the clock cycles starting in the present exemplary case of 2 a manipulation has occurred, as indicated by the reference numeral 66 should be illustrated. Through the manipulation 66 is the electricity consumption history 58 compared to the normal case 52 increases, which is reflected in another correction bit sequence. The predetermined amount, exceeding it in the device 24 leads to attack detection, is defined in the present case, for example, by a minimum value that an integral on a correlation of the two correction bit sequence must pass, so that no attack scenario exists.
Die
vorhergehenden Ausführungsbeispiele von 1 und 2 bezogen
sich auf einen Kryptocontroller, bei dem – zumindest im Rahmen der vorhergehenden
Beschreibung – die
Stromverbrauchsüberwachungseinrichtung
eigens zur Erzeugung des Überwachungsergebnisses
vorgesehen war. Stromüberwachungen
können
jedoch auch bereits in einem Kryptocontroller implementiert sein,
nämlich
beispielsweise im Sinne einer Strombegrenzungs- bzw. CLKSTOP-Funktion, gemäß der abhängig vom
aktuellen Stromverbrauch der Takt, mit dem die elektronische Schaltung 22 betrieben
wird, beschleunigt und/oder verlangsamt wird. Ein Kryptocontroller,
bei dem diese Funktion bereits implementiert ist, liegt den im Folgenden
beschriebenen Ausführungsbeispielen
von 3 und 4 zugrunde, wobei die Erfassung
von manipulativen Angriffen bei diesem Controller auf der Basis
des abhängig
von dem Stromverbrauch gesteuerten Taktes als dem Überwachungsergebnis
durchgeführt
wird.The previous embodiments of 1 and 2 referred to a cryptocontroller, in which - at least in the context of the preceding description - the power consumption monitoring device was provided specifically for generating the monitoring result. However, current monitoring can also already be implemented in a cryptocontroller, namely, for example, in the sense of a current limiting or CLKSTOP function, according to which, depending on the current power consumption, the clock with which the electronic circuit 22 is operated, accelerated and / or slowed down. A cryptocontroller, in which this function is already implemented, lies in the exemplary embodiments described below 3 and 4 based, wherein the detection of manipulative attacks in this controller is performed on the basis of depending on the power consumption controlled clock as the monitoring result.
Gemäß 3 umfasst
ein Kryptocontroller 100 mit einem Eingang 112 zur
Stromversorgung und einem Ein-/Ausgang 114 zur externen
Kommunikation eine Stromverbrauchsüberwachungseinrichtung 116,
eine Vergleichseinrichtung 118, einen Speicher 120,
eine elektrische Schaltung 122, eine Maßnahmeeinrichtung 124,
einen Taktreduzierer/-beschleuniger 126, einen Oszillator 128 und
einen Taktzähler 130.
Ebenso wie das Ausführungsbeispiel
von 1, kann der Kryptocontroller 100 in Form
einer integrierten elektrischen Schaltung in einem Chip gebildet sein.According to 3 includes a cryptocontroller 100 with an entrance 112 for power supply and an input / output 114 for external communication, a power consumption monitoring device 116 , a comparison device 118 , a store 120 , an electrical circuit 122 , a measure facility 124 , a clock reducer / accelerator 126 , an oscillator 128 and a clock counter 130 , As well as the embodiment of 1 , the cryptocontroller can 100 be formed in the form of an integrated electrical circuit in a chip.
Die
Stromverbrauchsüberwachungseinrichtung 116 ist
zwischen den Stromversorgungseingang 112 und einen Stromversorgungsanschluss
der elektrischen Schaltung 122 geschaltet. Ein Datenanschluss
der elektrischen Schaltung 122 ist mit dem Ein-/Ausgang 114 verbunden.
Die Vergleichseinrichtung 118 ist mit dem Speicher 120 verbunden,
um die Referenzdaten zu erhalten, und mit der Maßnahmeeinrichtung 124,
um derselben das Vergleichsergebnis weiterzuleiten. Die Maßnahmeeinrichtung 124 weist
beispielsweise die bezugnehmend auf 1 aufgezählten Fähigkeiten
bzw. Maßnahmenmöglichkeiten
zur Vereitelung von Fault-Attack-Kryptoangriffen auf.The power consumption monitoring device 116 is between the power supply input 112 and a power supply terminal of the electric circuit 122 connected. A data connection of the electrical circuit 122 is with the input / output 114 connected. The comparison device 118 is with the store 120 connected to receive the reference data and with the policy device 124 to pass the comparison result to the same. The measure device 124 For example, the reference to 1 enumerated abilities or measures for the prevention of Fault Attack crypto attacks.
Anders
als die Stromüberwachungseinrichtung
von 1 kümmert
sich nun die Stromverbrauchsüberwachungseinrichtung 116 von 3 unmittelbar
zunächst
nur um die Steuerung der Taktrate des Takts, mit dem die elektrische
Schaltung 122 betrieben wird. Abhängig von dem aktuellen Stromverbrauch
der elektrischen Schaltung 122 steuert die Einrichtung 116 deshalb
mittels eines Steuersignals den Taktreduzierer/-beschleuniger 126, der zwischen einen
Oszillator 128 und einen Taktanschluss der elektrischen
Schaltung 122 geschaltet ist. Abhängig von dem Steuersignal von
der Einrichtung 116 reduziert der Taktreduzierer/-beschleuniger 126 den
Oszillatortakt vom Oszillator 128 oder beschleunigt ihn, um
den sich ergebenden Takt an die elektrische Schaltung 122 auszugeben.
Genau genommen wird der Takt zur Schaltung 122 reduziert,
wenn der aktuelle Stromverbrauch hoch ist, um den Stromverbrauch
der Schaltung 122 zu begrenzen, und er wird erst wieder
erhöht,
wenn der Stromverbrauch wieder runtergeht.Unlike the current monitoring device of 1 now takes care of the power consumption monitoring device 116 from 3 Immediately at first only to control the clock rate of the clock, with which the electrical circuit 122 is operated. Depending on the current power consumption of the electrical circuit 122 controls the device 116 therefore by means of a control signal the clock reducer / accelerator 126 that is between an oscillator 128 and a clock terminal of the electric circuit 122 is switched. Depending on the control signal from the device 116 reduces the clock speed reducer / accelerator 126 the oscillator clock from the oscillator 128 or accelerate it to the resulting clock to the electrical circuit 122 issue. Actually, the clock becomes the circuit 122 reduced, if the current power consumption is high, the power consumption of the circuit 122 to limit, and he will only increased again when the power consumption goes down again.
Da
der so gesteuerte Takt abhängig
von dem aktuellen Stromverbrauch eingestellt ist, beschreibt er
stets den aktuellen Stromverbrauch. Ein Ausschnitt aus dem Taktsignal,
welches am Taktanschluss der elektrischen Schaltung 122 anliegt
und von dem Taktreduzierer/-beschleuniger 126 ausgegeben
wird, beschreibt folglich den Stromverbrauch der elektrischen Schaltung 122 über eine
gewisse Zeitdauer hinweg. Dieses Taktsignal wird nun nicht nur dem
Taktanschluss der elektrischen Schaltung 122 zugeführt, sondern
ferner einem Eingang des Taktzählers 130.
Dieser zählt
die Taktimpulse des Taktsignals, um einen Zählerstand pro Taktimpuls zu inkrementieren.
Natürlich
wäre es
ferner möglich, den
Zählerstand
lediglich bei jedem zweiten Taktimpuls oder dergleichen zu erhöhen.Since the so controlled clock is set depending on the current power consumption, it always describes the current power consumption. A section of the clock signal, which at the clock connection of the electrical circuit 122 and from the clock reducer / accelerator 126 is therefore described, the power consumption of the electrical circuit 122 over a certain period of time. This clock signal is now not only the clock connection of the electrical circuit 122 supplied but also an input of the clock counter 130 , This counts the clock pulses of the clock signal to increment one count per clock pulse. Of course, it would also be possible to increase the count only every other clock pulse or the like.
Der
Taktzähler 130 gibt
seinen Zählerstand an
die Vergleichseinrichtung 118 aus. Der Zählerstand
bildet eine Art komprimierte Version eines Zeitausschnitts des Taktsignals
von dem Taktreduzierer/-beschleuniger 126 an die elektrische
Schaltung 122. Da der Zeitausschnitt des Taktsignals wiederum beschreibend
für einen
Zeitausschnitt des Stromverbrauchsverlaufs der elektrischen Schaltung 122 ist, ist
der Zählerstand
wiederum auch beschreibend für diesen
Zeitausschnitt des Stromverbrauchsverlaufs der elektrischen Schaltung 122.The clock counter 130 gives his meter reading to the comparator 118 out. The count forms a kind of compressed version of a timing of the clock signal from the clock reducer / accelerator 126 to the electrical circuit 122 , Since the time excerpt of the clock signal in turn descriptive of a time excerpt of the power consumption curve of the electrical circuit 122 is again, the counter reading is also descriptive of this time excerpt of the power consumption curve of the electrical circuit 122 ,
Dieser
Zählerstand
wird nun gemäß dem Ausführungsbeispiel
von 3 und 4 als Überwachungsergebnis zum Vergleich
mit den Referenzdaten durch die Vergleichseinrichtung 118 herangezogen,
wie es im Folgenden näher
beschrieben werden wird.This count is now according to the embodiment of 3 and 4 as a monitoring result for comparison with the reference data by the comparison device 118 used, as will be described in more detail below.
4 zeigt
in einem Graphen 150, bei dem, wie bei dem Graphen von 2,
der Strom I gegen die Zeit t in willkürlichen Einheiten aufgetragen
ist, einen exemplarischen Normal-Stromverbrauchsverlauf 152,
d.h. den Stromverbrauchsverlauf, wie er sich ohne manipulativen
Angriff ergibt, der mit „normal" gekennzeichnet ist,
sowie einen gestrichelt dargestellten Stromverbrauchsverlauf 154,
wie er sich mit einer exemplarischen manipulativen Beeinflussung der
elektrischen Schaltung 122 ergibt, wobei letzterer mit „manipuliert" gekennzeichnet ist.
Beide Stromverläufe 152 und 154 betreffen,
wie in dem Fall von 2, Stromverbrauchsverläufe, die
sich durch die elektrische Schaltung 122 im selben Zeitausschnitt bei
der Bearbeitung derselben Operation ergeben. 4 shows in a graph 150 in which, as in the graph of 2 , the current I is plotted against the time t in arbitrary units, an exemplary normal power consumption curve 152 , ie the power consumption curve, as it results without manipulative attack, which is marked "normal", as well as a power consumption curve shown in dashed lines 154 How he deals with an exemplary manipulative influence on the electrical circuit 122 where the latter is labeled "manipulated." Both current waveforms 152 and 154 as in the case of 2 , Electricity consumption, which is due to the electrical circuit 122 in the same time frame when editing the same operation.
Gemäß dem Ausführungsbeispiel
von 3 und 4 erzeugt nun der Oszillator
einen Systemtakt bzw. Oszillatortakt mit einer bestimmten Taktfrequenz,
wie z.B. mit 32 MHz, wie es in 4 exemplarisch
bei 156 gezeigt ist. Die Stromverbrauchsüberwachungseinrichtung 116 überwacht
den aktuellen Stromverbrauch beispielsweise mittels Stromerfassung
mittels justierbarer Stromspiegel. Dabei ist die Stromverbrauchsüberwachungseinrichtung 116 beispielsweise
zur Unterscheidung von 64 Stromstärken fähig, bzw. sie quantisiert die
erfasste Stromstärke auf
einen von 64 Quantisierungswerten. Diesen Messwert bzw.
Quantisierungswert gibt die Stromverbrauchsüberwachungseinrichtung 116 als Steuersignal
an den Taktreduzierer/-beschleuniger 126 weiter. Der Taktreduzierer/-beschleuniger 126 lässt nun
abhängig
von dem Steuersignal von der Stromverbrauchsüberwachungseinrichtung 116 alle oder
nur ein paar der Taktpulse des Systemtaktes vom Oszillator 128 zu
der elektrischen Schaltung 122 passieren. Um dies zu veranschaulichen,
zeigt 4 zunächst
bei 158 sechs aufeinander folgende Taktzyklen bzw. Taktpulse
des ursprünglichen
Systemtaktes bzw. Oszillatortaktes. Bei 160 ist der Takt
gezeigt, den der Taktreduzierer/-beschleuniger 126 aufgrund der
Steuerung durch das Steuersignal durch die Einrichtung 116 an
die elektrische Schaltung 122 weiterleitet, wenn der Normalfall 152 vorliegt.
Wie es zu sehen ist, hat der Taktreduzierer an Stellen 162A-N Taktimpulse
herausgenommen. Damit hat der Taktreduzierer/-beschleuniger 126 den
Oszillatortakt quasi ausgedünnt
bzw. verlangsamt, und zwar umso mehr, desto größer der Normal-Stromverbrauchsverlauf 152 gerade
ist. Bei 164 ist der Zählerstand
des Taktzählers 130 gezeigt,
wie er sich ergibt, wenn der Taktzähler 130 vor dem in 4 gezeigten
Zeitausschnitt auf „0" initialisiert worden
ist und daraufhin die Taktimpulse zählt, die sich auf den Normal-Stromverbrauchsverlauf 152 hin
in dem Taktsignal ergeben, das der Taktreduzierer/-beschleuniger 126 ausgibt und
bei 160 gezeigt ist. Wie es zu sehen ist, ist der Zählerstand
am Ende des Zeitausschnittes 20.According to the embodiment of 3 and 4 Now, the oscillator generates a system clock or oscillator clock with a specific clock frequency, such as 32 MHz, as in 4 as an example 156 is shown. The power consumption monitoring device 116 monitors the current power consumption, for example by means of current detection using adjustable current mirrors. Here is the power consumption monitoring device 116 For example, it is capable of distinguishing 64 amperages, or it quantizes the detected amperage to one of 64 Quantization values. This measured value or quantization value is given by the current consumption monitoring device 116 as a control signal to the clock reducer / accelerator 126 further. The clock reducer / accelerator 126 now leaves depending on the control signal from the power consumption monitoring device 116 all or just a few of the clock pulses of the system clock from the oscillator 128 to the electrical circuit 122 happen. To illustrate this, shows 4 initially at 158 six consecutive clock cycles or clock pulses of the original system clock or oscillator clock. at 160 the clock shown is that of the clock reducer / accelerator 126 due to the control by the control signal through the device 116 to the electrical circuit 122 forwards, if the normal case 152 is present. As can be seen, the clock reducer has taken out clock pulses at locations 162A-N. This has the clock reducer / accelerator 126 the oscillator cycle is thinned out or slowed down, and that more so, the greater the normal current consumption curve 152 is straight. at 164 is the count of the clock counter 130 shown how it turns out when the clock counter 130 before the in 4 time segment has been initialized to "0" and then counts the clock pulses, which are based on the normal power consumption curve 152 result in the clock signal that the clock reducer / accelerator 126 spend and at 160 is shown. As you can see, the count is at the end of the time frame 20 ,
Dieser
Zählerstand,
d.h. 20 wird als Referenzdaten in dem Speicher 120 gespeichert.
Wenn nun eine Manipulation bzw. ein manipulativer Angriff auf die
elektrische Schaltung 122 stattfindet, ändert sich dadurch der Stromverbrauchsverlauf,
nämlich hier
exemplarisch auf den Stromverbrauchsverlauf 154, der gegenüber dem
Normal-Stromverbrauchsverlauf kurzzeitig im Abschnitt 166 erhöht ist.This counter reading, ie 20 is used as reference data in the memory 120 saved. If now a manipulation or a manipulative attack on the electrical circuit 122 takes place, thereby changing the power consumption history, namely here on the example of the power consumption curve 154 , the opposite of the normal power consumption history briefly in the section 166 is increased.
Dieser
kurzzeitig erhöhte
Stromverbrauch bewirkt nun, dass die Stromverbrauchsüberwachungseinrichtung 116 in
dem Fall des Angriffes 166 einen höheren Stromverbrauch misst
und deshalb über
das Steuersignal den Taktreduzierer/-beschleuniger 126 in
dieser Zeit anders ansteuert als er dies in dem normalen Fall ohne
Angriff getan hat. Dies ist durch durchgestrichene Taktpulse in
den Taktzyklen 166 bei 168A und 168B gezeigt.
Aufgrund des vorübergehend
erhöhten
aktuellen Stromverbrauchs aufgrund des manipulierten Angriffs reduziert
nämlich der
Taktreduzierer/-beschleuniger 126 die Taktrate in der Zeitspanne 166 und
streicht mehr Taktpulse aus dem Systemtakt als in dem Normal-Fall
heraus. In einer Zeile 170 ist nun der jeweilige Zählerstand
während
des in 4 gezeigten Zeitabschnittes für den manipulierten Fall aufgetragen,
wobei wieder davon ausgegangen wird, dass der Taktzählerstand
zu Beginn des Zeitabschnittes von 4 auf den
Wert „0" initialisiert worden
ist. Wie es zu sehen ist, beträgt
der Zählerstand
am Ende des Abschnittes von 4 nur noch
lediglich 18. Diesen Zählerstand
gibt nun der Taktzähler 130 an
die Vergleichseinrichtung 118 aus, die ihn wiederum mit
den Referenzdaten vergleicht, die, wie im Vorhergehenden erwähnt, den
Wert 20 anzeigen. Die Differenz, nämlich –2, gibt die Vergleichseinrichtung 118 an
die Maßnahmeeinrichtung 124 aus,
die ihrerseits wiederum aufgrund der Differenz auf einen Angriff
rückschließen kann,
indem sie beispielsweise überprüft, ob der
Betrag der Differenz eine vorbestimmt Schwelle überschreitet oder dergleichen.
Auf diese Weise erfasst die Vorrichtung von 3 und 4 manipulative
Angriffe.This short-term increased power consumption now causes the power consumption monitoring device 116 in the case of the attack 166 measures a higher power consumption and therefore via the control signal the clock reducer / accelerator 126 is driving differently than he did in the normal case without attack. This is due to crossed-out clock pulses in the clock cycles 166 at 168A and 168B shown. Because of the temporarily increased current power consumption due to the manipulated attack namely reduces the clock speed reducer / accelerator 126 the clock rate in the time span 166 and eliminates more clock pulses the system clock as in the normal case out. In a row 170 is now the respective meter reading during the in 4 Plotted time portion shown for the manipulated case, again assuming that the clock count at the beginning of the period of 4 has been initialized to the value "0." As can be seen, the count at the end of the section of 4 only only 18. This count is now the clock counter 130 to the comparator 118 which, in turn, compares it to the reference data which, as mentioned above, indicates 20. The difference, -2, gives the comparator 118 to the measure facility 124 which, in turn, can infer an attack based on the difference, for example, by checking whether the amount of the difference exceeds a predetermined threshold or the like. In this way, the device detects 3 and 4 manipulative attacks.
Bezugnehmend
auf die vorhergehende Beschreibung wird noch darauf hingewiesen,
dass dieselben lediglich exemplarischer Natur waren. Bei dem Ausführungsbeispiel
von 3 und 4 ist es beispielsweise nicht
notwendig, dass die Vergleichseinrichtung 118 die Differenz
des Zählerstandes
mit den Referenzdaten bildet. Sie könnte auch den Quotienten bilden
oder die Werte ohne arithmetische Verknüpfung an die Maßnahmeeinrichtung
weiterleiten. Die Maßnahmeeinrichtung 124 könnte im
letztgenannten Fall anhand der Werte in einer Tabelle nachschlagen,
wodurch der Verglich der beiden Messungen dann quasi mittels dieses
Nachschlagvorgangs durchgeführt
wird. Auch das Ausführungsbeispiel von 2 ist
lediglich ein spezieller Fall eines A/D-Wandlers. Dieser könnte freilich
auch anders ausgeführt
sein, wie z.B. als Mehr-Bit-A/D-Wandler. Ferner wird darauf hingewiesen,
dass grundsätzlich der
Vergleich des im-Feld- bzw. in-the-field-eingemessen Stromverbrauchsverlaufs
mit einem charakteristischen Stromprofil auch analog durchgeführt werden
könnte,
indem beispielsweise eine ent sprechend fest verdrahtete Schaltung
einen charakteristischen Stromverbrauchsverlauf „nachahmt". Auch die Vergleichseinrichtung 118 könnte dann
ebenfalls als analoges Bauglied ausgeführt sein, wie z.B. als Differenzierer
oder dergleichen.With reference to the foregoing description, it should be understood that they were merely exemplary in nature. In the embodiment of 3 and 4 For example, it is not necessary for the comparator 118 the difference of the counter reading with the reference data forms. It could also form the quotient or pass the values to the measure without arithmetic linkage. The measure device 124 In the latter case, it would be possible to look up the values in a table, whereby the comparison of the two measurements is then carried out, as it were, by means of this look-up process. Also, the embodiment of 2 is just a special case of an A / D converter. This could of course also be designed differently, such as a multi-bit A / D converter. It should also be noted that, in principle, the comparison of the in-field or in-the-field metered current consumption profile with a characteristic current profile could also be carried out analogously, for example by a correspondingly hard-wired circuit "mimicking" a characteristic current consumption profile the comparison device 118 could then also be designed as an analog member, such as a differentiator or the like.
Ferner
wird darauf hingewiesen, dass die Ausführungsbeispiele von 2 auf
der einen und 3 und 4 auf der
anderen Seite miteinander kombiniert werden könnten. So kann es durchaus sein,
dass in einem bereits existierenden Kryptocontroller bereits die
Clockstop-Funktion implementiert ist, allerdings in einer abschaltbaren/zuschaltbaren Art
und Weise. Bei abgeschalteter Clockstop-Funktion würde dieser
Kryptocontroller dann beispielsweise nach dem Ausführungsbeispiel
von 2 oder nach 1 arbeiten,
anderenfalls nach dem Ausführungsbeispiel
von 3 und 4.It should also be noted that the embodiments of 2 on one and 3 and 4 on the other side could be combined with each other. Thus, it may well be that the clock stop function is already implemented in an already existing cryptocontroller, but in a switchable / switchable manner. When switched off clock stop function of this crypto controller would then, for example, according to the embodiment of 2 or after 1 otherwise, according to the embodiment of 3 and 4 ,
Ferner
wird darauf hingewiesen, dass obwohl im Vorhergehenden der Oszillator 128 zur
internen Taktversorgung des Kryptocontrollers 100 in demselben
vorgesehen war, auch ein externer Takt zur Taktgenerierung verwendet
werden könnte.
Interne Taktgenerierung wird jedoch bevorzugt, da die interne Taktgenerierung
eine sichere Referenz ermöglicht,
wohingegen die externe Taktgenerierung es auch einem potentiellen
Angreifer ermöglicht,
die Taktrate des extern zugeführten
Taktes zu variieren. Das im Hinblick auf interne und externe Taktgenerierung
Gesagte gilt freilich auch für
die Ausführungsbeispiele
von 1 und 2.It should also be noted that although the above is the oscillator 128 to the internal clock supply of the cryptocontroller 100 was provided in the same, an external clock for clock generation could be used. However, internal clock generation is preferred because internal clock generation allows for a secure reference, whereas external clock generation also allows a potential attacker to vary the clock rate of the externally supplied clock. The said with regard to internal and external clock generation, of course, applies to the embodiments of 1 and 2 ,
Die
vorhergehenden Ausführungsbeispiele schafften
folglich Möglichkeiten
dafür,
ein breites Spektrum von sicherheitsrelevanten Angriffen unabhängig von
ihrem eigentlichen Ursprung mittels chipinternem Strommonitoring
bzw. einer chipinternen Stromüberwachung
zu detektieren. Bei dem Ausführungsbeispiel
von 3 und 4 überwachte dabei der Controller
bzw. Chip seinen eigenen Stromverbrauch mittels einer Strombegrenzungs- bzw. Current Limiter-Funktion.
Ohne eine solche Funktion und/oder bei inaktiver CLKSTOP-Funktion
wurde bei dem Ausfüh rungsbeispiel
nach 2 ein 1-Bit-Wandler zur Überwachungsergebniserzeugung verwendet,
der Strombegrenzungsbits in Form der Korrekturbitfolgen nachführte.The preceding embodiments thus provided opportunities to detect a wide range of security-related attacks regardless of their actual origin by means of on-chip power monitoring or on-chip power monitoring. In the embodiment of 3 and 4 The controller or chip monitored its own power consumption by means of a current limiting or current limiter function. Without such a function and / or inactive CLKSTOP function was in the Ausfüh approximately example 2 used a 1-bit converter for monitoring result generation, which tracked current limit bits in the form of correction bit sequences.
Obige
Ausführungsbeispiele
sind beispielsweise bei Stromdetektierung mittels justierbarer Stromspiegel
anwendbar, die eine Quantisierung des Stromverbrauchsignals in 64
Möglichkeiten
(entspricht 6 Bits) vornehmen.Above
embodiments
are for example in current detection by means of adjustable current mirror
applicable, the quantization of the power consumption signal in 64
options
(corresponds to 6 bits).
Im
Vorhergehenden ist bereits beschrieben worden, dass die Referenzdaten
sowohl fest abgespeichert sein könnten
als auch von Zeit zu Zeit verändert
werden könnten
im Sinne einer Lernfunktion, die nacheinander beliebige Stromverläufe für die Referenzdaten
heranzieht, unabhängig
davon, was gerade in dem Chip bzw. Controller abläuft. Vorzugsweise
werden die Referenzdaten chipindividuell in einem nicht-flüchtigen
Speicher eines Chips bzw. Controllers abgespeichert, so dass bei
Auslieferung ansonsten gleicher Chips unterschiedliche Referenzdaten
gespeichert sind.in the
The foregoing has already described that the reference data
both could be stored permanently
as well as changed from time to time
could become
in the sense of a learning function, the succession of arbitrary current curves for the reference data
attracts, independently
of what is currently going on in the chip or controller. Preferably
the reference data are chip-individually in a non-volatile
Memory of a chip or controller stored, so that at
Delivery of otherwise identical chips different reference data
are stored.
Im
Vorhergehenden ist ferner bereits beschrieben worden, dass sich
die Referenzdaten auf verschiedene unterschiedliche Stromausschnitte
beziehen können.
Dies bietet die Möglichkeit
für ein weites
Spektrum von Stromausschnitten, wie z.B. von tausend Takten bis
zehn Millionen Takten bzw. Taktzyklen für die Zeitdauer.in the
It has already been described above that
the reference data on different different current sections
can relate.
This offers the possibility
for a long time
Spectrum of current cuts, such as from a thousand bars to
ten million clocks or clock cycles for the duration.
Im
Vorhergehenden ist auf die Möglichkeit der
Speicherung vieler kritischer bzw. charakteristischer Stromintervalle
hingewiesen worden. Jedes dieser charakteristischen Stromprofile
sollte sich jedoch auf Zeitabschnitte beziehen, bei denen die Bearbeitung
der elektrischen Schaltung einer reproduzierbaren Abfolge folgt.The above is on the possibility the storage of many critical or characteristic current intervals has been pointed out. However, each of these characteristic current profiles should refer to periods when the processing of the electrical circuit follows a reproducible sequence.
Zur
Implementierung der Ausführungsbeispiele
und insbesondere einer Kombination der Ausführungsbeispiele 2 bis 4, wie
es im Vorhergehenden beschrieben worden ist, wäre es möglich, die Erfassungsfunktionalität in Firmware
oder Software zu implementieren. Zwischen den so implementierten
Ausführungsbeispielen
könnte
durch Einstellen eines entsprechenden Bits umgeschaltet werden.to
Implementation of the embodiments
and in particular a combination of the embodiments 2 to 4, such as
As described above, it would be possible to include the detection functionality in firmware
or implement software. Between the so implemented
embodiments
could
be switched by setting a corresponding bit.
Im
Hinblick auf das Ausführungsbeispiel
von 3 und 4 wird noch darauf hingewiesen,
dass es ferner möglich
wäre, dass
der Taktzähler
von dem durch die Referenzdaten definierten Lernwert rückwärts zählt, so
dass die sich aus einem gegebenenfalls vorliegenden manipulativen
Angriff ergebende Differenz sich sofort aus dem Zählerstand
nach Ablauf der vorbestimmten Zeitdauer der Überwachung des Stromverbrauchsverlaufs
ergibt. Wie im Vorhergehenden beschrieben, könnte dann die Maßnahmeeinrichtung
ein vorgegebenes Delta bzw. eine vorbestimmte Abweichung zur Bewertung
dessen heranziehen, ob ein manipulativer Angriff vorliegt oder nicht.With regard to the embodiment of 3 and 4 It should also be noted that it would also be possible for the clock counter to count backwards from the learning value defined by the reference data, so that the difference resulting from a potentially present manipulative attack is instantaneous from the count after expiration of the predetermined period of monitoring the power usage history results. As described above, then, the action means could use a predetermined delta or a predetermined deviation to judge whether there is a manipulative attack or not.
Es
wird bezugnehmend auf obige Ausführungsbeispiele
ferner noch darauf hingewiesen, dass sich natürlich auch normale Umgebungsänderungen, wie
z.B. Temperaturänderungen,
auf den Stromverbrauch der elektrischen Schaltung 22 auswirken, ohne
dass dabei ein manipulativer Angriff vorliegt. In diesem Fall würde ein
zu kleiner Wert für
die maximale Abweichung, die die Maßnahmeeinrichtung zur Erkennung
auf einen manipulativen Angriff heranzieht, folglich zu einer erhöhten Anzahl
von Falsch-Positiv-Alarmierungen führen, also zu einer zu hohen
Anzahl von Malen, da die Maßnahmeeinrichtung
oben exemplarisch aufgeführte
oder eine der oben exemplarisch aufgeführten Maßnahmen durchführt. Um dies
zu verhindern, können
ferner Sensoren in dem Controller vorgesehen werden, die physikalische Umweltparameter
messen, wie z.B. ein Temperatursensor. Der eingebundene Temperatursensor
könnte herangezogen
werden, um die Temperatur zu messen, und so den durch die Stromverbrauchsüberwachungseinrichtung
erfassten Verlauf gegebenenfalls auf eine vorbestimmte Temperatur
zu kalibrieren, die den Referenzdaten zugrunde lag. Ferner könnte eine Bewer tung
einer externen Spannungsklasse A, B bzw. C vorgenommen werden, die
der Stromversorgung zugrundeliegt.With reference to the above exemplary embodiments, it is further pointed out that naturally also normal environmental changes, such as, for example, temperature changes, affect the power consumption of the electrical circuit 22 impact without being subject to a manipulative attack. In this case, too small a value for the maximum deviation which the measure device uses for detection on a manipulative attack would consequently lead to an increased number of false positive alarms, that is to say to an excessive number of times, since the measure means above listed by way of example or performs one of the measures listed above by way of example. To prevent this further, sensors may be provided in the controller that measure physical environmental parameters, such as a temperature sensor. The integrated temperature sensor could be used to measure the temperature, and thus, if necessary, to calibrate the profile detected by the power consumption monitor to a predetermined temperature based on the reference data. Furthermore, it would be possible to evaluate an external voltage class A, B or C, which underlies the power supply.
Ferner
wird noch darauf hingewiesen, dass abweichend von den vorhergehenden
Ausführungsbeispielen
die Maßnahmeeinrichtung
auch lediglich durch eine Erfassungseinrichtung ersetzt werden kann,
die den manipulativen Angriff lediglich erfasst. Die Erfassung könnte dann
beispielsweise von einer anderen Einrichtung abgefragt werden. Alternativ könnte die
so gebildete Erfassungseinrichtung ein Alarmsignal im Falle der
Abweichung des Überwachungsergebnisses
von den Referenzdaten ausgeben.Further
It should be noted that different from the previous ones
embodiments
the measure device
can also be replaced only by a detection device,
which only captures the manipulative attack. The capture could then
for example, be queried by another institution. Alternatively, the
thus formed detection means an alarm signal in the case of
Deviation of the monitoring result
output from the reference data.
Insbesondere
wird darauf hingewiesen, dass abhängig von den Gegebenheiten
das erfindungsgemäße Schema
zur Angriffserfassung auch in Software implementiert sein kann.
Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer
Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen
erfolgen, die so mit einem programmierbaren Computersystem auf dem
Chip zusammenwirken können,
dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht
die Erfindung somit auch in einem Computerprogrammprodukt mit auf
einem maschinenlesbaren Träger
gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens,
wenn das Computerprogramm auf einem Rechner bzw. dem Chip abläuft. In
anderen Worten ausgedrückt
kann die Erfindung somit als ein Computerprogramm mit einem Programmcode
zur Durchführung
des Verfahrens realisiert werden, wenn das Computerprogramm auf dem
Rechner bzw. Chip abläuft.Especially
It is noted that depending on the circumstances
the scheme of the invention
for attack detection can also be implemented in software.
The implementation may be on a digital storage medium, in particular a
Floppy disk or a CD with electronically readable control signals
done so with a programmable computer system on the
Chip can interact,
that the corresponding procedure is carried out. Generally exists
The invention thus also in a computer program product on
a machine readable carrier
stored program code for carrying out the method according to the invention,
when the computer program runs on a computer or the chip. In
in other words
Thus, the invention can be considered as a computer program with a program code
to carry out
the procedure be realized when the computer program on the
Calculator or chip expires.
-
1010
-
Kryptocontrollercryptocontroller
-
1212
-
Eingangentrance
-
1414
-
Ein-/AusgangAn exit
-
1616
-
StromverbrauchsüberwachungseinrichtungPower consumption monitoring device
-
1818
-
Vergleichseinrichtungcomparator
-
2020
-
SpeicherStorage
-
2222
-
elektrische
Schaltungelectrical
circuit
-
2424
-
Maßnahmeeinrichtungmeasure equipment
-
5050
-
Graphgraph
-
5252
-
Normal-StromverbrauchsverlaufNormal power consumption curve
-
5454
-
Verlauf
des digitalen Wertscourse
of the digital value
-
5656
-
Tabelletable
-
5858
-
manipulierter
Stromverbrauchsverlaufmanipulated
Current consumption curve
-
6060
-
Verlauf
des digitalen Wertscourse
of the digital value
-
100100
-
Kryptocontrollercryptocontroller
-
112112
-
Eingangentrance
-
114114
-
Ein-/AusgangAn exit
-
116116
-
StromverbrauchsüberwachungseinrichtungPower consumption monitoring device
-
118118
-
Vergleichseinrichtungcomparator
-
120120
-
SpeicherStorage
-
122122
-
elektrische
Schaltungelectrical
circuit
-
124124
-
Maßnahmeeinrichtungmeasure equipment
-
126126
-
Taktreduzierer/-beschleunigerTaktreduzierer / accelerators
-
128128
-
Oszillatoroscillator
-
130130
-
Taktzählerclock counter
-
150150
-
Graphgraph
-
152152
-
Normal-StromverbrauchsverlaufNormal power consumption curve
-
154154
-
manipulierter
Stromverbrauchsverlaufmanipulated
Current consumption curve