DE102016200907A1 - Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung - Google Patents

Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung Download PDF

Info

Publication number
DE102016200907A1
DE102016200907A1 DE102016200907.9A DE102016200907A DE102016200907A1 DE 102016200907 A1 DE102016200907 A1 DE 102016200907A1 DE 102016200907 A DE102016200907 A DE 102016200907A DE 102016200907 A1 DE102016200907 A1 DE 102016200907A1
Authority
DE
Germany
Prior art keywords
buffer
group
elements
states
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102016200907.9A
Other languages
English (en)
Inventor
Markus Dichtl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102016200907.9A priority Critical patent/DE102016200907A1/de
Publication of DE102016200907A1 publication Critical patent/DE102016200907A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation

Landscapes

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

Abstract

Ein Verfahren zum Betreiben einer Vorrichtung (1), welche insbesondere geeignet ist, ein sicherheitsrelevantes Verfahren, eine Sicherheitsanwendung und/oder eine kryptografische Berechnung durchzuführen, umfasst: Bereitstellen mehrerer Zwischenspeicherelemente (3), deren Zwischenspeicherinhalt in Abhängigkeit von einem jeweiligen Umschaltsignal (C) wechselbar sind; Anordnen der Zwischenspeicherelemente (3) in die oder an der Vorrichtung (1) in Gruppen, wobei mehrere Gruppen (71–7P) vorgesehen werden und jede Gruppe (71–7P) mehrere Zwischenspeicherelemente (31–3N) umfasst; wobei für jede (7i) der Gruppen (71–7P) die Schritte durchgeführt werden: Über einen vorgebbaren Prüfzeitraum (PZ), Einkoppeln eines Gruppenumschaltsignals (Ci) an die Zwischenspeicherelemente (31–3N) der jeweiligen Gruppe (7i) derart, dass die Zwischenspeicherinhalte ihren jeweiligen aktuellen Zwischenspeicherzustand (H, L) ändern; Erfassen, ob die Zwischenspeicherelemente (31–3N) der jeweiligen Gruppe (7i) eine gleiche Anzahl von Zwischenspeicherzustandsänderungen in dem Prüfzeitraum (PZ) vollzogen haben; und Erkennen eines Manipulationsversuchs an der Vorrichtung (1), falls eine ungleiche Anzahl von Zwischenspeicherzustandsänderungen für eine Gruppe (7i) erfasst wurde. Dabei sind die Gruppenumschaltsignale (C1–CP) voneinander verschieden.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und eine sicherheitsrelevante Vorrichtung, die sich zur Durchführung des Verfahrens eignet. Es werden insbesondere Verfahren und Vorrichtungen zum Erkennen von Manipulationsversuchen während des Betriebs von sicherheitsrelevanten Vorrichtungen vorgeschlagen.
  • Die Durchführung von kryptografischen Verfahren, beispielsweise die Verschlüsselung von Daten mit Hilfe von Schlüsseln oder geheim zu haltenden Daten, soll möglichst manipulationssicher erfolgen. Das bedeutet, ein Angreifer, der beispielsweise die zu verschlüsselnden Daten nicht kennt oder bei der Verschlüsselung eingesetzte Algorithmen oder Schlüssel erfahren möchte, soll möglichst keine derartigen Informationen erhalten.
  • In der Vergangenheit wurden so genannte Seitenkanalangriffe auf entsprechende sicherheitsrelevante Vorrichtungen bekannt. Dabei wird z.B. die elektromagnetische Abstrahlung von elektronischen Vorrichtungen, wie Mikroprozessoren oder dergleichen, bei der Durchführung von kryptografischen Verfahren ermittelt und ausgewertet. Unter Seitenkanalangriffen versteht man auch so genannte Fehlerangriffe. Dabei wird mit verschiedenen Maßnahmen versucht, den korrekten Ablauf eines kryptografischen Verfahrens zu stören und aus fehlerhaften Ergebnissen Rückschlüsse auf die verwendeten Schlüssel oder andere sicherheitsrelevante Daten zu ziehen.
  • Da meist elektronische Digitaltechnik eingesetzt wird, sind auch Angriffsverfahren bekannt, bei denen elektromagnetische Pulse (EMP) auf den jeweiligen Schaltkreis einwirken und Fehler erzeugen. Fehler sind dabei typischerweise die Veränderung von Speicherinhalten in den eingesetzten elektronischen Bauelementen. Unter EMPs versteht man in der Regel energiereiche, kurzzeitige und breitbandige elektromagnetische Strahlung.
  • Experimentell zeigt sich, dass Digitalschaltungen besonders empfindlich auf Störimpulse mit geringem zeitlichem Abstand reagieren.
  • In der Vergangenheit wurden entsprechende elektronische Bauelemente, die sicherheitsrelevante Anwendungen vollziehen, möglichst gut abgeschirmt. Die gewünschte Miniaturisierung und Massenproduktion von Sicherheitschips erlaubt eine aufwändige hardwaretechnische Abschirmung kaum. Es ist insofern wünschenswert, wenigstens entsprechende Manipulationsversuche, beispielsweise durch Einstrahlung von EMPs, zu erkennen und entsprechende Abwehr- oder weitere Sicherheitsmaßnahmen zu vollziehen.
  • Fehlerangriffe oder Manipulationsversuche durch Veränderung von elektronischen Eigenschaften einer kryptografischen Hardwarevorrichtung lassen sich häufig nicht reproduzieren. Das heißt, ein Angreifer, der nacheinander mehrere Seitenkanalangriffe durchführt, wird auf Seiten der sicherheitsrelevanten Vorrichtung nicht dieselben Fehler erzeugen. Es sind fehlererkennende Algorithmen in sicherheitsrelevanten Anwendungen bekannt, bei denen beispielsweise Prüfsummen ermittelt werden, die einen vorliegenden Fehlerangriff nahelegen.
  • Aus dem Stand der Technik sind das Dokument US 8531247 B2 , das Dokument US 8892616 B2 , das Dokument US 8300811 B2 , das Dokument US 9147088 B2 , das Dokument EP 2605445 B1 , das Dokument EP 2870565 A1 , das Dokument EP 2891102 A1 und das Dokument US 8843761 B2 bekannt.
  • Es ist ferner denkbar, detektierende Einrichtungen für EMP-Einstrahlung in entsprechende sicherheitsrelevante elektronische Vorrichtungen zu implementieren. Nachteilig ist dabei jedoch eine erhöhte Komplexität der Vorrichtungen.
  • Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, ein verbessertes Verfahren zum Erkennen von Manipulationsversuchen insbesondere an kryptografischen Vorrichtungen zu schaffen.
  • Demgemäß wird ein Verfahren zum Betreiben einer Vorrichtung, welche insbesondere geeignet ist, ein kryptografisches Verfahren, eine Sicherheitsanwendung und/oder eine kryptografische Berechnung durchzuführen, vorgeschlagen. Das Verfahren umfasst die Schritte:
    Bereitstellen mehrerer Zwischenspeicherelemente, wobei ein jeweiliges Zwischenspeicherelement eingerichtet ist, einen Zwischenspeicherinhalt abrufbar bereitzustellen und in Abhängigkeit von einem jeweiligen Umschaltsignal seinen Zwischenspeicherinhalt von einem ersten in einen zweiten Zwischenspeicherzustand zu wechseln oder von dem zweiten in den ersten Zwischenspeicherzustand zu wechseln;
    Anordnen der Zwischenspeicherelemente in die oder an der Vorrichtung; und
    Zuordnen eines jeweiligen Zwischenspeicherelements in eine Gruppe, wobei mehrere Gruppen vorgesehen werden und jede Gruppe mehrere Zwischenspeicherelemente umfasst.
  • Für jede der Gruppen erfolgen die Schritte:
    Über einen vorgebbaren Prüfzeitraum, – insbesondere wiederholtes – Einkoppeln eines Gruppenumschaltsignals an die Zwischenspeicherelemente der jeweiligen Gruppe derart, dass die Zwischenspeicherinhalte ihren jeweiligen aktuellen Zwischenspeicherzustand – insbesondere mehrfach – ändern;
    Erfassen, ob die Zwischenspeicherelemente der jeweiligen Gruppe eine gleiche Anzahl von Zwischenspeicherzustandsänderungen in dem Prüfzeitraum vollzogen haben; und
    Erkennen eines Manipulationsversuchs an der Vorrichtung, falls eine ungleiche Anzahl von Zwischenspeicherzustandsänderungen für eine Gruppe erfasst wurde.
  • Die Gruppenumschaltsignale sind dabei voneinander verschieden.
  • Das Verfahren ermöglicht bei einer bekannten Vorrichtung, einfach viele Zwischenspeicherelemente, beispielsweise in der Art von Flip-Flop-Einrichtungen, zu verteilen. Bei Fehlerangriffen mit Hilfe von EMPs ist es denkbar, dass die Zwischenspeicherelemente unabhängig von den gewünschten Zwischenspeicherzustandswechseln ihren Zwischenspeicherinhalt verändern.
  • Wechseln die Zwischenspeicherinhalte beispielsweise zwischen zwei Zwischenspeicherzuständen (zum Beispiel H oder L bzw. 1 oder 0) und starten alle derselben Gruppe von demselben Startzwischenspeicherzustand, d.h. alle Zwischenspeicherelemente speichern zunächst denselben logischen Pegel H oder L, so müssen auch nach dem mehrfachen Togglen der Zwischenspeicherinhalte alle Zwischenspeicherelemente der Gruppe denselben Inhalt haben. Ist dies nicht der Fall, sind Fehler aufgetaucht, welche als Manipulationsversuch klassifiziert werden können.
  • EMP-Angriffe auf eine entsprechende sicherheitsrelevante Vorrichtung werden bevorzugt in der zeitlichen Nähe von Taktsignalflanken durchführt. Da die Gruppenumschaltsignale vorzugsweise nicht alle gleichzeitig die Zwischenspeicherzustandswechsel in den verschiedenen Gruppen triggern bzw. veranlassen, sondern zeitlich verteilt sind, ist die Wahrscheinlichkeit dafür erhöht, dass ein EMP-Angriff insbesondere eines oder mehrere der Zwischenspeicherelemente betrifft.
  • Es wird ferner eine Vorrichtung, die sich zur Durchführung des Verfahrens eignet, vorgeschlagen. Eine entsprechende Vorrichtung umfasst:
    eine Hardwareeinrichtung, welche insbesondere geeignet ist, ein sicherheitsrelevantes Verfahren, eine Sicherheitsanwendung und/oder eine kryptografische Berechnung computerimplementiert durchzuführen oder eine kryptografische Anwendung festverdrahtet bereitstellt;
    mehrere Zwischenspeicherelementen, wobei ein jeweiliges Zwischenspeicherelement eingerichtet ist, einen Zwischenspeicherinhalt abrufbar bereitzustellen und in Abhängigkeit von einem Umschaltsignal seinen Zwischenspeicherinhalt von einem ersten in einen zweiten Zwischenspeicherzustand zu wechseln oder von dem zweiten in den ersten Zwischenspeicherzustand zu wechseln; und
    eine Steuereinrichtung, welche die Durchführung eines zuvor oder im Folgenden beschriebenen Verfahrens veranlasst.
  • Die Vorrichtung ist z.B. als FPGA oder ASIC oder als Teil eines FPGAs oder ASICs implementiert und Zwischenspeicherelemente können in der Art von Flip-Flops, wie beispielsweise T- oder JK-Flip-Flops aufwandsgünstig realisiert werden.
  • Vorzugsweise hat jede Gruppe gleich viele Zwischenspeicherelemente.
  • Das jeweilige Gruppenumschaltsignal zum gezielten Verändern der Zwischenspeicherzustände aller Zwischenspeicherelemente einer Gruppe hat vorzugsweise steigende und fallende Signalflanken. Bei einer steigenden Signalflanke erfolgt beispielsweise ein Umschalten des jeweiligen Zwischenspeicherinhaltes und damit ein Speicherzustandswechsel.
  • Die Signalflanken können steigende und fallende Taktflanken haben und einer Taktfrequenz und einer Taktperiode entsprechen. Zum Beispiel können die Gruppenumschaltsignale von einem Systemtakt abgeleitet werden und eine Frequenz haben, die ein ganzzahliges Vielfaches der Systemtaktfrequenz ist.
  • Denkbar ist der Einsatz von Phasenregelschleifen (PLL= Phase Locked Loop) oder von Delay Locked Loop(DLL-)Schaltungen.
  • Die Gruppenumschaltsignale sind insbesondere voneinander phasenverschoben. Das heißt zum Beispiel, dass steigende Taktflanken, die zum Togglen der Zwischenspeicherelemente einer Gruppe führen, von Gruppe zu Gruppe zeitlich verteilt sind.
  • Die jeweiligen Phasenverschiebungen sind insbesondere über die Taktperiode des Systemtakts gleichverteilt. Das bedeutet, dass ein EMP-Angriff mit einem elektromagnetischen Impuls mit erhöhter Wahrscheinlichkeit zu einem Toggle-Zeitpunkt bei einer der Gruppen auftritt. Man kann sagen, dass das zeitliche Raster zur Erkennung von EMP-Manipulationsversuchen durch die phasenverschobenen Gruppenumschaltsignale verfeinert wird.
  • In Ausführungsformen werden die Zwischenspeicherelemente einer Gruppe in einem jeweiligen räumlichen Bereich in der Vorrichtung derart angeordnet, dass sich räumliche Bereiche verschiedener Gruppen überlappen. Insofern können die Zwischenspeicherelemente verschiedener Gruppen unabhängig voneinander räumlich verteilt werden. Die Zwischenspeicherelemente einer jeweiligen Gruppe müssen nicht benachbart vorliegen. Durch die beispielsweise unregelmäßige Verteilung wird es einem Angreifer erschwert, die Zwischenspeicherelemente einer Gruppe zu lokalisieren und potenziell angepasste EMP-Angriffe zu vollziehen.
  • In einer Variante des Verfahrens werden zum Erfassen, ob die Zwischenspeicherelemente der jeweiligen Gruppe eine gleiche Anzahl von Zwischenspeicherzustandsänderungen in dem Prüfzeitraum vollzogen haben, die folgenden Schritte durchgeführt:
    Erfassen oder Festlegen eines jeweiligen Startzwischenspeicherzustands für jedes Zwischenspeicherelement der jeweiligen Gruppe;
    Bestimmen von erwarteten Prüfzwischenspeicherzuständen als Funktion der Startzwischenspeicherzustände und der Signalform des jeweiligen eingekoppelten Gruppenumschaltsignals;
    Erfassen der Zwischenspeicherinhalte nach dem Prüfzeitraum als Prüfzwischenspeicherzustände; und
    Erkennen eines Manipulationsversuchs an der Vorrichtung, falls die erfassten Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen einer jeweiligen Gruppe abweichen.
  • Bei dem Betrieb der Vorrichtung kann insbesondere der Schritt erfolgen: Vergleichen der erfassten Prüfzwischenspeicherzustände mit den erwarteten Prüfzwischenspeicherzuständen.
  • Das Vergleichen kann dabei für alle Zwischenspeicherelemente einer Gruppe gleichzeitig erfolgen oder auch seriell. In der entsprechenden Auswerte- oder Erkennungsphase können die Zwischenspeicherelemente anders verschaltet werden als während des Prüfzeitraums. Wird ein Manipulationsversuch erkannt, wird vorzugsweise eine Warnung ausgegeben oder angezeigt. Weiterhin werden, wenn ein Manipulationsversuch erkannt wurde, vorzugsweise die Resultate von kryptographischen Berechnungen, die während des Prüfzeitraums stattgefunden haben, nicht ausgegeben. Dadurch wird verhindert, dass ein Angreifer aus den fehlerhaften Ergebnissen Schlüsse auf den verwendeten kryptographischen Schlüssel ziehen kann.
  • Die Verfahrensschritte werden vorzugsweise wiederholt nacheinander durchgeführt.
  • In Ausführungsformen des Verfahrens oder der Vorrichtung sind mindestens 20 Zwischenspeicherelemente pro Gruppe räumlich verteilt in oder an der Vorrichtung angeordnet. Bevorzugter sind 50 oder noch bevorzugter mindestens 100 Zwischenspeicherelemente in oder an der Vorrichtung pro Gruppe vorgesehen. In Ausführungsformen werden zwischen 500 und 1500 Zwischenspeicherelemente vorgesehen.
  • In Ausführungsformen ist ein jeweiliges Zwischenspeicherelement derart eingerichtet, dass in Abhängigkeit von dem eingekoppelten Umschaltsignal, beispielsweise bei steigenden Signalflanken, mehrere Zwischenspeicherzustände zyklisch durchlaufen werden. Es ist z.B. möglich, dass ein Speicherzustand 1, 2, 3 bis M durchlaufen wird, welcher nach Ablauf des Prüfzeitraums in einer Erkennungsphase erfasst wird. Bei ordnungsgemäßem Betrieb ohne Fehler oder Manipulationsversuch sollten die Zwischenspeicherelemente jeder Gruppe denselben erwarteten Speicherzustand aufweisen, sofern sie von demselben Startzwischenspeicherzustand gestartet sind. Insofern können zwischen dem Erreichen des ersten Zwischenspeicherzustands von dem zweiten Zwischenspeicherzustand aus und umgekehrt weitere Speicherzustände vorliegen, die bei Einkoppeln einer Umschaltsignalflanke erreicht werden.
  • In Ausführungsformen hat jedes Zwischenspeicherelement genau zwei logische Zwischenspeicherzustände zwischen denen mit Hilfe des eingekoppelten Umschaltsignals gewechselt werden kann. Dies sind z.B. logische H- oder L- bzw. 1- oder 0-Pegel.
  • Während des Prüfzeitraums sind die Zwischenspeicherelemente vorzugsweise als Toggle-Flip-Flops betrieben.
  • In Ausführungsformen des Verfahrens bzw. der Vorrichtung werden die Zwischenspeicherelemente einer jeweiligen Gruppe zum Erkennen einer Abweichung der Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen als eine Schieberegisteranordnung betrieben.
  • In einem auf den Prüfzeitraum folgenden Erkennungszeitraum, der auch als Erkennungsphase bezeichnet werden kann, können beispielsweise die vielen Prüfzwischenspeicherzustände der Zwischenspeicherelemente als Speicherinhalte einer Gruppe aus einer Schieberegisterkette getaktet ausgelesen werden. Beispielsweise kann über eine Zähleranordnung erfasst werden, ob die erwarteten Prüfzwischenspeicherzustände für die Gruppe vorliegen. Beispielsweise kann dadurch, dass abgezählt wird, in wie vielen Fällen der erwartete Prüfzwischenzeichenzustand vorlag, festgestellt werden, ob es abweichende Prüfzwischenzeichenzustände gab.
  • Es ist ebenso möglich, dass die Zwischenspeicherelemente einer jeweiligen Gruppe in Untergruppen angeordnet und verschaltet werden, wobei eine jeweilige Untergruppe von Zwischenspeicherelementen als Schieberegisteranordnung betreibbar ist. Die Prüfzwischenspeicherzustände einer Gruppe oder Untergruppe können so ein jeweiliges Prüfbitmuster bilden, und zum Erkennen einer Abweichung der Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen einer jeweiligen Gruppe wird ein Unterschiedsmaß, insbesondere ein Hamming-Abstand, zwischen den Prüfbitmustern der Gruppen oder den Prüfbitmustern einer jeweiligen Untergruppe ermittelt.
  • Durch einen Vergleich der in den jeweiligen Schieberegisteranordnungen vorliegenden Speicherzustände kann erkannt werden, ob die erwarteten Prüfzwischenspeicherzustände vorliegen oder eine Abweichung davon.
  • Beispielsweise kann in einer Ausführungsform ein jeweiliges Prüfbitmuster aus den Prüfzwischenspeicherzuständen einer Untergruppe gebildet werden. Zum Erkennen einer Abweichung der Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen für die Gruppe wird dann ein Unterschiedsmaß zwischen den Prüfbitmustern der Untergruppen ermittelt. Dabei kann z.B. ein Hamming-Abstand oder ein Hamming-Gewicht berechnet werden. Es kann ein Schwellwert für dieses Unterschiedsmaß festgelegt werden, ab dem ein Abweichen der Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen als Manipulationsversuch erkannt wird.
  • Das Gruppenumschaltsignal wird z.B. als Taktsignal für die jeweilige Schieberegisteranordnung der Untergruppe verwendet. Es ist auch denkbar, dass das Systemtaktsignal für die verwendete Hardwareeinrichtung zur Durchführung von kryptografischen Berechnungen als Umschaltsignal für eine der Gruppen verwendet wird.
  • In Ausführungsformen erfolgen ein Auslesen der Prüfzwischenspeicherzustände aus der jeweiligen Schieberegisteranordnung und ein Einschreiben der Startzwischenspeicherzustände in die Zwischenspeicherelemente der jeweiligen Schieberegisteranordnung gleichzeitig. Es ist insofern möglich, die Startzwischenspeicherzustände während einer Initialisierungsphase gleichzeitig mit einer Erkennungsphase zu kombinieren. Eine entsprechende Schieberegisteranordnung umfasst dabei ein erstes und ein letztes Schieberegister oder Zwischenspeicherelement, wobei die Inhalte getaktet durch die verketteten Zwischenspeicher geführt wird. Das heißt, es kann jedenfalls bitweise gleichzeitig ein- und ausgelesen werden.
  • In Ausführungsformen ist der Prüfzeitraum ein Zeitraum, in dem mit Hilfe der Vorrichtung und insbesondere der Hardwareeinrichtung eine kryptografische Berechnung durchgeführt wird.
  • In Ausführungsformen wird mit Hilfe der Vorrichtung, insbesondere ausschließlich, während des Prüfzeitraums eine kryptografische Berechnung zum Erzeugen eines kryptografischen Ergebnisses durchgeführt. Vorzugsweise wird das kryptografische Ergebnis nur dann ausgegeben, falls kein Manipulationsversuch während des Prüfzeitraums erkannt wird.
  • Das Erfassen, ob die Zwischenspeicherelemente der jeweiligen Gruppe eine gleiche Anzahl von Zwischenspeicherzustandsänderungen vollzogen haben, erfolgt vorzugsweise zu einem jeweiligen vorgebbaren Prüfzeitpunkt, und für jede Gruppe wird ein jeweiliger laufender Prüfzeitraum einem aktuellen Prüfzeitpunkt zugeordnet. Es kann dadurch praktisch ständig aufgrund der zeitliche versetzt ablaufenden Umschaltvorgänge in den Gruppen ein Manipulationsversuch erkannt werden.
  • Das vorgeschlagene Verfahren und die vorgeschlagene Vorrichtung haben insbesondere den Vorteil, dass während der Berechnung durch das vielfache Umschalten zwischen Zwischenspeicherzuständen keine aufwändige Detektion von einzelnen EMP-Angriffen während der Berechnung des kryptografischen Ergebnisses erfolgen muss. Außerdem ist bei phasenverschobene Gruppenumschaltsignalen die Wahrscheinlichkeit hoch, dass ein EMP-Angriff erkannt wird.
  • Die vorgeschlagenen Verfahren und Vorrichtungen haben den Vorteil, dass nur eine geringe logische Gattertiefe benötigt wird und die beispielsweise als Toggle-Flip-Flops betriebenen Zwischenspeicherelemente äußerst schnell getaktet werden können.
  • Durch die schnelle Taktung wird bereits der Erwartungswert für den zeitlichen Abstand zwischen Störimpuls und Taktflanke verkleinert. Das heißt, Seitenkanalangriffe durch elektromagnetische Impulse können verbessert erkannt werden. Darüber hinaus wird durch die zeitlich versetzt und parallel ablaufende Manipulationserkennung durch die gruppenweise Zuordnung mit eigenen Gruppenumschaltsignalen noch eine weitere Verringerung des Erwartungswerts für den zeitlichen Abstand zwischen Störimpuls und Taktflanke erreicht.
  • Eine jeweilige vorgenannte Einheit, zum Beispiel eine Recheneinheit, Steuerungseinheit oder die Vorrichtung selbst, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steuerrechner eines Fahrzeuges ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.
  • Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst. Als programmgesteuerte Einrichtung kommen insbesondere die sicherheitsrelevante Vorrichtung und/oder die Steuereinrichtung in Frage.
  • Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen.
  • Die für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren entsprechend und umgekehrt.
  • Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.
  • Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert.
  • 1 zeigt ein Ablaufdiagramm für ein Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung;
  • 2 zeigt ein erstes Ausführungsbeispiel für eine sicherheitsrelevante Vorrichtung, welche gemäß dem Verfahren nach 1 betreibbar ist;
  • 3 zeigt ein erstes Ausführungsbeispiel für ein Zwischenspeicherelement zum Einsatz in der Vorrichtung gemäß 2;
  • 4 zeigt mögliche Signal- und Zwischenspeicherzustandsverläufe beim Betrieb der Vorrichtung gemäß 2;
  • 5 zeigt mögliche Signal- und Zwischenspeicherzustandsverläufe bei einem Manipulationsversuch während des Betriebs der Vorrichtung gemäß 2;
  • 6 zeigt ein Zustandsdiagramm für Zwischenspeicherzustände des Zwischenspeicherelements gemäß 3;
  • 7 zeigt ein Ausführungsbeispiel für eine zu einer Gruppe zugeordneten Mehrzahl von Zwischenspeicherelementen;
  • 8 zeigt mögliche Signalformen von Gruppenumschaltsignalen und Systemtakten beim Betrieb einer Vorrichtung;
  • 9 zeigt ein Zustandsdiagramm für Zwischenspeicherzustände eines weiteren Ausführungsbeispiels für ein Zwischenspeicherelement;
  • 10 zeigt ein zweites Ausführungsbeispiel für eine sicherheitsrelevante Vorrichtung zur Durchführung einer Variante eines Verfahrens zum Betreiben einer sicherheitsrelevanten Vorrichtung;
  • 11 und 12 zeigen ein zweites Ausführungsbeispiel für ein Zwischenspeicherelement zum Einsatz in einer sicherheitsrelevanten Vorrichtung; und
  • 13 zeigt ein Ablaufdiagramm für eine Verfahrensvariante zum Betreiben einer sicherheitsrelevanten Vorrichtung.
  • In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
  • Die 1 zeigt ein schematisches Ablaufdiagramm für ein Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung. Das Verfahren wird beispielsweise mit Hilfe der in der
  • 2 als Ausführungsbeispiel für eine sicherheitsrelevante Vorrichtung schematisch dargestellte Schaltungsanordnung betrieben.
  • In einem vorbereitenden Verfahrensschritt S0 wird eine Hardwareeinrichtung, welche zur Durchführung von kryptografischen Algorithmen geeignet ist, bereitgestellt.
  • Eine entsprechende Hardwareeinrichtung kann z.B. als FPGA- oder ASIC-Einrichtung vorliegen. Eine entsprechende elektronische Schaltung ist in der 2 in der Vorrichtung 1 mit 2 bezeichnet. Es können dabei eine oder mehrere Recheneinrichtungen, wie Mikroprozessoren, realisiert sein, die mit Speichereinrichtungen 5, welche beispielsweise Anweisungen für den Betrieb abspeichern, vorliegen. Diese Hardwareeinrichtung 2 wird mit einem Systemtakt CLK getaktet.
  • Es ist nun wünschenswert, entsprechende sicherheitsrelevante Verfahren, wie kryptografische Schlüsselberechnungen oder Verschlüsselungsalgorithmen, die mit Hilfe der Hardwareeinrichtung 2 durchgeführt werden, vor Fehlerangriffen zu schützen. Dazu soll zunächst zuverlässig ein Manipulationsversuch an der Vorrichtung 1 erkannt werden. Es werden daher neben der Hardwareeinrichtung 2 viele Zwischenspeicherelemente 3 vorgesehen. Die Zwischenspeicherelemente 3 sind z.B. als Toggle-Flip-Flops betreibbar und werden in oder an der elektronischen Hardwareeinrichtung 2 vorgesehen. Dies ist in der 2 durch die verteilten Kästchen 3 angedeutet.
  • Jedes Zwischenspeicherelement 3 wird nun im Schritt S1 einer Gruppe zugeordnet. Die Gruppen sind in der 2 mit 7 1, 7 2 und 7 3 bezeichnet und umfassen mehrere Zwischenspeicherelemente 3. Vorzugsweise werden 20, 50 oder auch mehr als 100 Zwischenspeicherelemente pro Gruppe hardwaremäßig implementiert und in dem entsprechenden Chip verteilt. Bei einer FPGA-Einrichtung kann dies durch eine geeignete Beschreibungssprache, wie Verilog oder VHDL, realisiert werden. Denkbar ist auch eine dezidierte Hardwareeinrichtung 2 mit vielen Zwischenspeicherelementen bzw. Flip-Flop-Einrichtungen als integrierte Schaltung vorzusehen. Die Gruppen überschneiden oder überlappen sich dabei räumlich in bzw. auf dem Chip, der die Vorrichtung 1 realisiert, wie man anhand der gestrichpunkteten Grenzen der Gruppen 7 1, 7 2 und 7 3 erkenn kann. Im Allgemeinen werden P Gruppen mit jeweils N Zwischenspeicherelementen vorgesehen.
  • In der 3 ist ein Ausführungsbeispiel für ein entsprechendes Zwischenspeicherelement 30 angedeutet. Das Zwischenspeicherelement 30 ist als Toggle-Flip-Flop implementiert und hat einen Datenausgang Q, einen Toggle-Eingang T und einen Setzeingang S. Die eingesetzten Zwischenspeicherelemente 3 (vgl. 2) können in wenigstens einem Betriebsmodus bei Einkoppeln einer Umschaltsignalflanke am Eingang T zwischen zwei Zwischenspeicherzuständen wechseln. Das Zwischenspeicherelement 30 bzw. das Flip-Flop 30 stellt einen Zwischenspeicherinhalt, der vereinfacht ebenfalls mit Q bezeichnet ist, an seinem Ausgang abrufbar bereit. Mit Hilfe eines Initialisierungs- oder Setzsignals I am Eingang S kann der Zwischenspeicherzustand, beispielsweise als logisch H oder L, gesetzt werden.
  • Der Toggle-Eingang T empfängt ein Toggle- oder Umschaltsignal C. Beispielsweise erfolgt beim Einkoppeln einer steigenden Signalflanke des Umschaltsignals C ein Togglen oder Umschalten von dem ersten zum zweiten Zwischenspeicherzustand. Das heißt, das Toggle-Flip-Flop 30 ändert bei steigenden Umschaltsignalflanken seinen Zwischenspeicherzustand. Dies ist in der 6 schematisch durch die Zustände H und L angedeutet. Beim Einsatz in der Vorrichtung 1 aus 2 wird eines der Gruppenumschaltsignale C1, C2, C3 als Umschaltsignal verwendet.
  • In der 4 ist zur Erläuterung des Betriebs des Toggle-Flip-Flops 30 ein beispielhafter Zwischenspeicherzustandsverlauf angedeutet. In der unteren Darstellung der 4 ist ein Umschaltsignal C als Rechtecksignal mit steigenden und fallenden Signalflanken angedeutet. In dem oberen Zeitdiagramm ist der jeweilige Zwischenspeicherzustand Q, der zwischen L- und H-Pegel schwankt, dargestellt. Man erkennt, dass bei dem Toggle-Flip-Flop 30 der 3 ein Zustandswechsel zwischen H und L jeweils bei den steigenden Signalflanken des Umschaltsignals erfolgt. Dies kann insbesondere asynchron realisiert werden. Denkbar sind jedoch auch getaktete synchrone Toggle-Flip-Flops. Derartige Zwischenspeicherelemente 30 sind nun vielfach in der Vorrichtung 1 gruppenweise verteilt. Jeder Gruppe 7 1, 7 2 und 7 3 wird ein jeweiliges Gruppenumschaltsignal C1, C2, C3 (in allgemeiner Form C1–CP), welches von der Steuereinrichtung 6 erzeugt wird, eingekoppelt.
  • Anschließend erfolgt für jede Gruppe 7 1, 7 2 und 7 3 in einem Prüfzeitraum oder einer Prüfphase PZ, welche im Schritt S2 durchgeführt wird, ein vielfaches gruppenweises Togglen der Zwischenspeicherelemente bzw. Flip-Flops 30. Während dieses Prüfzeitraums PZ führt beispielsweise die Hardwareeinrichtung 2 kryptografische Algorithmen durch. Die Hardwareeinrichtung 2 nimmt beispielsweise Rohdaten RD entgegen und liefert verschlüsselte Daten VD. Dabei werden kryptografische Schlüssel eingesetzt, die geheim zu halten sind.
  • Während dieser sicherheitsrelevanten Berechnungen oder Verfahrensdurchführung ist sicherzustellen, dass kein Manipulationsversuch erfolgt. Ein Manipulationsversuch, beispielsweise mit EMP-Einwirkung, führt in der Regel zu einer Änderung von Speicherinhalten, wie insbesondere den Zwischenspeicherinhalten. Erfolgt nun während des Prüfzeitraums PZ im Schritt S2 ein elektromagnetischer Seitenkanalangriff, hat eines oder mehrere der Zwischenspeicherelemente 3 nicht mehr den zu erwartenden Zwischenspeicherzustand.
  • Daher wird im Schritt S3 geprüft, ob die Zwischenspeicherelemente der jeweiligen Gruppe 7 1, 7 2 und 7 3 eine gleiche Anzahl von Zwischenspeicherzustandsänderungen in dem Prüfzeitraum PZ vollzogen haben.
  • Falls im Schritt S4 eine ungleiche Anzahl von Zwischenspeicherzustandsänderungen für eine Gruppe erfasst wurde, wird ein Manipulationsversuchs an der Vorrichtung 1 erkannt, und es können weitere Maßnahmen zur Abwehr erfolgen.
  • In der 5 ist ein entsprechender Seitenkanalangriff beispielhaft erläutert. In der unteren Darstellung der 5 ist eine Signalform des Umschaltsignals beispielsweise als Taktsignal C für ein einzelnes Zwischenspeicherelement angedeutet. In der darüber dargestellten Darstellung ist der jeweilige Zwischenspeicherzustand eines Zwischenspeicherelementes mit H- und L-Pegel bezeichnet, wobei die strichgepunktete Kurve einem erwarteten Zwischenspeicherzustand Q' gemäß dem darunter dargestellten Umschaltsignal C entspricht.
  • Zum Zeitpunkt TA wird ein EMP-Angriff A angenommen. Das heißt, durch den Angriff A erfolgt eine Veränderung des Zwischenspeicherzustands. Das bedeutet, dass zu einem späteren Zeitpunkt, beispielsweise nach vielfachem weiteren Togglen während des Prüfzeitraums (vgl. Schritt S2) zum Zeitpunkt TP nicht der erwartete Prüfzwischenspeicherzeit Q' vorliegt, sondern ein L-Pegel.
  • Um zu jedem Prüfzeitpunkt festzustellen, ob ein EMP-Angriff erfolgt ist, kann jeder Gruppe von Flip-Flops eine Auswerteschaltung zugeordnet werden, die anzeigt, ob alle Flip-Flops gleich in einem davor liegenden „wandernden“ Prüfzeitraum gleich oft getogglet wurden. In der 7 ist ein Ausführungsbeispiel für eine Gruppenanordnung 7 i von Flip-Flops als Zwischenspeicherelemente dargestellt.
  • Die Gruppe 7 i umfasst N T-Flip-Flops 3 13 N, an deren Toggle-Eingänge das Gruppenumschaltsignal Ci geführt ist. An den Datenausgängen sind die Zwischenspeicherzustände Q1–QN abgreifbar und werden einer Auswerteeinrichtung 8 zugeführt, welche erfasst, ob alle Flip-Flops 3 13 N synchron mit den steigenden Taktflanken des Gruppenumschaltsignals Ci Zustandswechsel vollziehen oder vollzogen haben. Dazu kann die Auswerteeinrichtung 8 z. B. Referenzwerte für die Flip-Flop-Zustände zum Vergleich bereithalten. Die Auswerteeinrichtung 8 gibt eine jeweiliges Detektionssignal DTi aus, welches anzeigt, falls eines oder mehrere Flip-Flops 3 13 N der Gruppe 7 i anders getogglet wurde als der Rest. Der Schritt S3 erfolgt insofern für jede Gruppe in der Vorrichtung als Funktion des jeweiligen Gruppenumschaltsignals Ci.
  • Die 8 zeigt mögliche Signalformen von Gruppenumschaltsignalen. In der oberen Kurve ist das Systemtaktsignal CLK angedeutet. Der Systemtakt CLK hat dabei eine Taktperiode TCLK. Darunter erkennt man die von dem Systemtakt CLK abgeleiteten Gruppenumschaltsignale C1–CP. Die Gruppenumschaltsignale C1–CP sind zueinander phasenverschoben und decken hinsichtlich ihres zeitlichen Abstands die Taktperiode gleichverteilt ab. Sofern also ein EMP-Angriff zwischen den steigenden Taktflanken des Systemtakts CLK eingestrahlt wird, wird eine steigende Taktflanke eines der Gruppenumschaltsignale C1–CP zeitlich am nächsten an dem EM-Puls vorliegen. Da die eingesetzten elektronischen Einrichtungen, wie die Zwischenspeicherelemente, besonders sensibel gegenüber EMP-Strahlung zu Umschaltzeitpunkten reagieren, wird der EMP-Angriff einen Fehler in der betreffenden Gruppe hervorrufen, der erfasst werden kann. Durch die Phasenverschiebung der einzelnen Gruppenumschaltsignale C1–CP wird die Zuverlässigkeit der Erkennung von Manipulationsversuchen daher verbessert.
  • Ein noch weitere Verfeinerung des Rasters für Toggle-Zeitpunkte von Zwischenspeicherelementen 3 in der Vorrichtung (vgl. 2) und damit Erhöhung der Detektionswahrscheinlichkeit von EMP-Seitenkanalangriffen, wird erreicht, wenn die Taktfrequenz der Gruppenumschaltsignale C1–CP ein ganzzahliges Vielfaches der Systemtaktfrequenz TCLK ist.
  • In dem in den 18 erläuterten Ausführungsbeispiel sind die Zwischenspeicherelemente zwischen zwei Pegeln H und L wechselbar. Es ist auch möglich, mehrere Zustandswechsel, die zyklisch vollzogen werden, vorzusehen. Dazu ist in der 9 beispielhaft erläutert, wie ein Zwischenspeicherelement zwischen M Zuständen, die zyklisch angeordnet sind, gewechselt werden kann. Beispielsweise kann von einem ersten Speicherzustand 1 zum zweiten und jeweils durch Einkoppeln einer vorgegebenen Umschaltsignalflanke bis hin zum M-ten gewechselt werden. Im Folgenden wird jedoch von der vereinfachten Annahme ausgegangen, dass zwischen zwei logischen Pegeln H und L gewechselt werden kann.
  • Alternativ zu der mit Hilfe des Ausführungsbeispiels aus 7 erläuterten Variante zur Erfassung eines Manipulationsversuchs kann in einem Schritt S3 während einer von der Prüfphase oder dem Prüfzeitraum getrennte Erkennungsphase oder eines Erkennungszeitraums EZ beim Betrieb der Vorrichtung 1 (vgl. 2) ein Vergleich von erfassten Prüfzwischenspeicherzuständen mit erwarteten Prüfzwischenspeicherzuständen erfolgen.
  • Beispielsweise werden zunächst zum Initialisieren oder Starten alle Zwischenspeicherelemente 3 der Gruppen in denselben Zustand L gebracht. Die erwarteten Prüfzwischenspeicherzustände nach dem Prüfzeitraum PZ sind dann in Abhängigkeit von der in der Prüfphase eingekoppelten Anzahl von steigenden gruppenumschaltsignalflanken alle H oder L für die Gruppe. Jedenfalls wird erwartet, dass alle erfassten Prüfzwischenspeicherzustände für eine jeweilige Gruppe 7 i denselben logischen Pegel H oder L haben. Wird eine Abweichung davon erkannt, ist ein Manipulationsversuch erfolgt. Insbesondere durch die räumlich verteilte Anordnung der Zwischenspeicherelemente auch innerhalb der Gruppen 7 i ist es unwahrscheinlich, dass ein Angreifer mit Hilfe eines EMPs alle Zwischenspeicherelemente gleichzeitig zu einem Zustandswechsel bringt und der Manipulationsversuch unerkannt bleibt. Es ist grundsätzlich nicht notwendig, in der Erkennungsphase alle einzelnen Prüfzwischenspeicherzustände jeweils mit einem erwarteten zu vergleichen. Es genügt, integral festzustellen, ob die erwarteten Prüfzwischenspeicherzustände reproduzierbar sind. Dies ist aufwandsgünstig möglich.
  • Um permanent eine Manipulationserkennung während des Betriebs der Hardwareeinrichtung 2 zu erzielen, können die Schritte S1–S3 periodisch durchgeführt werden, was mit Hilfe des gestrichelten Pfeils in 1 angedeutet ist.
  • In der 10 ist ein weiteres Ausführungsbeispiel für eine sicherheitsrelevante Vorrichtung zur Durchführung einer Variante des Verfahrens zum Betreiben angedeutet. Die 10 zeigt eine Vorrichtung 10, bei der N Zwischenspeicherelemente 3 13 N für jede Gruppe vorgesehen werden. Die Gruppen von Zwischenspeicherelemente 3 13 N sind zu Schieberegisteranordnungen verschaltbar, was im Folgenden weiter erläutert wird. Die 10 zeigt explizit eine Gruppe von Flip-Flops 3 13 N als Zwischenspeicherelemente, die mit 11 i bezeichnet ist. Es sind insgesamt P Gruppen 11 111 P vorgesehen wobei nur 11 j und 11 P dargestellt sind. Der Einfachheit halber wird weiter nur auf die Gruppe bzw. die Schieberegisterkette 11 i explizit eingegangen.
  • Es ist eine Steuereinrichtung 6 vorgesehen, die Steuersignale CT1–CT3 und das Umschaltsignal Ci erzeugt sowie die Durchführung eines Betriebsverfahrens veranlasst. Es ist ferner schematisch eine Hardwareeinrichtung 2 zur Durchführung von sicherheitsrelevanten Verfahren oder Berechnungen 2 angedeutet. Obgleich dies in der 10 nicht explizit dargestellt ist, können die Zwischenspeicherelemente 3 13 N auch räumlich in oder an der Hardwareeinrichtung 2 vorgesehen sein. Analog bedient die Steuereinrichtung 6 die übrigen Gruppen mit Steuer- und Gruppenumschaltsignalen C1–CP.
  • Die 11 und 12 zeigen zwei Betriebsmodi der in der 10 eingesetzten Zwischenspeicherelemente 3 13 N. In einem ersten Betriebsmodus, wie er in der 11 angedeutet ist, sind die Zwischenspeicherelemente 3 i als Toggle-Flip-Flops ausgeführt. D.h., wie bereits zur 3 erläutert wurde, hat das Zwischenspeicherelement 3 i einen Toggle-Eingang T und einen Datenausgang Q, an dem der jeweilige Zwischenspeicherzustand Qi abgreifbar ist. Durch Einkoppeln eines Signalwechsels, beispielsweise einer steigenden Umschaltsignalflanke C, schaltet der Zwischenspeicherzustand zwischen H und L.
  • In einem zweiten Betriebsmodus, wie er in der 12 angedeutet ist, arbeitet das Zwischenspeicherelement 3 i' beispielsweise als JK-Flip-Flop. Dazu sind ein Dateneingang D, ein Takteingang CLK und ein Datenausgang Q vorgesehen.
  • In dem in der 12 angedeuteten Betriebsmodus erfolgt in einem ersten Halbtakt das Einlesen eines logischen Pegels Qi-1 am Dateneingang D. In einem zweiten darauffolgenden Halbtakt wird der am Dateneingang D eingelesene logische Pegel Qi-1 als Zwischenspeicherzustand abgreifbar am Ausgang Q bereitgestellt. D.h., in diesem Betriebsmodus, beispielsweise JK-Flip-Flop, wie er in der 12 angedeutet ist, kann eine Schieberegisterkette aus den Zwischenspeicherelementen 3 13 N ausgebildet werden. Dazu ist in der 10 jeweils ein steuerbarer Schalter 13 zwischen Zwischenspeicherelementen 3 1 und 3 2 und den weiteren hier nicht explizit dargestellten Zwischenspeicherelementen 3 33 N vorgesehen. Der jeweilige steuerbare Schalter 13 wird durch ein Steuersignal CT1, welches von der Steuereinrichtung 6 geliefert wird, angesteuert.
  • Im Wesentlichen erfolgt der Betrieb der Vorrichtung 10 mit einer Start- oder Initialisierungsphase, einer Prüfphase bzw. einem Prüfzeitraum und einer Erkennungs- oder Auswertephase.
  • Während des Prüfzeitraums sind die steuerbaren Schalter 13 geöffnet und die Flip-Flops 3 13 N arbeiten gemäß der 11 als Toggle-Flip-Flops (vgl. Schritt S2 in 1).
  • In dem darauffolgenden Erkennungszeitraum (als Variante von Schritt S3 in 1) werden die Flip-Flops 3 13 N zu einer Schieberegisteranordnung 11 i verschaltet. Dazu werden die Schalter 13 mit Hilfe der Steuereinrichtung 6 und dem Steuersignal CT1 geschlossen, und die Flip-Flop-Einrichtungen 3 13 N in den Betriebszustand gemäß der 12 versetzt. Das Umschaltsignal Ci wird als Taktsignal für die als Schieberegisteranordnung 11 i arbeitende Gruppe von Flip-Flops 3 13 N verwendet, so dass nach N-fachem Takten am Ausgang des letzten Zwischenspeicherelementes 3 N ein Bildmuster Q1–QN, welches mit 9 i bezeichnet ist, ausgelesen wurde. Gleichzeitig kann mit Hilfe des Steuersignals CT2 ein jeweiliger Startzwischenspeicherzustand durch die Schieberegisterkette geführt werden. D.h., mit Hilfe der Schieberegisteranordnung können die Initialisierungsphase und die Erkennungsphase gleichzeitig erfolgen.
  • Das als Prüfbitmuster 9 i bezeichnete Bitmuster wird beispielsweise einer Zählereinrichtung 12 eingeführt, die die Anzahl von H- oder L-Zuständen zählt. Sofern kein Manipulationsversuch vorliegt, müssten alle Zwischenspeicherelemente 3 13 N denselben logischen Zustand haben. Ist dies nicht der Fall, wird ein von N abweichender Wert durch den Zähler 12 ermittelt. Der Zähler 12 ist dabei durch ein Steuersignal CT4 mit der Steuereinrichtung 6 gekoppelt, so dass eine Auswertung des Zählerstandes erfolgen kann. Ferner ist die Steuereinrichtung 6 über ein Steuersignal CT3 mit der sicherheitsrelevanten Hardwareeinrichtung 2 gekoppelt.
  • In der 13 ist ein Ablaufdiagramm für eine Verfahrensvariante zum Betreiben einer sicherheitsrelevanten Vorrichtung angegeben. Es kommen alle in der vorliegenden Anmeldung beschriebenen Vorrichtungen für eine solchen Betreib in Frage.
  • In der 13 erfolgt in einem ersten Schritt S1 eine Initialisierung der Zwischenspeicherinhalte. Beispielsweise wird, wie bereits erläutert wurde, jedes Zwischenspeicherelement in denselben Speicherzustand versetzt. Dabei können die zuvor oder auch im Folgenden erläuterten Vorrichtungen zum Einsatz kommen.
  • In Schritt S21 wird für die Gruppen der jeweilige Prüfzeitraum PZ gestartet und gleichzeitig eine kryptografische Berechnung durch eine Hardwareeinrichtung gestartet. Die kryptografische Berechnung wird im Schritt T1 vollzogen, beispielsweise durch die in den Figuren angedeutete sicherheitsrelevante Hardwareeinrichtung 2.
  • Während der kryptografischen Berechnung erfolgt im Schritt S22 das Togglen bzw. vielfache Umschalten der Zwischenspeicherzustände für jede Gruppe von Zwischenspeicherelementen mit einem jeweiligen Gruppenumschaltsignal. Vorzugsweise erfolgt der Prüfzeitraum gleichzeitig mit dem Berechnungszeitraum für das kryptografische Ergebnis. Das kryptografische Ergebnis wird im Schritt T2 ermittelt, darf aber zu diesem Zeitpunkt noch nicht ausgegeben werden.
  • Im Schritt S31 erfolgt die Auswertung in der Erkennungsphase, ob ein Manipulationsversuch während des Prüfzeitraums (Schritt S22) für jede Gruppe vorgelegen hat. Dies kann durch die zuvor beschriebenen Maßnahmen ermittelt werden.
  • Wird im Schritt S32 ein Manipulationsversuch erkannt, d.h. die erfassten Prüfzwischenspeicherzustände einer Gruppe haben nicht oder nur unzureichend die erwarteten Prüfzwischenspeicherzustände, wird im Schritt T3 das kryptografische Ergebnis gelöscht bzw. nicht freigegeben. Nur wenn im Schritt S32 ein Manipulationsversuch verneint wird, erfolgt im Schritt S4 die Freigabe des kryptografischen Ergebnisses aus dem Schritt T2. D.h., im Schritt T4 wird das kryptografische Ergebnis ausgegeben. Es wird insofern verhindert, dass ein Angreifer, der EMP-Angriffe durchführt, zu einem fehlerhaften kryptografischen Ergebnis gelangt, welches Rückschlüsse auf den eingesetzten kryptographischen Schlüssel zulassen könnte.
  • Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar. Die Verfahrensschritte können insbesondere mehrfach zyklisch durchgeführt werden. Abweichenden Implementierungen von Zwischenspeicherelementen sind ebenso denkbar. Die Anzahl und Gruppierung der Flip-Flops sowie die Signalformen und Taktfrequenzen der Gruppenumschaltsignale können angepasst werden.
  • 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 Patentliteratur
    • US 8531247 B2 [0008]
    • US 8892616 B2 [0008]
    • US 8300811 B2 [0008]
    • US 9147088 B2 [0008]
    • EP 2605445 B1 [0008]
    • EP 2870565 A1 [0008]
    • EP 2891102 A1 [0008]
    • US 8843761 B2 [0008]

