-
Stand der Technik
-
Die Erfindung betrifft ein Verfahren zum Betreiben einer elektronischen Vorrichtung, die wenigstens eine Funktionseinheit aufweist, deren Betrieb durch ein oder mehrere Zustandsvariablen charakterisiert ist. Bei der elektronischen Vorrichtung kann es sich beispielsweise um eine Datenverarbeitungseinrichtung handeln, welche Daten u.a. mittels ihrer Funktionseinheit verarbeitet.
-
Die Erfindung betrifft ferner eine elektronische Vorrichtung mit wenigstens einer Funktionseinheit, deren Betrieb durch ein oder mehrere Zustandsvariablen charakterisiert ist.
-
Elektronische Vorrichtungen der eingangs genannten Art bzw. Datenverarbeitungsvorrichtungen bzw. -verfahren sind an sich bekannt und werden u.a. zur Ausführung von kryptografischen Verfahren oder allgemein zur Verarbeitung von sicherheitsrelevanten Daten, insbesondere auch im Bereich der IT-Sicherheit, benutzt. Es ist ebenfalls bekannt, dass die vorstehend genannten Systeme und Verfahren bzw. genauer deren konkrete hard- und softwaremäßige Implementierung in einem Zielsystem wie z.B. einem Mikrocontroller oder dergleichen mittels sog. Seitenkanalattacken (engl.: side channel attack) angreifbar sind. Bei diesen Seitenkanalattacken werden ein oder mehrere physikalische Parameter (z.B. Stromverbrauch, elektromagnetische Abstrahlungen usw.) eines anzugreifenden Systems erfasst und im Hinblick auf eine Korrelation mit geheimen Daten wie z.B. geheimen Schlüsseln von kryptografischen Verfahren untersucht. Daraus kann ein Angreifer Informationen über den geheimen Schlüssel und/oder die verarbeiteten Daten erlangen.
-
Offenbarung der Erfindung
-
Demgemäß ist es Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung der eingangs genannten Art dahingehend zu verbessern, dass eine gesteigerte Sicherheit vor Seitenkanalattacken gegeben ist.
-
Diese Aufgabe wird bei einem Verfahren der eingangs genannten Art erfindungsgemäß dadurch gelöst, dass das Verfahren die folgenden Schritte aufweist: Bilden einer vorgebbaren Anzahl von Zustandsvektoren zu unterschiedlichen vorgebbaren Zeitpunkten, wobei jeder Zustandsvektor eine oder mehrere Zustandsvariablen der Funktionseinheit und/oder der Vorrichtung enthält, Ermitteln, in Abhängigkeit wenigstens eines der vorgebbaren Anzahl von Zustandsvektoren, ob ein regulärer Betrieb der Vorrichtung und/oder ihrer Funktionseinheit vorliegt.
-
Erfindungsgemäß ist erkannt worden, dass aus einem Zustandsvektor oder mehreren Zustandsvektoren, die den Betrieb der Funktionseinheit bzw. der sie enthaltenden elektronischen Vorrichtung charakterisieren, auf einen regulären Betrieb der Vorrichtung bzw. einen von dem regulären Betrieb der Vorrichtung abweichenden Betrieb geschlossen werden kann. Somit kann das Vorliegen eines irregulären Betriebs, wie er beispielsweise im Rahmen einer Seitenkanalattacke auftreten kann, gleichsam aus dem Betriebsverhalten, charakterisiert durch den bzw. die betrachteten Zustandsvektoren, ermittelt werden. Daher kann die vorliegende Erfindung auch als "verhaltensbasierter" Ansatz zur Erkennung und ggf. auch zur Abwehr von Seitenkanalattacken angesehen werden.
-
Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der Schritt des Ermittelns den folgenden Schritt umfasst: Vergleichen eines individuellen Zustandsvektors mit wenigstens einem vorgebbaren Referenzzustandsvektor. Es ist beispielsweise denkbar, dass bei manchen Ausführungsformen bestimmte Werte eines betrachteten Zustandsvektors nur mit verhältnismäßig geringer Wahrscheinlichkeit im Rahmen eines regulären Betriebs auftreten. In diesem Fall kann z.B. bereits auf einen Angriff wie z.B. eine Seitenkanalattacke geschlossen werden und/oder ein Betrieb der Vorrichtung, insbesondere auch das Bilden der Zustandsvektoren, kann an die vorliegende Situation angepasst werden (z.B. Bildung mehrerer Zustandsvektoren in dichterer zeitlicher Folge als vor der Auswertung des einen Zustandsvektors).
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der Schritt des Bildens die Bildung von mehr als einem Zustandsvektor zu entsprechenden unterschiedlichen vorgebbaren Zeitpunkten umfasst, wobei eine Zustandssequenz erhalten wird, was vorteilhaft eine präzisere Ermittlung eines ggf. irregulären Zustands der Vorrichtung ermöglicht, da gegenüber der vorstehend beschriebenen Ausführungsform mit Berücksichtigung des Werts eines Zustandsvektors vorliegend eine zeitliche Folge (Sequenz) der Zustandsvektoren bzw. der darin enthaltenen Zustände, mithin auch Informationen über entsprechende Zustandsübergänge, erhalten werden.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der Schritt des Ermittelns den folgenden Schritt umfasst: Vergleichen der Zustandssequenz mit wenigstens einer vorgebbaren Referenzzustandssequenz. Hierdurch kann besonders präzise auf das Vorliegen eines regulären bzw. irregulären Betriebszustands geschlossen werden.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass dann auf einen regulären Betrieb der Vorrichtung geschlossen wird, wenn der Vergleich des individuellen Zustandsvektors mit dem wenigstens einen vorgebbaren Referenzzustandsvektor ergibt, dass der individuelle Zustandsvektor maximal um ein vorgebbares Maß von dem Referenzzustandsvektor abweicht, wobei insbesondere dann auf einen regulären Betrieb der Vorrichtung geschlossen wird, wenn der Vergleich des individuellen Zustandsvektors mit dem wenigstens einen vorgebbaren Referenzzustandsvektor ergibt, dass der individuelle Zustandsvektor identisch zu dem Referenzzustandsvektor ist.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass dann auf einen regulären Betrieb der Vorrichtung geschlossen wird, wenn der Vergleich der Zustandssequenz mit der wenigstens einen vorgebbaren Referenzzustandssequenz ergibt, dass die Zustandssequenz maximal um ein vorgebbares Maß von der Referenzzustandssequenz abweicht, wobei insbesondere dann auf einen regulären Betrieb der Vorrichtung geschlossen wird, wenn der Vergleich der Zustandssequenz mit der wenigstens einen vorgebbaren Referenzzustandssequenz ergibt, dass die Zustandssequenz identisch zu der Referenzzustandssequenz ist.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass dann, wenn in dem Schritt des Ermittelns darauf geschlossen wird, dass kein regulärer Betrieb der Vorrichtung und/oder ihrer Funktionseinheit vorliegt, in einem nachfolgenden Schritt Gegenmaßnahmen eingeleitet werden, die wenigstens einen der folgenden Schritte umfassen:
- a. Signalisierung eines irregulären Betriebs an einen Benutzer der Vorrichtung und/oder an eine externe zu der Vorrichtung angeordnete Einheit,
- b. Aufzeichnen einer oder mehrerer Zustandsvariablen der Funktionseinheit und/oder der Vorrichtung,
- c. Modifizieren und/oder Löschen von in der Funktionseinheit und/oder der Vorrichtung gespeicherten Daten, insbesondere Löschen von gespeicherten geheimen Daten und/oder verfälschen von gespeicherten geheimen Daten,
- d. Steuern und/oder Beeinflussen eines Betriebs der Funktionseinheit, insbesondere Freigeben und/oder Sperren von Funktionen der Funktionseinheit.
-
Als weitere Lösung der Aufgabe der vorliegenden Erfindung ist eine Vorrichtung gemäß Patentanspruch 8 angegeben. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche.
-
Als noch eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist eine Steuereinheit nach Anspruch 13 angegeben. Die Steuereinheit für eine elektronische Vorrichtung mit wenigstens einer Funktionseinheit, deren Betrieb durch ein oder mehrere Zustandsvariablen charakterisiert ist, ist dadurch gekennzeichnet, dass sie dazu ausgebildet ist, die folgenden Schritte auszuführen: Bilden einer vorgebbaren Anzahl von Zustandsvektoren zu unterschiedlichen vorgebbaren Zeitpunkten, wobei jeder Zustandsvektor eine oder mehrere Zustandsvariablen der Funktionseinheit und/oder der Vorrichtung enthält, Ermitteln, in Abhängigkeit wenigstens eines der vorgebbaren Anzahl von Zustandsvektoren, ob ein regulärer Betrieb der Vorrichtung und/oder ihrer Funktionseinheit vorliegt. Analog zu der erfindungsgemäßen Vorrichtung nach Anspruch 8 ist auch die Steuereinheit nach Anspruch 13 zur Ausführung des erfindungsgemäßen Verfahrens nach einem oder mehreren der Verfahrensansprüche 1 bis 7 ausgebildet.
-
Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
-
1 schematisch eine Vorrichtung gemäß einer Ausführungsform,
-
2 schematisch ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens,
-
3 schematisch ein Zeitdiagramm gemäß einer weiteren Ausführungsform, und
-
4 schematisch eine weitere Ausführungsform.
-
1 zeigt schematisch eine elektronische Vorrichtung 100 gemäß einer Ausführungsform. Beispielsweise kann es sich bei der elektronischen Vorrichtung 100 um eine Recheneinheit wie z.B. einen Mikrocontroller oder einen Prozessor oder dergleichen oder generell um eine Datenverarbeitungseinrichtung handeln. Die Vorrichtung 100 kann beispielsweise zumindest teilweise auch in Form eines programmierbaren Logikbausteins (FPGA, field programmable gate array) oder ASICs (application specific integrated circuit) realisiert sein.
-
Die Vorrichtung 100 weist wenigstens eine Funktionseinheit 110 auf, die dazu ausgebildet ist, ein oder mehrere Funktionen, insbesondere Funktionen der Datenverarbeitung, auszuführen. Funktionen der Datenverarbeitung umfassen insbesondere, aber nicht abschließend, Rechenfunktionen, Logikfunktionen. Bei einer besonders bevorzugten Ausführungsform ist die Funktionseinheit 110 zur Ausführung eines kryptografischen Verfahrens oder eines Teils davon ausgebildet.
-
Vorliegend ist die Funktionseinheit
110 beispielhaft dazu ausgebildet, eine Blockverschlüsselung von Daten gemäß AES (advanced encryption standard) auszuführen. Informationen zu dem advanced encryption standard sind im Internet unter
"http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf", Federal Information Processing Standards Publication 197, November 26, 2001, verfügbar. Hierzu weist die Funktionseinheit
110 einen Eingang
112 auf, an dem sie zu verschlüsselnde Eingangsdaten entgegennehmen kann, entweder von einer extern der Vorrichtung
100 angeordneten, nicht gezeigten, Einheit, und/oder von einer intern in der Vorrichtung
100 angeordneten, ebenfalls nicht gezeigten, weiteren Einheit. An einem Ausgang
114 kann die Funktionseinheit
110 die AES-verschlüsselten Eingangsdaten ausgeben.
-
Der Betrieb der Funktionseinheit 110 wird durch ein oder mehrere Zustandsvariablen charakterisiert. Vorliegend kann ein Zustand der Funktionseinheit 110 beispielsweise durch die Menge S_t = [s_0, s_1, ..., s_n]_t aller n vielen Zustandsvariablen s_0, s_1, ..., s_n der Funktionseinheit 110 zu dem Zeitpunkt t beschrieben werden. Bei den Zustandsvariablen s_0, s_1, ..., s_n der Funktionseinheit 110 kann es sich beispielsweise um Werte von Speicherregistern bzw. Speicherzellen der Funktionseinheit handeln.
-
Analog hierzu kann ein Zustand der Vorrichtung 100 bzw. weiterer Komponenten der Vorrichtung 100 (neben der Funktionseinheit 110) durch weitere entsprechende Zustandsvariablen der Vorrichtung bzw. deren weiterer Komponenten beschrieben werden.
-
Erfindungsgemäß wird das nachfolgend unter Bezugnahme auf das Flussdiagramm der 2 beschriebene Verfahren ausgeführt, insbesondere um Informationen über einen Betrieb der Vorrichtung 100 bzw. ihrer Funktionseinheit 110 zu erlangen.
-
In einem ersten Schritt 200 wird eine vorgebbare Anzahl von Zustandsvektoren zv1, zv2, zv3 zu unterschiedlichen vorgebbaren Zeitpunkten t1, t2, t3 gebildet, wobei jeder Zustandsvektor zv1, zv2, zv3 eine oder mehrere Zustandsvariablen der Funktionseinheit 110 und/oder der Vorrichtung 100 enthält. Dies ist schematisch in dem Zeitdiagramm der 3 angedeutet, in dem ersichtlich ist, dass, z.B. periodisch, vorliegend beispielhaft zu drei Zeitpunkten t1, t2, t3, jeweilige Zustandsvektoren zv1, zv2, zv3 gebildet werden. Die Mehrzahl der ermittelten Zustandsvektoren zv1, zv2, zv3 bildet eine Zustandssequenz C.
-
Bei einer bevorzugten Ausführungsform enthält jeder Zustandsvektor zv1, zv2, zv3 dieselbe(n) Zustandsvariable(n). Beispielhaft kann vorgesehen sein, dass jeder Zustandsvektor zv1, zv2, zv3 alle Zustandsvariablen der Funktionseinheit 110 enthält. In diesem Fall enthält jeder Zustandsvektor zv1, zv2, zv3 also die gesamte Menge S_t = [s_0, s_1, ..., s_n]_t.
-
Besonders bevorzugt kann bei anderen Ausführungsformen auch vorgesehen sein, dass jeder Zustandsvektor zv1, zv2, zv3 nur eine Teilmenge der gesamten Menge S_t enthält, wobei die Teilmenge beispielsweise diejenigen Zustandsvariablen der Funktionseinheit 110 umfasst, welche im Sinne der erfindungsgemäßen Auswertung besonders aussagekräftig bezüglich eines regulären bzw. irregulären Zustands der Funktionseinheit 110 sind.
-
Alternativ oder ergänzend kann jeder Zustandsvektor zv1, zv2, zv3 auch eine oder mehrere Zustandsvariablen der Vorrichtung 100 bzw. deren weiterer Komponenten (nicht gezeigt) aufweisen.
-
Generell ist es auch denkbar, dass nicht alle betrachteten Zustandsvektoren zv1, zv2, zv3 dieselbe Menge bzw. Teilmenge von Zustandsvariablen aufweisen.
-
In einem zweiten Schritt 210 des Verfahrens gemäß 2 wird in Abhängigkeit wenigstens eines der vorgebbaren Anzahl von Zustandsvektoren zv1, zv2, zv3 ermittelt, ob ein regulärer Betrieb der Vorrichtung 100 und/oder ihrer Funktionseinheit 110 vorliegt.
-
Dies kann bei einer Ausführungsform beispielsweise dadurch erfolgen, dass der Schhritt 210 den folgenden Schritt umfasst: Vergleichen eines individuellen Zustandsvektors zv1 mit wenigstens einem vorgebbaren Referenzzustandsvektor. Sofern in dem Schritt 200 eine Zustandssequenz C erhalten worden ist, also mehr als ein Zustandsvektor zv1, kann der Schritt 210 bei einer weiteren Ausführungsform vorteilhaft auch folgenden Schritt umfassen: Vergleichen der Zustandssequenz C mit wenigstens einer vorgebbaren Referenzzustandssequenz.
-
Der Referenzzustandsvektor bzw. die Referenzzustandssequenz können beispielsweise in einem Testbetrieb der Vorrichtung 100 unter definierten Bedingungen wie z.B. Eingangsdaten, Umgebungsbedingungen, Anzahl der Ausführung bestimmter Funktionen durch die Funktionseinheit 110 (1) usw. ermittelt und für ein späteres Ausführen des Verfahrens nach 2 – ggf. auch in komprimierter Form – gespeichert werden, beispielsweise in einer Speichereinrichtung 120 der Vorrichtung 100.
-
Bei einer bevorzugten Ausführungsform wird dann auf einen regulären Betrieb der Vorrichtung 100 (1) geschlossen, wenn der in Schritt 210 ausgeführte Vergleich des individuellen Zustandsvektors mit dem wenigstens einen vorgebbaren Referenzzustandsvektor ergibt, dass der individuelle Zustandsvektor maximal um ein vorgebbares Maß von dem Referenzzustandsvektor abweicht, wobei insbesondere dann auf einen regulären Betrieb der Vorrichtung 100 geschlossen wird, wenn der Vergleich des individuellen Zustandsvektors mit dem wenigstens einen vorgebbaren Referenzzustandsvektor ergibt, dass der individuelle Zustandsvektor identisch zu dem Referenzzustandsvektor ist. In diesem Fall entspricht also der erfindunsggemäß betrachtete individuelle Zustandsvektor im wesentlichen oder sogar identisch dem einen bekannten Referenzzustand charakterisierenden Referenzzustandsvektor, so dass nicht von einem irregulären Betrieb der Vorrichtung, beispielsweise einer Seitenkanalattacke, auszugehen ist.
-
Bei einer weiteren bevorzugten Ausführungsform wird dann auf einen regulären Betrieb der Vorrichtung 100 geschlossen, wenn der Vergleich der Zustandssequenz C (3) mit der wenigstens einen vorgebbaren Referenzzustandssequenz in Schritt 210 (2) ergibt, dass die Zustandssequenz C maximal um ein vorgebbares Maß von der Referenzzustandssequenz abweicht, wobei insbesondere dann auf einen regulären Betrieb der Vorrichtung 100 geschlossen wird, wenn der Vergleich der Zustandssequenz C mit der wenigstens einen vorgebbaren Referenzzustandssequenz ergibt, dass die Zustandssequenz C identisch zu der Referenzzustandssequenz ist.
-
Andernfalls, z.B. wenn die Zustandssequenz C nicht identisch ist mit der Referenzzustandssequenz bzw. wenn die Zustandssequenz C über ein vorgebbares Maß hinaus von der Referenzzustandssequenz abweicht, kann auf einen irregulären Betrieb der Vorrichtung 100 bzw. ihrer Funktionseinheit 110 geschlossen werden. Beispielsweise ist dies dann der Fall, wenn im Rahmen einer Seitenkanalattacke eine bestimmte, z.B. kryptografische, Funktion der Funktionseinheit 110 mit einer hohen Anzahl von Wiederholungen hintereinander ausgeführt wird, wohingegegn bei einer normalen Anwendung des AES Algorithmus durch die Funktionseinheit 110 auf die ihr zugeführten Eingangsdaten dieselbe Funktion verhältnismäßig selten ausgeführt würde. Solche Unterschiede im Verhalten der Vorrichtung 100 sind durch den erfindungsgemäßen Ansatz vorteilhaft erkennbar.
-
Bei einer weiteren Ausführungsform ist vorgesehen, dass dann wenn in dem Schritt des Ermittelns 210 (2) darauf geschlossen wird, dass kein regulärer Betrieb der Vorrichtung 100 (1) und/oder ihrer Funktionseinheit 110 vorliegt, in einem optionalen nachfolgenden Schritt 220 (2) Gegenmaßnahmen eingeleitet werden, die wenigstens einen der folgenden Schritte umfassen:
- a. Signalisierung eines irregulären Betriebs an einen Benutzer der Vorrichtung 100 und/oder an eine extern zu der Vorrichtung 100 angeordnete Einheit,
- b. Aufzeichnen einer oder mehrerer Zustandsvariablen der Funktionseinheit 110 und/oder der Vorrichtung 100 (z.B. mit einer höheren zeitlichen Dichte als seither, vgl. 3, um ggf. eine Validierung des Betriebs der Vorrichtung 100 zu ermöglichen bzw. die Auswertung aus Schritt 210 überprüfen zu können),
- c. Modifizieren und/oder Löschen von in der Funktionseinheit 110 und/oder der Vorrichtung 100 gespeicherten Daten, insbesondere Löschen von gespeicherten geheimen Daten und/oder Verfälschen von gespeicherten geheimen Daten (beispielsweise Löschen oder Verändern eines geheimen kryptografischen Schlüssels, damit nachfolgende Seitenkanalattacken durch verfälschte Werte vereitelt werden),
- d. Steuern und/oder Beeinflussen eines Betriebs der Funktionseinheit 110, insbesondere Freigeben und/oder Sperren von Funktionen der Funktionseinheit 110 (beispielsweise durch Deaktivieren einer elektrischen Energieversorgung der Funktionseinheit 110).
-
Bei einer weiteren Ausführungsform ist vorgesehen, dass das erfindungsgemäße Verfahren z.B. vor der Ausführung einer kryptografischen Funktion durch die Funktionseinheit 110 ausgeführt wird, um rechtzeitig vor der Verarbeitung von sensiblen Daten einen ggf. irregulären Betrieb der Vorrichtung 100 bzw. der Funktionseinheit 110 zu erkennen.
-
Bei einer weiteren Ausführungsform ist vorgesehen, dass das erfindungsgemäße Verfahren nur dann ausgeführt wird, wenn die Funktionseinheit 110 betrieben wird. In diesem Fall ist die erfindungsgemäße verhaltensbasierte Überwachung also nur aktiv, wenn auch die Funktionseinheit 110 aktiv ist bzw. deren Aktivierung bevorsteht, so dass die erfindungsgemäße verhaltensbasierte Überwachung bezüglich anderer Funktionskomponenten der Vorrichtung nicht aktiv ist.
-
Bei einer weiteren Ausführungsform ist vorgesehen, dass die Vorrichtung 100 zur Ausführung des erfindungsgemäßen Verfahrens, insbesondere der Schritte 200, 210, 200 aus 2, eine Steuereinheit 130 (1) aufweist. Die Funktionalität der Seteuereinheit 130 kann z.B. in derselben Recheneinheit (und/oder FPGA, ASIC) implementiert sein, die auch die Funktionalität der Funktionseinheit 110 bereitstellt.
-
Die Steuereinheit 130 kann beispielsweise dazu ausgebildet sein, auf die Zustandsvariablen den Funktionseinheit 110 zuzugreifen, und/oder eine oder mehrere der vorstehend genannten Gegenmassnahmen einzuleiten.
-
4 zeigt schematisch eine weitere Ausführungsform der Erfindung. Im Unterschied zu 1 ist die Steuereinheit 130, die zur Ausführung des erfindungsgemäßen Verfahrens ausgebildet ist, als externe Einheit bezüglich der Vorrichtung 100 und/oder der Funktionseinheit 110 ausgebildet. Beispielsweise weist die Vorrichtung 100 eine erste Recheneinheit auf, welche die Funktionalität der Funktionseinheit 110 bereitstellt, und die Steuereinheit 130 ist in Form einer zweiten, von der ersten Recheneinheit separaten, Recheneinheit vorgesehen. Die Steuereinheit 130 kann auf die Zustandsvariablen der Funktionseinheit 110 und/oder der Vorrichtung 100 zugreifen, was vorliegend durch die nicht bezeichneten Doppelpfeile angedeutet ist (realisierbar ist dies beispielsweise durch ein dual port RAM, auf das beide Recheneinheiten Zugriff haben und/oder durch ein "Spiegeln" der intererssierenden Daten aus der Vorrichtung 100 in einen gemeinsam durch die Einheiten 100, 130 nutzbaren Speicher. Ebenso kann die Steuereinheit 130 ggf. im Sinne der vorstehend beschrieben optionalen Gegenmassnahmen (Schritt 220 aus 2) auf die Funktionseinheit 110 und/oder die Vorrichtung 100 wirken.
-
Besonders vorteilhaft kann die Funktionalität der erfindungsgemäßen Vorrichtung 100 in Steuergeräten, beispielsweise für Brennkraftmaschinen von Kraftfahrzeugen und/oder Elektrowerkzeugen bzw. Hausgeräten, eingesetzt werden.
-
Ein Anwendungsbeispiel der Erfindung betrifft den Einsatz der Vorrichtung 100 bzw. der Steuereinheit 130 in einem Steuergerät eines Kraftfahrzeugs. Beispielsweise kann das Steuergerät (nicht gezeigt) Nachrichten von einem anderen Steuergerät empfangen, die mit einem message authentication code (MAC; deutsch: "Nachrichtenauthentifizierungscode") versehen sind, um die Integrität der Nachrichten prüfen zu können. Sodann kann das Steuergerät die empfangenen Nachrichten bzw. deren MAC verifizieren, wobei beispielsweise die AES Blockchiffre oder eine andere Funktion der Funktionseinheit 110 zum Einsatz kommt. Sofern diese Verifizierung des MAC in einem regulären Betrieb des Steuergeräts erfolgt, hängen damit bestimmte Zustandsübergänge des Steuergeräts bzw. der Funktionseinheit 110 zusammen. Beispielsweise ist vorstellbar, dass das Steuergerät in einem regulären Betrieb Nachrichten und MACs nur mit einem einen vorgebbaren Schwellwert überschreitenden Zeitabstand empfängt und verifiziert (und nicht etwa andauernd, also in wesentlich kürzeren Zeitabständen z.B.). Alternativ oder ergänzend kann vorgegeben sein, dass das Steuergerät Nachrichten und MACs nur nach dem Auftreten bestimmter Interruptanforderungen (entsprechend bestimmten Ereignissen, z.B. Empfang einer Nachricht über ein Bussystem) einer ihm zugeordneten Recheneinheit empfängt und/oder verifiziert. Alternativ oder ergänzend kann vorgegeben sein, dass das Steuergerät Nachrichten und MACs nur nach dem Start einer Brennkraftmaschine des Kraftfahrzeugs empfängt und/oder verifiziert. All diese Konstellationen sind durch vorgebbare bzw. z.B. an einem Testsystem ermittelbare Referenzzustandsvektoren bzw. Referenzzustandssequenzen charakterisierbar, so dass Abweichungen hiervon durch das erfindungsgemäße Prinzip in Abhängigkeit der tatsächlich ermittelten Zustände bzw. Zustandsübergänge erkennbar sind.
-
Das erfindungsgemäße Prinzip ermöglicht vorteilhaft, insbesondere verhaltensbasiert, Abweichungen von regulären Zuständen bei elektronischen Vorrichtungen 100 wie z.B. Recheneinheiten von Steuergeräten, Kryptografischen Funktionseinheiten, usw. zu erkennen und ggf. Gegenmassnahmen einzuleiten. Damit können herkömmliche Seitenkanalattacken, bei denen üblicherweise im Sinne der vorliegenden Erfindung als irregulär einzustufende Betriebszustände (z.B. häufig wiederholtes Ausführen der AES Blockchiffre mit denselben bzw. geringfügig sich ändernden Eingangsdaten) auftreten, vereitelt werden (z.B. durch Löschen der geheimen Daten bzw. Deaktivieren der Funktionseinheit 110).
-
Um bei Anwendung des erfindungsgemäßen Prinzips in einer Vorrichtung dennoch weiter Seitenkanalattacken (SCA) ausführen zu können, muss der Angreifer sicherstellen, dass diese jeweils im Rahmen eines regulären Betriebszustands erfolgen, mithin durch das erfindungsgemäße Prinzip nicht als irregulärer Betrieb identifizierbar sind. Dies hemmt erheblich die für erfolgreiche SCA häufig nötige Sammlung von z.B. miteinander zu korrelierender Messdaten, weil die Rate, mit der diese Daten durch den Angreifer erhaltbar sind, aufgrund der speziell erforderlichen Ausgangszustände für eine neuerliche SCA gegenüber herkömmlichen Systemen sehr gering ist. Damit werden viele SCA unwirtschaftlich.
-
Die erfindungsgemäße Funktionalität kann vorteilhaft effizient sowohl in Hardware (z.B. dedizierter ASIC als Steuereinheit 130) als auch in Software (z.B. Programmcode für eine Recheneinheit der Vorrichtung 100, die das erfindungsgemäße Verfahren ausführt) oder einer Kombination hieraus realisiert werden. Des weiteren ist eine Implementierung der Erfindung einfach zu testen, im Gegensatz zu auf Silizium- bzw. Chipebene realisierbaren SCA-Abwehrmassnahmen wie z.B. Maskierungen. Darüberhinaus ist die Wirksamkeit der Erfindung bzw. der für SCA erforderliche erfindungsgemäß erhöhte Aufwand verhältnismäßig einfach ermittelbar, wenn der Zustandsraum des Zielsystems 100 bzw. 110 bekannt ist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- "http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf", Federal Information Processing Standards Publication 197, November 26, 2001 [0022]