-
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Erfassen eines Angriffs auf eine elektrische Schaltung, und insbesondere auf eine Vorrichtung zum Erfassen eines Angriffs auf eine elektrische Schaltung, die einen Angriff basierend auf einer Stromaufnahme der elektrischen Schaltung ermittelt.
-
Immer häufiger werden Security Controller (Security Controller = Sicherungs-Steuereinheit) in einer Reihe von Anwendungen, wie z. B. Chipkarten-ICs (IC = integrated circuit = integrierter Schaltkreis) eingesetzt, also Chips bzw. Halbleitervorrichtungen mit einer integrierten Schaltungsanordnung.
-
Die Security-Controller werden dabei eingesetzt, um z. B. auf einem Chipkarten IC, wie z. B. einem Geldkarten-IC, eine sicherheitsrelevante Operation, wie z. B. eine Authentifizierung eines Benutzers, auszuführen.
-
Wenn ein Security-Controller in einer bestimmten Anwendung eingesetzt wird, so ist sein Stromverbrauch in vorbestimmten begrenzten Programmblöcken bzw. Blöcken eines Ausführungsprogramms, die über eine vorbestimmte Zeitdauer durchgeführt werden, zumeist sehr ähnlich, in Abhängigkeit davon, ob hierbei z. B. der Crypto-Coprozessor sich in einem eingeschalteten Betriebszustand befindet bzw. läuft, oder ein EEPROM (EEPROM = electrical erasable programmable read only memory Elektrisch löschbarer programmierbarer nur Lese Speicher) programmiert wird. Wenn jedoch ein Chip unter Angriffsbedingungen betrieben wird, so kann sich der Stromverbrauch bzw. seine Stromaufnahme erheblich ändern, dadurch dass z. B. bei einer DFA-Attacke (DFA-Attacke = differential failure analysis Attacke = differenzieller Ausfall-Analyse-Angriff) der Crypto-Coprozessor über eine hohe Anzahl an aufeinanderfolgenden Aktivierungsereignissen bzw. über viele tausend Mal direkt nacheinander aktiviert wird.
-
Dabei kann sich der Gesamt-Stromverbrauch bei einem Angriff mittels Röntgenstrahlung durch Leckströme sogar um eine Größenordnung bzw. um einen Faktor 10 erhöhen. Diese Änderung im Stromverbrauch kann als Detektion für Angriffe verwendet werden, wobei die Detektion aber relativ schwierig zu realisieren ist. Ein möglicher Ansatz, einen Angriff zu detektieren, besteht darin, einen Stromverbrauch eines Security-Controllers direkt zu bestimmen, wie z. B. über einen Spannungsabfall an einem Widerstand oder ein Ausgangssignal an einem Spannungsregler. Dieser Ansatz geht jedoch einher mit einem hohen Aufwand bzw. einem hohen Chipflächenbedarf bzw. einer hohen zusätzlichen Fläche, um die Funktionalität auf dem Chip zu implementieren, oder der oben erwähnte Ansatz ist technisch schwierig zu realisieren.
-
In der
DE 10 2004 016 342 A1 wird eine Vorrichtung zum Erfassen eines manipulativen Angriffes auf eine elektrische Schaltung beschrieben, die 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 umfasst. Die zugrunde liegende Erkenntnis 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 erzieltwerden kann, dass der Stromverbrauch der elektrischen Schaltung überwacht wird, und basierend auf dem Überwachungsergebnis mittels eines Vergleichs mit Referenzdaten manipulative Angriffe erfasst werden.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung zum Erfassen eines Angriffs auf eine elektrische Schaltung zu schaffen, die ein sicheres Erfassen eines Angriffs auf die elektrische Schaltung bei vertretbarem Aufwand ermöglicht.
-
Diese Aufgabe wird durch eine Vorrichtung gemäß dem Anspruch 1, ein Verfahren gemäß dem Anspruch 8, ein digitales Speichermedium gemäß dem Anspruch 9 und ein Computer-Programm gemäß dem Anspruch 10 gelöst.
-
Die vorliegende Erfindung schafft eine Vorrichtung zum Erfassen eines Angriffs auf eine elektrische Schaltung, wobei die elektrische Schaltung eine Stromaufnahmeschwellwerteinrichtung aufweist, die ausgelegt ist, um zu bestimmen, ob eine Stromaufnahme der elektrischen Schaltung einen vorbestimmten Schwellwert überschreitet und ein binäres Strombegrenzungs-Signal zu erzeugen, das einen ersten binären Wert aufweist, wenn die Stromaufnahme den vorbestimmten Schwellwert unterschreitet und einen zweiten binären Wert aufweist, wenn die Stromaufnahme den vorbestimmten Schwellwert überschreitet, wobei die Vorrichtung eine Einrichtung zum Überwachen des binären Strombegrenzungs-Signals über eine vorbestimmte Zeitspanne hinweg, um ein die Stromaufnahme der elektrischen Schaltung über die vorbestimmte Zeitspanne charakterisierendes Überwachungssignal anzugeben, und eine Einrichtung zum Erfassen eines Angriffs auf die elektrische Schaltung basierend auf dem Überwachungssignal aufweist.
-
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass es zur Erkennung eines Angriffs auf eine elektrische Schaltung nicht notwendig ist, den genauen Stromverbrauchsverlauf zu ermitteln, sondern dass es vielmehr ausreichend ist, die Überwachung auf ein binäres Strombegrenzungs-Signal zu beschränken, dessen Wert je nachdem variiert, ob die Stromaufnahme der Schaltung einen vorbestimmten Schwellwert überschreitet, oder die Stromaufnahme der Schaltung den vorbestimmten Schwellwert unterschreitet. Auf diese Weise kann eine sichere Angriffsdetektion mit vertretbarem Aufwand erzielt werden.
-
Ein Vorteil der vorliegenden Erfindung besteht beispielsweise darin, dass ein solches binäres Strombegrenzungssignal bei einigen Sicherheitscontrollern bereits zur Verfügung steht, um zur Taktratensteuerung bzw. zur Steuerung des Stromverbrauches verwendet zu werden. Solche Anordnungen erzeugen bereits Signale, wenn ein vorbestimmter Stromverbrauch überschritten wird, und veranlassen damit den Prozessor des Security-Controllers langsamer zu arbeiten und damit weniger Strom zu verbrauchen. In dem Fall dieser Security-Controller ist das Nachrüsten, um die vorliegende Erfindung zu implementieren, leicht, da lediglich noch eine Überwachungseinrichtung zur Überwachung des binären Strombegrenzungssignals über die vorbestimmte Zeitspanne hinweg, um das charakteristische Überwachungssignal auszugeben, und eine Einrichtung zum Erfassen eines Angriffs basierend auf dem Überwachungssignal vorzusehen sind.
-
Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung fungiert ein Zähler, der an das Strombegrenzungssignal angeschlossen wird und innerhalb einer bestimmten Zeiteinheit die binären Zustände zählt bzw. aufaddiert, an denen das Strombegrenzungssignal den einen oder den anderen binären Zustand einnimmt, als Überwachungseinrichtung, um ein Energieprofil eines bestimmten Zeitraums aufzunehmen. In diesem Fall wird die Überwachungseinrichtung folglich durch einen Zähler gebildet, der von dem Pulsen der Strombegrenzung hochgezählt wird und nach Ablauf einer bestimmten Zeitspanne ausgelesen werden kann. Somit kann ein Energieprofil im Betrieb eines Security-Controllers aufgenommen und ausgewertet werden. Entspricht das Profil nicht mehr dem ursprünglich gemessenen, so kann hiermit ein Angriffsversuch oder Angriff detektiert werden.
-
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigt:
-
1 einen Chip mit einer elektrischen Schaltung und einer Vorrichtung zum Erfassen eines Angriffs auf die elektrische Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
-
1 zeigt einen Chip 10, in welchem eine Vorrichtung zum Erfassen eines Angriffs auf eine elektrische Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung implementiert ist. Der Chip 10 umfasst eine Verarbeitungseinrichtung 12, eine Stromschwellwertüberwachungseinrichtung 14, einen Taktunterbrecher 16, eine Überwachungseinrichtung 18 und eine Alarmierungseinrichtung 20. Ferner umfasst der Chip 10 einen Versorgungsspannungsanschluss 22, einen Masseanschluss 24, einen Daten-Ein/Ausgang 26 und einen Taktanschluss 28. Zusätzlich ist eine Bereitstellungseinrichtung 30 zur Bereitstellung eines Referenzüberwachungssignals vorgesehen.
-
Die Verarbeitungseinrichtung 12 ist mit dem Daten-Ein/Ausgang 26 verbunden und in der Lage, über denselben Daten mit einem externen Gerät (nicht gezeigt), wie z. B. einem Terminal, auszutauschen. Die Verarbeitungseinrichtung 12 ist dabei beispielsweise als eine Anordnung von Prozessor und Coprozessoren vorgesehen. Die Verarbeitungseinrichtung 12 übernimmt vor allem die Aufgaben des Chips 10 und implementiert die gewünschten Funktionalitäten im Hinblick auf die Kommunikation mit dem externen Gerät, wie z. B. Authentifizierungsaufgaben, Verschlüsselungsaufgaben, Abbuchungsaufgaben und dergleichen im Zusammenhang mit einer Terminalsitzung mit einem mit dem Ein/Ausgang 26 gekoppelten Terminal.
-
Während der Datenverarbeitung bzw. der Erfüllung ihrer Aufgaben wird die Verarbeitungseinrichtung 12 über den Versorgungsspannungsanschluss 22 und den Masseanschluss 24 mit Spannung versorgt. Hierzu ist die Verarbeitungseinrichtung 12 zwischen den Versorgungsspannungsanschluss 22 und den Massenanschluss 24 geschaltet. Je nachdem, welche Aufgabe die Verarbeitungseinrichtung 12 gerade erfüllt, wie z. B. eine Verschlüsselung oder das Warten auf eine Antwort des externen Gerätes, variiert die augenblickliche Stromaufnahme der Verarbeitungseinrichtung 12.
-
Die Stromverbrauchsschwellwertüberwachungseinrichtung 14 ist mit einem Versorgungspfad gekoppelt, der die Verarbeitungseinrichtung 12 mit den Anschlüssen 22 und 24 verbindet. Sie kann beispielsweise seriell in diesen Versorgungspfad geschaltet sein, wie es in 1 gezeigt ist. Die Stromverbrauchsschwellwertüberwachungseinrichtung 14 ist dabei derart ausgebildet, dass sie den augenblicklichen Stromverbrauch der Verarbeitungseinrichtung 12 daraufhin überwacht, ob derselbe einen bestimmten Stromverbrauchsschwellwert über- oder unterschreitet, um je nachdem an ihrem Ausgang ein binäres Strombegrenzungssignal auszugeben, das einen logisch hohen oder logisch niedrigen Zustand aufweist. Im Folgenden wird angenommen, dass das Strombegrenzungssignal, das von der Einrichtung 14 ausgegeben wird, einen logisch hohen Zustand aufweist, wenn der augenblickliche Stromverbrauch den vorbestimmten Schwellwert überschreitet, und anderenfalls einen logisch niedrigen Zustand.
-
Die Taktunterbrechungseinrichtung 16 ist zwischen den Taktanschluss 28 und einen Takteingang der Verarbeitungseinrichtung 12 geschaltet. Die Verarbeitungseinrichtung 12 führt die Datenverarbeitung mit dem Takt durch, der ihr durch ein Taktsignal an ihrem Takteingang vorgegeben wird. Die Verarbeitungseinrichtung 12 ist dabei beispielsweise derart ausgebildet, dass der augenblickliche Stromverbrauch steigt, wenn die Verarbeitungseinrichtung 12 mit einem schnelleren Takt arbeitet und fällt, wenn sie mit einem langsameren Takt arbeitet. Der Chip 10 ist beispielsweise in CMOS-Technologie implementiert, bei der jeder Omschaltvorgang interner Transistoren zu einem Stromverbrauch führt, so dass eine höhere Taktrate einen höheren Stromverbrauch der Verarbeitungseinrichtung 12 zur Folge hat.
-
Die Taktunterbrechungseinrichtung 16 weist zudem einen Steuereingang auf, der mit der Stromverbrauchsschwellwertüberwachungseinrichtung 14 gekoppelt ist, um das binäre Strombegrenzungssignal von derselben zu erhalten und um je nachdem, ob das binäre Strombegrenzungsssignal einen logisch hohen oder einen logisch niedrigen Zustand hat, das Taktsignal von dem Taktanschluss 28 an den Takteingang der Verarbeitungseinrichtung 12 hindurchzulassen oder das Taktsignal zu unterbrechen, um es nicht an die Einrichtung 12 durchzulassen. Insbesondere unterbricht die Einrichtung 16 das Taktsignal, wenn das binäre Strombegrenzungssignal der Einrichtung 14 anzeigt, dass der aktuelle Stromverbrauch der Einrichtung 12 den vorbestimmten Schwellwert überschreitet bzw. einen logisch hohen Zustand aufweist. Die Einrichtungen 14 und 16 implementieren damit eine Strombegrenzungsfunktionalität des Chips 10, indem sie den Stromverbrauch der Verarbeitungseinrichtung 12 auf in etwa maximal den Stromverbrauchsschwellwert der Einrichtung 14 beschränken bzw. eingrenzen.
-
Die weiteren Komponenten des Chips 10, nämlich die Überwachungseinrichtung 18, die Alarmierungseinrichtung 20 und der Speicher 30 bilden denjenigen Teil des Chips 10, der die Vorrichtung zum Erfassen eines Angriffs auf den Chip 10 bzw. die darin implementierte elektrische Schaltung bildet, wobei dieser Teil in 1 mit dem Bezugszeichen 32 angezeigt ist. Insbesondere überwacht die Überwachungseinrichtung 18 das binäre Strombegrenzungssignal von der Einrichtung 14 und gibt als Ergebnis ein Überwachungssignal an die Alarmierungseinrichtung 20 aus, das aus einer Beobachtung des binären Strombegrenzungssignals über eine vorbestimmte Zeitdauer hinweg hergeleitet worden ist und somit ein die Stromaufnahme der Verarbeitungseinrichtung 12 über die vorbestimmte Zeitspanne hinweg charakterisierendes Überwachungssignal darstellt.
-
Die Alarmierungseinrichtung 20 ist dazu vorgesehen, das Überwachungssignal von der Überwachungseinrichtung 18 mit einem Referenzüberwachungssignal zu vergleichen, das sie aus dem Speicher 30 erhält. Weisen die beiden Signale eine vorbestimmte Beziehung zueinander nicht auf bzw. erfüllen sie eine vorbestimmte Bedingung nicht, wie z. B. eine Bedingung, dass die beiden Signale nicht mehr als einen vorbestimmten Prozentsatz voneinander abweichen dürfen, so gibt die Alarmierungseinrichtung 20 ein Alarmsignal an eine Maßnahmeeinrichtung aus, die auf das Alarmsignal hin beispielsweise die Stromversorgung für die Verarbeitungseinrichtung 12 unterbricht, die Verarbeitungseinrichtung 12 an jeglicher weiteren Datenausgabe hindert, die Verarbeitungseinrichtung 12 in einen Leerlaufzustand versetzt oder dergleichen.
-
Die Funktionalität des Chips 10 im Hinblick auf die Angriffserfassung soll im Folgenden noch ein wenig näher erörtert werden. Wie es bereits im Vorhergehenden beschrieben worden ist, verbraucht die Verarbeitungseinrichtung 12 bei der Erfüllung der unterschiedlichen Aufgaben unterschiedlich viel Strom. Bei rechenintensiven Aufgaben gibt deshalb die Einrichtung 14 häufiger ein binäres Strombegrenzungssignal mit einem logisch hohen Zustand aus, so dass die Unterbrechungseinrichtung 16 in diesen Fällen das Taktsignal 28 häufiger unterbricht. Auf diese Weise ist das binäre Strombegrenzungssignal im gewissen Sinne charakteristisch für die durch die Verarbeitungseinrichtung 12 derzeit ausgeführten Aufgaben.
-
Einen weitereren Einfluss auf das Strombegrenzungssignal bzw. den Stromverbrauch der Verarbeitungseinrichtung 12 hat jedoch auch ein manipulativer Angriff auf den Chip 10 bzw. die Verarbeitungseinrichtung 12. Ionisierende Strahlung beispielsweise, die verwendet wird, um die Rechenoperationen der Verarbeitungseinrichtung 12 zu stören und zu Fehlergebnissen zu zwingen, kann beispielsweise von potentiellen Angreifern verwendet werden, um mittels DFA-(DFA = Differential Fault Attack = Diferrentielle Fehlerattacken)Angriffen an geheime Daten heranzukommen, die von der Verarbeitungseinrichtung 12 verarbeitet werden, wie z. B. geheime Schlüssel oder dergleichen, oder um sensible Funktionen auszulösen, wie z. B. eine Abbuchungsfunktion.
-
Anstatt nun den Stromverbrauch unmittelbar auszuwerten, verwendet die Angriffserfassungsvorrichtung 32 bzw. die Überwachungseinrichtung 18 lediglich das binäre Strombegrenzungssignal 14, das in dem Fall von Manipulation bzw. invasiven Angriffen, wie es im Vorhergehenden beschrieben wurde, relativ zu einem Zustand der Abwesenheit eines Angriffs mit einer erhöhten Rate einen logisch hohen Zustand aufweist, d. h. einen Zustand der anzeigt, dass der aktuelle Stromverbrauch der Verarbeitungseinrichtung 12 den Schwellwert überschreitet.
-
Die Einrichtung 18 ist nun dazu vorgesehen, das binäre Strombegrenzungssignal über eine vorbestimmte Zeitdauer hinweg zu überwachen bzw. aufzunehmen und daraus ein charakteristisches Stromüberwachungssignal zu bilden. Hierzu ist die Überwachungseinrichtung 18 beispielsweise als Zähler ausgebildet, der direkt mit dem binären Strombegrenzungssignal getaktet wird, um über die vorbestimmte Zeitdauer hinweg die Anzahl der Phasen zu zählen, in denen das binäre Strombegrenzungssignal durchgehend den logisch hohen Zustand einnimmt, oder in denen dasselbe den logisch niedrigen Zustand einnimmt. Alternativ könnte die Überwachungseinrichtung 18 als Zähler vorgesehen sein, der mit einem Takt angesteuert wird, um den aktuellen Zählerwert in Abhängigkeit von diesem Takt zu in-/dekrementieren, wobei dieser Takt aus dem binären Strombegrenzungssignal durch eine zeitlich äquidistante Abtastung erhalten worden ist, wie z. B. durch eine Abtastung mittels des Taktsignals, wie es an dem Taktanschluss 28 anliegt, d. h. am Eingang der Taktunterbrechungseinrichtung 16.
-
Andere Möglichkeiten sind jedoch ebenfalls vorhanden. So könnte die Stromüberwachungseinrichtung 18 das binäre Strombegrenzungssignal auch analog über die vorbestimmte Zeitdauer hinweg aufintegrieren, um das analoge Integrationsergebnis beispielsweise zu digitalisieren. Ferner könnte die Überwachungseinrichtung 18 als eine Art Codierungseinrichtung ausgebildet sein, die eine aus der vorbeschriebenen äquidistanten Abtastung des binären Strombegrenzungssignals erhaltene Folge von binären Einsen und Nullen mittels beispielsweise Lauflängencodierung oder dergleichen codiert, und aus dem Ergebnis ein Überwachungssignal ermittelt und ausgibt. Insbesondere könnte das Überwachungssignal das Verhältnis zwischen den Zeitanteilen angeben, in denen das binäre Strombegrenzungssignal über die vorbestimmte Zeitdauer hinweg den binären Zustand Eins einnahm bzw. das Strombegrenzungssignal über die vorbestimmte Zeitdauer hinweg den Wert Null einnahm. Alternativ oder zusätzlich könnte die Überwachungseinrichtung aus dem entstehenden Stromüberwachungssignal der Einrichtung 18 ferner eine Statistik über die mittlere Dauer bzw. einen Mittelwert der Dauer bzw. der Länge der einzelnen Phasen ermitteln, in der das binäre Strombegrenzungssignal ununterbrochen eine binäre Eins bzw. binäre Null einnahm.
-
In dem Speicher 30 sind nun entsprechende Referenzüberwachungssignale oder ein entsprechendes Referenzüberwachungssignal gespeichert, die bzw. das mit dem Überwachungssignal der Einrichtung 18 vergleichbar sind/ist. Ein Referenzüberwachungssignal in dem Speicher 30 ist beispielsweise ein Sollzählerstand, den die Überwachungseinrichtung 18 am Ende der vorbestimmten Zeitdauer aufweisen sollte bzw. würde, wenn kein Angriff stattgefunden hat. In dem Fall komplexerer Überwachungssignale ist das Referenzüberwachungssignal in dem Speicher 30 ebenfalls komplexer. Bei dem vorher erwähnten exemplarischen Ausführungsbeispiel eines das Verhältnis der Dauer der 1- und 0-Phasen angebenden Überwachungssignals umfasst das Referenzüberwachungssignal beispielsweise zwei Größen, nämlich einerseits die Anzahl an Eins-Abtastungen innerhalb der vorbestimmten Zeitdauer und anderseits die mittlere Länge der Eins-Abtastläufe innerhalb der vorbestimmten Zeitdauer. Die entsprechenden Statistiken werden aus dem Strombegrenzungssignal durch die Einrichtung 18 ermittelt, obwohl die Ermittlung durch die Alarmierungseinrichtung 20 aus dem Überwachungssignal ebenfalls möglich wäre, um sie mit dem Referenzüberwachungssignal aus dem Speicher 30 zu vergleichen.
-
Die Alarmierungseinrichtung 20 gibt dann das Alarmsignal aus, falls die zu vergleichenden Werte beispielsweise mehr als eine vorbestimmte Toleranz voneinander abweichen, wobei die Maßnahmen, die auf das Alarmsignal hin eingeleitet werden können, im Vorhergehenden bereits exemplarisch beschrieben worden sind. Wie es bereits im Vorhergehenden erörtert worden ist, unterscheidet sich die Stromverbrauchscharakteristik der Verarbeitungseinrichtung 12 je nachdem, welche Aufgabe sie gerade erfüllt. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung, sind in dem Speicher 30 deshalb beispielsweise für unterschiedliche Aufgaben der Verarbeitungseinrichtung 12 unterschiedliche Referenzüberwachungssignale gespeichert. Im Lauf der Erfüllung einer bestimmten Aufgabe durch die Verarbeitungseinrichtung 12 bildet die Überwachungseinrichtung 18 deshalb das Überwachungssignal über eine vorbestimmte Zeitdauer hinweg, wobei die Alarmierungseinrichtung 20 das dann entstehende Überwachungssignal mit demjenigen Referenzüberwachungssignal vergleicht, das der entsprechenden Aufgabe entspricht.
-
Die Auslösung, wann die Überwachungseinrichtung 18 die Überwachung bzw. die vorbestimmte Zeitdauer bzw. die Bildung des Überwachungssignals beginnt, kann auf unterschiedliche Weise festgelegt werden. Beispielsweise sind in dem Programmcode, der durch die Verarbeitungseinrichtung 12 ausgeführt wird, Befehlszeilen vorgesehen, die einerseits die Überwachungseinrichtung 18 aktivieren bzw. die vorbestimmte Zeitdauer beginnen lassen und andererseits das zu verwendende Referenzüberwachungssignal aus dem Speicher 30 festlegen. In diesem Fall muss der Programmierer dafür sorgen, dass die Befehlszeilen an den entsprechenden Zeilen im Programm erscheinen, in denen im Programmfluss die Verarbeitungseinrichtung 12 die jeweilige vorbestimmte Aufgabe erfüllt. In diesem Fall aktiviert die Verarbeitungseinrichtung 12 die Überwachungseinrichtung 18 über eine in 1 nicht gezeigte Leitung. Die Auslösebefehle könnten eigens vorgesehene Befehle aber auch Sprungbefehle zu vorbestimmten Adressen oder Befehlen sein, die bestimmte CPU-Register ansprechen, um Coprozessoren zur Durchführung längerer Rechenaufgaben zu stimulieren.
-
Alternativ verfügt die Verarbeitungseinrichtung 12 beispielsweise über ein entsprechendes Register, in das über Befehlszeilen entsprechende die gerade zu erfüllende Verarbeitungseinrichtungsaufgabe anzeigende Werte eingetragen werden können, auf die die Einrichtung 20 immer dann zugreift, wenn ein neues charakteristisches Überwachungssignal von der Einrichtung 18 mit einem Referenzüberwachungssignal zu vergleichen ist, um anhand der angezeigten Aufgabe das richtige Referenzüberwachungssignal aus dem Speicher 30 zu verwenden.
-
Die Referenzüberwachungssignale in dem Speicher 30 werden vorzugsweise vor Ausgabe des Chips 10, wie z. B. vor Chipkartenausgabe, wenn der Chip 10 in einer Chipkarte integriert ist, dort abgelegt, indem entweder per Simulation oder durch einen Testlauf während der jeweiligen Aufgabe der Verarbeitungseinrichtung 12 die Überwachungseinrichtung 18 das Überwachungssignal bildet. Diese Überwachungssignale bilden dann die Referenzsignale, da bei dem Testlauf vorgegebener Weise kein Angriff bzw. keine Angriffssituation vorliegt.
-
Gemäß dem vorhergehenden Ausführungsbeispiel der vorliegenden Erfindung sind die Verarbeitungseinrichtung 12, die Stromschwellwertüberwachungseinrichtung 14, der Taktunterbrecher 16, die Überwachungseinrichtung 18, die Alarmierungseinrichtung 20 und der Speicher 30 gemeinsam auf dem Chip 10 integriert. Jedoch sind beliebige Implementierungen einer Schaltung, die die genannten Elemente 12, 14, 16, 18, 20, 30 umfasst, wie z. B. auch auf mehreren Chips oder in einer diskreten Schaltung hierzu Alternativen.
-
Bei dem Chip 10 war die Verarbeitungseinrichtung 12 als eine Logikschaltung ausgeführt, jedoch könnte die Verarbeitungseinrichtung 12 auch als ein Speicher mit einer Zugriffskontrolle ausgeführt sein, oder als ein beliebiges Schaltungselement ausgeführt sein, das vorzugsweise bei einem Angriff auf dieses einen erhöhten Stromverbrauch aufweist.
-
Auf dem Chip 10 waren ein Versorgungsanschluss 22, ein Daten-Ein-/Ausgang 26 und ein Taktanschluss 28 angeordnet, jedoch könnten der Versorgungsspannungsanschluss 22 und der Daten-Ein-/Ausgang 26 und der Taktanschluss 28 alternativ als ein einziger Anschluss ausgeführt sein, über den die Verarbeitungseinrichtung 12 kontaktbehaftet oder kontaktlos mit einer externen Einrichtung kommuniziert, getaktet wird, und zugleich mit Energie versorgt wird. Oder alternativ könnten auch der Versorgungsspannungsanschluss 22 und der Ein-/Ausgang 26, der Versorgungsspannungsanschluss 22 und der Taktanschluss 28, oder der Eingangsanschluss 26 und der Taktanschluss 28 in einem einzigen Anschluss ausgeführt sein. Denkbar wäre auch eine Bereitstellung des Takts, mit dem die Verarbeitungseinrichtung 12 getaktet wird, über einen internen Oszillator, der auf dem Chip 10 gemäß der vorliegenden Erfindung angeordnet ist.
-
Die Stromschwellwertüberwachungseinrichtung 14 kann beispielsweise als ein Komparator ausgeführt sein, der einen Spannungsabfall an einem in den Versorgungspfad geschalteten Sense-Widerstand mit einem vordefinierten Wert vergleicht und in Abhängigkeit davon das Strombegrenzungssignal erzeugt. Alternativen sind hierzu jedoch beliebige Einrichtungen, die ein Überschreiten oder Unterschreiten einer Stromaufnahme der Verarbeitungseinrichtung 12 oder des Chips 10 ermitteln können.
-
Sei dem Chip 10 wurde eine Stromaufnahme der Verarbeitungseinrichtung 12 reduziert, wenn der Stromverbrauch den vorbestimmten Schwellwert überschreitet, indem eine Verbindung zwischen dem Taktanschluss 28 und der Verarbeitungseinrichtung 12 durch den Taktunterbrecher 16 unterbrochen wird. Der Taktunterbrecher 16 könnte hierbei als ein beliebiger Schalter, wie beispielsweise ein Feldeffekttransistor ausgeführt sein, der von dem Strombegrenzungssignal angesteuert wird, jedoch sind beliebige andere Einrichtungen, die eine Verbindung zwischen dem Taktsignalanschluss 28 und der Verarbeitungseinrichtung 12 unterbrechen können, wenn der Stromverbrauch den vorbestimmten Schwellwert überschreitet oder ggf. die Taktrate sogar nur reduzieren, wenn der Stromverbrauch den vorbestimmten Schwellwert überschreitet, hierzu Alternativen. Denkbar sind sogar beliebige Einrichtungen, die eine Stromaufnahme des Chips 10 reduzieren, wenn das Strombegrenzungssignal anzeigt, dass der Stromverbrauch den vorbestimmten Schwellwert überschritten hat.
-
Bei dem Chip 10 gemäß der vorliegenden Erfindung war die Überwachungseinrichtung 18 exemplarisch als ein Zähler beschrieben, der die Anzahl der Phasen zählt, in denen das Strombegrenzungssignal den logisch hohen Zustand aufweist, oder als ein Integrator ausgeführt, der über eine vorbestimmte Zeitdauer hinweg über das Strombegrenzungssignal aufintegriert und das Integrationsergebnis in digitaler Form ausgibt. Denkbar ist jedoch auch eine Ausgabe des Integrationsergebnisses in Form eines analogen Signals, dessen Pegel von dem Integrationsergebnis abhängt. Alternativ hierzu könnte die Stromüberwachungseinrichtung 18 als eine beliebige Einrichtung ausgeführt sein, die das binäre Strombegrenzungssignal über eine vorbestimmte Zeitspannung hinweg überwacht und ein Stromüberwachungssignal ausgibt, das die Stromaufnahme der elektrischen Schaltung über die vorbestimmte Zeit hinweg charakterisiert.
-
Die Stromüberwachungseinrichtung 18 bestimmt den Ablauf der vordefinierten Zeitspanne z. B. dadurch, dass sie von der Verarbeitungseinrichtung zu Beginn der vorbestimmten Zeitspanne aktiviert wird und am Ende der vorbestimmten Zeitspanne deaktiviert wird. Alternativ hierzu könnte jedoch die Stromüberwachungseinrichtung 18 mit dem Taktanschluss 28 verbunden sein, so dass sie die vorbestimmte Zeitspanne daraus bestimmt, dass eine bestimmte Anzahl an Taktzyklen verstrichen ist. Oder in der Stromüberwachungseinrichtung 18 könnte alternativ ein Oszillator integriert sein, wobei die Überwachungseinrichtung dann aus dem Umstand, dass eine bestimmte Anzahl an Oszillatorzyklen verstrichen ist, die vorbestimmte Zeitdauer bestimmen könnte. Alternativen hierzu sind jedoch beliebige Einrichtungen, die der Stromüberwachungseinrichtung 18 ein Verstreichen der vorbestimmten Zeitspanne bzw. vorbestimmten Zeitdauer anzeigen.
-
Bei dem Chip 10 gemäß der vorliegenden Erfindung verglich die Erfassungseinrichtung 20 exemplarisch einen Zählerstand der Stromüberwachungseinrichtung 18 mit einem vorbestimmten Wert oder ein Integrationsergebnis, das von der Stromüberwachungseinrichtung 18 übermittelt wird, mit einem vordefinierten Wert für das Integrationsergebnis, um einen Angriff auf den Chip 10 zu detektieren. Denkbar sind jedoch beliebige Einrichtungen, die basierend auf dem Stromüberwachungssignal einen Angriff auf den Chip 10 detektieren.
-
Bei dem Chip 10 gemäß der vorliegenden Erfindung verglich die Erfassungseinrichtung 20 eine Information aus dem Stromüberwachungssignal, wie beispielsweise einen Wert des Zählerstands mit einem in der Bereitstellungseinrichtung 30 hinterlegten Wert, oder die Erfassungseinrichtung 20 verglich das Stromüberwachungssignal mit einem von der Bereitstellungseinrichtung 30 zur Verfügung gestellten Referenzsignal und bestimmte daraus, ob ein Angriff auf die Schaltung stattgefunden hat oder nicht. Alternativen hierzu sind jedoch beliebige Formen einer Information, die in der Bereitstellungseinrichtung 30 abgelegt sind, und der Erfassungseinrichtung 20 einen Vergleich ermöglichen, und daraus eine Entscheidung ermöglichen, ob ein Angriff auf den Chip 10 gemäß der vorliegenden Erfindung stattgefunden hat oder nicht.
-
Bei dem Chip 10 gemäß der vorliegenden Erfindung weist das Strombegrenzungssignal einen logisch hohen Zustand auf, wenn der Stromverbrauch der Verarbeitungseinrichtung 12 bzw. der Stromverbrauch des Chips 10 den vorbestimmten Schwellwert überschreitet, und einen logisch niedrigen Zustand auf, wenn der Stromverbrauch nicht den vorbestimmten Schwellwert überschreitet. Alternativ hierzu könnte jedoch das Strombegrenzungssignal auch einen logisch niedrigen Zustand aufweisen, wenn der Stromverbrauch der Verarbeitungseinrichtung den vorbestimmten Schwellwert überschreitet und einen logisch hohen Zustand aufweisen, wenn der Stromverbrauch den vorbestimmten Schwellwert nicht überschreitet.
-
Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Erfassen eines Angriffs in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette, einem EEPROM-Speicher (EEPROM-Speicher = Electrical Erasable Programmable Read Only Memory-Speicher = Elektrischer löschbarer programmierbarer Nur Lese-Speicher), einem EPROM-Speicher (EPROM Speicher = Erasable Programmable Read Only Memory-Speicher = Löschbarer programmierbarer Nur Lese-Speicher), DVD oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.
-
Bezugszeichenliste
-
- 12
- Verarbeitungseinrichtung
- 14
- Stromschwellwertüberwachungseinrichtung
- 16
- Taktunterbrecher
- 18
- Überwachungseinrichtung
- 20
- Alarmierungseinrichtung
- 22
- Versorgungsspannungsanschluss
- 24
- Masseanschluss
- 26
- Daten-Ein/Ausgang
- 28
- Taktanschluss
- 30
- Bereitstellungseinrichtung
- 32
- Vorrichtung zum Erfassen eines Angriffs