Claims (15)

  1. Verfahren zum Betreiben einer Vorrichtung (1), welche insbesondere geeignet ist, ein sicherheitsrelevantes Verfahren, eine Sicherheitsanwendung und/oder eine kryptografische Berechnung durchzuführen, mit den Schritten: Bereitstellen mehrerer Zwischenspeicherelemente (3), wobei ein jeweiliges Zwischenspeicherelement (3) eingerichtet ist, einen Zwischenspeicherinhalt abrufbar bereitzustellen und in Abhängigkeit von einem jeweiligen Umschaltsignal (C) seinen Zwischenspeicherinhalt von einem ersten in einen zweiten Zwischenspeicherzustand (L, H) zu wechseln oder von dem zweiten in den ersten Zwischenspeicherzustand (H, L) zu wechseln; Anordnen der Zwischenspeicherelemente (3) in die oder an der Vorrichtung (1); und Zuordnen eines jeweiligen Zwischenspeicherelements (3 13 N) in eine Gruppe (7 17 N), wobei mehrere Gruppen (7 17 P) vorgesehen werden und jede Gruppe (7 17 P) mehrere Zwischenspeicherelemente (3 13 N) umfasst; wobei für jede (7 i) der Gruppen (7 17 P) die Schritte durchgeführt werden: Über einen vorgebbaren Prüfzeitraum (PZ), Einkoppeln eines Gruppenumschaltsignals (Ci) an die Zwischenspeicherelemente (3 13 N) der jeweiligen Gruppe (7 i) derart, dass die Zwischenspeicherinhalte ihren jeweiligen aktuellen Zwischenspeicherzustand (H, L) ändern; Erfassen, ob die Zwischenspeicherelemente (3 13 N) der jeweiligen Gruppe (7 i) eine gleiche Anzahl von Zwischenspeicherzustandsänderungen in dem Prüfzeitraum (PZ) vollzogen haben; und Erkennen eines Manipulationsversuchs an der Vorrichtung (1), falls eine ungleiche Anzahl von Zwischenspeicherzustandsänderungen für eine Gruppe (7 i) erfasst wurde; und wobei die Gruppenumschaltsignale (C1–CP) voneinander verschieden sind.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jede Gruppe (7 i) gleich viele Zwischenspeicherelemente (3 13 N) umfasst.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass ein jeweiliges Gruppenumschaltsignal (C1–CP) steigende und fallende Taktflanken und eine Taktfrequenz und eine Taktperiode hat.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Gruppenumschaltsignale (C1–CP) voneinander phasenverschoben sind und die jeweiligen Phasenverschiebungen insbesondere über die Taktperiode gleichverteilt sind.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die Vorrichtung (1) mit einem Systemtakt (CLK) betrieben wird, welcher eine Systemtaktfrequenz und eine Systemtaktperiode (TCLK) hat, und die Gruppenumschaltsignale (C1–CP) aus dem Systemtakt (CLK) abgeleitet werden.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Taktfrequenz der Gruppenumschaltsignale (C1–Cp) ein ganzzahliges Vielfaches der Systemtaktfrequenz ist.
  7. Verfahren nach einem der Ansprüche 1–6, dadurch gekennzeichnet, dass die Zwischenspeicherelemente (3 13 N) einer Gruppe in einem jeweiligen räumlichen Bereich in der Vorrichtung (1) derart angeordnet werden, dass sich räumliche Bereiche verschiedener Gruppen (7 17 P) überlappen.
  8. Verfahren nach einem der Ansprüche 1–7, dadurch gekennzeichnet, dass die Zwischenspeicherelemente (3) während des Prüfzeitraums (PZ) als Flip-Flops, insbesondere als Toggle-Flip-Flops betrieben werden.
  9. Verfahren nach einem der Ansprüche 1–8, dadurch gekennzeichnet, dass zum Erfassen, ob die Zwischenspeicherelemente (3) der jeweiligen Gruppe (7 i) eine gleiche Anzahl von Zwischenspeicherzustandsänderungen in dem Prüfzeitraum (PZ) vollzogen haben, die folgenden Schritte durchgeführt werden: Erfassen eines jeweiligen Startzwischenspeicherzustands (H, L) für jedes Zwischenspeicherelement (3) der jeweiligen Gruppe (7 i); Bestimmen von erwarteten Prüfzwischenspeicherzuständen als Funktion der Startzwischenspeicherzustände und der Signalform des jeweiligen eingekoppelten Gruppenumschaltsignals (Ci); Erfassen der Zwischenspeicherinhalte nach dem Prüfzeitraum (PZ) als Prüfzwischenspeicherzustände; und Erkennen eines Manipulationsversuchs an der Vorrichtung (1), falls die erfassten Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen einer jeweiligen Gruppe (7 i) abweichen.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Zwischenspeicherelemente (3) einer jeweiligen Gruppe (7 i) zum Erkennen einer Abweichung der Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen als eine Schieberegisteranordnung (11 i) betrieben werden.
  11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass die Zwischenspeicherelemente (3) einer jeweiligen Gruppe in Untergruppen angeordnet und verschaltet werden, wobei eine jeweilige Untergruppe von Zwischenspeicherelementen als Schieberegisteranordnung betreibbar ist.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Prüfzwischenspeicherzustände einer Gruppe (7 i) oder Untergruppe ein jeweiliges Prüfbitmuster (9 19 P) bilden und zum Erkennen einer Abweichung der Prüfzwischenspeicherzustände von den erwarteten Prüfzwischenspeicherzuständen einer jeweiligen Gruppe (7 i) ein Unterschiedsmaß, insbesondere ein Hamming-Abstand, zwischen den Prüfbitmustern (9 19 P) der Gruppen (7 17 P) oder den Prüfbitmustern einer jeweiligen Untergruppe ermittelt wird.
  13. Verfahren nach einem der Ansprüche 1–12, dadurch gekennzeichnet, dass mit Hilfe der Vorrichtung (1) während des Prüfzeitraums (PZ) eine kryptografische Berechnung zum Erzeugen eines kryptografischen Ergebnisses durchgeführt wird und das kryptografische Ergebnis nur dann ausgegeben wird, falls kein Manipulationsversuch (A) während des Prüfzeitraums (PZ) erkannt wird.
  14. Verfahren nach einem der Ansprüche 1–13, dadurch gekennzeichnet, dass das Erfassen, ob die Zwischenspeicherelemente (3) der jeweiligen Gruppe (7 i) eine gleiche Anzahl von Zwischenspeicherzustandsänderungen vollzogen haben zu einem jeweiligen vorgebbaren Prüfzeitpunkt erfolgt, und für jede Gruppe (7 17 P) ein jeweiliger laufender Prüfzeitraum (PZ) einem aktuellen Prüfzeitpunkt zugeordnet wird.
  15. Vorrichtung (1) mit: einer Hardwareeinrichtung (2), welche insbesondere geeignet ist, ein sicherheitsrelevantes Verfahren, eine Sicherheitsanwendung und/oder eine kryptografische Berechnung computerimplementiert durchzuführen oder eine kryptografische Anwendung festverdrahtet bereitstellt; mehreren Zwischenspeicherelementen (3), wobei ein jeweiliges Zwischenspeicherelement (3) eingerichtet ist, einen Zwischenspeicherinhalt abrufbar bereitzustellen und in Abhängigkeit von einem Umschaltsignal (C) seinen Zwischenspeicherinhalt von einem ersten in einen zweiten Zwischenspeicherzustand (L, H) zu wechseln oder von dem zweiten in den ersten Zwischenspeicherzustand (H, L) zu wechseln; und mit einer Steuereinrichtung (6), welche die Durchführung eines Verfahrens nach einem der Ansprüche 1–14 veranlasst.
DE102016200907.9A 2016-01-22 2016-01-22 Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung Withdrawn DE102016200907A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016200907.9A DE102016200907A1 (de) 2016-01-22 2016-01-22 Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016200907.9A DE102016200907A1 (de) 2016-01-22 2016-01-22 Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung

Publications (1)

Publication Number Publication Date
DE102016200907A1 true DE102016200907A1 (de) 2017-07-27

Family

ID=59296116

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016200907.9A Withdrawn DE102016200907A1 (de) 2016-01-22 2016-01-22 Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung

Country Status (1)

Country Link
DE (1) DE102016200907A1 (de)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851985A (en) * 1985-04-15 1989-07-25 Logitek, Inc. Fault diagnosis system for comparing counts of commanded operating state changes to counts of actual resultant changes
WO1999035554A2 (en) * 1997-12-30 1999-07-15 Koninklijke Philips Electronics N.V. Method and apparatus for protection of data on an integrated circuit by using memory cells to detect tampering
US20090284349A1 (en) * 2005-07-05 2009-11-19 Rohde & Schwarz Gmbh & Co. Kg Method for Tamperproof Identification of Individual Electronic Sub-Assemblies
US7979482B2 (en) * 2004-03-18 2011-07-12 Infineon Technologies Ag Random number generator configured to combine states of memory cells
US8300811B2 (en) 2008-12-10 2012-10-30 Siemens Aktiengesellschaft Method and device for processing data
US8531247B2 (en) 2008-04-14 2013-09-10 Siemens Aktiengesellschaft Device and method for generating a random bit sequence
US8843761B2 (en) 2007-08-16 2014-09-23 Siemens Aktiengesellschaft Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running
US8892616B2 (en) 2007-08-27 2014-11-18 Siemens Aktiengesellschaft Device and method for generating a random bit sequence
EP2870565A1 (de) 2012-09-28 2015-05-13 Siemens Aktiengesellschaft Überprüfung einer integrität von eigenschaftsdaten eines gerätes durch ein prüfgerät
EP2891102A1 (de) 2013-01-02 2015-07-08 Siemens Aktiengesellschaft Rfid-tag und verfahren zum betreiben eines rfid-tags
US9147088B2 (en) 2011-04-18 2015-09-29 Siemens Aktiengesellschaft Method for monitoring a tamper protection and monitoring system for a field device having tamper protection
EP2605445B1 (de) 2011-12-14 2015-09-30 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851985A (en) * 1985-04-15 1989-07-25 Logitek, Inc. Fault diagnosis system for comparing counts of commanded operating state changes to counts of actual resultant changes
WO1999035554A2 (en) * 1997-12-30 1999-07-15 Koninklijke Philips Electronics N.V. Method and apparatus for protection of data on an integrated circuit by using memory cells to detect tampering
US7979482B2 (en) * 2004-03-18 2011-07-12 Infineon Technologies Ag Random number generator configured to combine states of memory cells
US20090284349A1 (en) * 2005-07-05 2009-11-19 Rohde & Schwarz Gmbh & Co. Kg Method for Tamperproof Identification of Individual Electronic Sub-Assemblies
US8843761B2 (en) 2007-08-16 2014-09-23 Siemens Aktiengesellschaft Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running
US8892616B2 (en) 2007-08-27 2014-11-18 Siemens Aktiengesellschaft Device and method for generating a random bit sequence
US8531247B2 (en) 2008-04-14 2013-09-10 Siemens Aktiengesellschaft Device and method for generating a random bit sequence
US8300811B2 (en) 2008-12-10 2012-10-30 Siemens Aktiengesellschaft Method and device for processing data
US9147088B2 (en) 2011-04-18 2015-09-29 Siemens Aktiengesellschaft Method for monitoring a tamper protection and monitoring system for a field device having tamper protection
EP2605445B1 (de) 2011-12-14 2015-09-30 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
EP2870565A1 (de) 2012-09-28 2015-05-13 Siemens Aktiengesellschaft Überprüfung einer integrität von eigenschaftsdaten eines gerätes durch ein prüfgerät
EP2891102A1 (de) 2013-01-02 2015-07-08 Siemens Aktiengesellschaft Rfid-tag und verfahren zum betreiben eines rfid-tags

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Flip-Flop. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 18. Januar 2016. URL: https://de.wikipedia.org/w/index.php?title=Flipflop&oldid=150377711 [abgerufen am 14. November 2016] *
Flip-Flop. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 18. Januar 2016. URL: https://de.wikipedia.org/w/index.php?title=Flipflop&oldid=150377711 [abgerufen am 14. November 2016]
Schieberegister. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 5. August 2015. URL: https://de.wikipedia.org/wiki/Schieberegister?oldid=144751866 [abgerufen am 14. November 2016] *
Schieberegister. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 5. August 2015. URL: https://de.wikipedia.org/wiki/Schieberegister?oldid=144751866 [abgerufen am 14. November 2016]

Similar Documents

Publication Publication Date Title
DE112017000048B4 (de) Taktperiodenrandomisierung zur Verteidigung gegen kryptographische Angriffe
DE2615861C3 (de) Schaltungsanordnung zur Prüfung von Programmen
EP1643643B1 (de) Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
DE102012217716A1 (de) Selbst-Test einer Physical Unclonable Function
DE10128573A1 (de) Verhindern der unerwünschten externen Erfassung von Operationen in integrierten Digitalschaltungen
DE102019122145A1 (de) Gesicherte x-modulare redundanz
DE10103071A1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl
DE102015110144B4 (de) Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE102013204274A1 (de) Verfahren zum Erkennen einer Korrelation
DE102017104441A1 (de) Zufälligkeitstestvorrichtung und Verfahren für einen Zufallszahlengenerator
DE102016200850A1 (de) Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung
DE102016200907A1 (de) Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung
DE102021121328A1 (de) System und Verfahren zur Steuerung einer Logikschaltung mit nicht-deterministischer Taktflankenvariation
DE102015209120A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
DE102011107104B4 (de) Tragbares Sicherheitsmodul und Verfahren zu dessen Betrieb zur Abwehr eines Angriffs in Echtzeit per Mustererkennung
DE102014203649A1 (de) Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits
DE102013213095A1 (de) Erzeugen von einer Anzahl von Zufallsbits
DE102015010518A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallszahlen
DE102013213392A1 (de) Verfahren zur Beurteilung einer Ausgabe eines Zufallsgenerators
DE102006012635A1 (de) Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung
DE102022102312B3 (de) Integrierte schaltung und verfahren zum schutz einer integrierten schaltung gegen reverse engineering
DE102013213385A1 (de) Verfahren zur Beurteilung einer Ausgabe eines Zufallsgenerators
DE102015209123A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
DE102015207926A1 (de) Prüfen einer Authentizität einer rückgekoppelten Schaltkreiseinheit
DE102015222968A1 (de) Betriebsverfahren für eine elektronische Vorrichtung und elektronische Vorrichtung

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee