DE102007053295B4 - Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung - Google Patents

Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung Download PDF

Info

Publication number
DE102007053295B4
DE102007053295B4 DE102007053295A DE102007053295A DE102007053295B4 DE 102007053295 B4 DE102007053295 B4 DE 102007053295B4 DE 102007053295 A DE102007053295 A DE 102007053295A DE 102007053295 A DE102007053295 A DE 102007053295A DE 102007053295 B4 DE102007053295 B4 DE 102007053295B4
Authority
DE
Germany
Prior art keywords
circuit
logic circuit
data
test
input data
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.)
Active
Application number
DE102007053295A
Other languages
English (en)
Other versions
DE102007053295A1 (de
Inventor
Marcus Janke
Peter Dr. Laackmann
Franz Klug
Stefan Dr. Rüping
Dirk Dr. Rabe
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102007053295A priority Critical patent/DE102007053295B4/de
Priority to US12/268,226 priority patent/US7996742B2/en
Publication of DE102007053295A1 publication Critical patent/DE102007053295A1/de
Application granted granted Critical
Publication of DE102007053295B4 publication Critical patent/DE102007053295B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

Schaltungsanordnung mit
– einer Logikschaltung (1), ausgebildet aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, wobei die Logikschaltung ausgebildet ist, zu detektieren, ob der Zusammenhang erfüllt ist, und ein Fehlersignal (V) bereitzustellen, wenn der Zusammenhang nicht erfüllt ist, und
– einer Testschaltung (3), ausgebildet, die logikschaltungsinternen Verknüpfungen (2) zu verändern, wobei die Testschaltung (3) ferner ausgebildet ist, das Fehlersignal (V) zu detektieren, und ausgebildet ist, ein Alarmsignal (A) auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen (2) das Fehlersignal (V) nicht detektiert wird,
– wobei die Logikschaltung (1) ein kryptografisches Rechenwerk (9) umfasst,
– wobei die logikschaltungsinternen Verknüpfungen (2) einen Schlüssel (K) in dem kryptografischen Rechenwerk (9) bereitstellen,
– wobei das kryptografische Rechenwerk...

Description

  • Die Erfindung betrifft Schaltungsanordnungen und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung.
  • Schaltungsanordnungen, wie sie beispielsweise in Chipkarten eingesetzt werden, können Angriffen ausgesetzt sein. Zur Abwehr solcher Angriffe sind üblicherweise Gegenmaßnahmen vorgesehen, die nach Detektion eines Angriffes ausgelöst werden. Diese Gegenmaßnahmen sollen das Ausspionieren von Daten oder der Funktionsweise der Schaltungsanordnung zumindest erschweren.
  • Zur Erkennung eines Angriffes können beispielsweise analoge Sensoren eingesetzt werden, welche eine Veränderung der Betriebsbedingungen detektieren. Solche Sensoren können als Spannungssensor, Frequenzsensor, Temperatursensor oder Lichtsensor ausgebildet sein. Wenn der gemessene Wert einen vorgegebenen Schwellwert überschreitet, wird ein Alarm ausgelöst, infolgedessen die Gegenmaßnahmen ausgelöst werden.
  • Um die Funktionsfähigkeit der Sensoren zu überprüfen, kann eine so genannte ”Usermode Sensor Life Control”, kurz „UmSLC” eingesetzt werden. Während eines Tests werden die Sensoren durch die UmSLC derart verstellt oder stimuliert, dass ein Alarm ausgelöst wird. In Reaktion auf diesen Alarm werden im Testbetrieb jedoch üblicherweise keine Gegenmaßnahmen eingeleitet, sondern es wird lediglich überprüft, ob der Alarm nach Verstellen oder Stimulieren des Sensors generiert wird. Falls der Alarm ausbleibt, lässt dieses auf einen Angriff schließen, bei dem der Sensor manipuliert oder außer Betrieb gesetzt worden ist. Dieses Vorgehen dient als Funktionstest von Schaltungsanordnungen mit analogen Sensoren. Für Logikschaltungen, deren Funktionalität zu überprüfen ist, kann das herkömmliche UmSLC, das auf den Test analoger Sensoren ausgerichtet ist, nicht eingesetzt werden.
  • In DE 10 2006 001 872 A1 wird eine Recheneinrichtung mit einer Fehlererkennungseinrichtung beschrieben, die über eine Kontrolleinrichtung überwacht wird, wobei die Kontrolleinrichtung ausgebildet ist, die Recheneinrichtung zu manipulieren.
  • Es ist Aufgabe der vorliegenden Erfindung, Vorrichtungen und Verfahren zu schaffen, die eine erhöhte Sicherheit gegenüber Angriffen auf eine Schaltungsanordnung ermöglichen.
  • Die Aufgabe wird gelöst durch die Gegenstände der unabhängigen Patentansprüche.
  • Es ist eine Schaltungsanordnung mit einer zu testenden Logikschaltung und einer Testschaltung vorgesehen. Die Logikschaltung ist ausgebildet, aus Eingangsdaten Ausgangsdaten bereitzustellen, die durch logikschaltungsinterne Verknüpfungen aus den Eingangsdaten generiert werden, sodass die Ausgangsdaten in einem vorgegebenen Zusammenhang mit den Eingangsdaten stehen. Die Logikschaltung ist ausgebildet, zu detektieren, ob der Zusammenhang erfüllt ist und ein Fehlersignal bereitzustellen, wenn der Zusammenhang nicht erfüllt ist. Die Testschaltung ist ausgebildet, Zustände der logikschaltungsinternen Verknüpfungen zu verändern. Die Testschaltung ist ferner ausgebildet, das Fehlersignal zu detektieren, und ist ausgebildet, ein Alarmsignal auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen das Fehlersignal nicht detektiert wird.
  • Die Schaltungsanordnung ermöglicht es, die Funktionsfähigkeit der Logikschaltung zu testen, um daraus auf einen Angriff zu schließen. Ferner wird getestet, ob die Logikschaltung funktionsfähig ist, im Falle eines Angriffs ein Alarmsignal auszugeben.
  • Ein Verfahren zur Funktionalitätsprüfung solch einer Logikschaltung, die aus Eingangsdaten Ausgangsdaten bereit stellt, die durch logikschaltungsinterne Verknüpfungen aus den Eingangsdaten generiert werden, sodass die Ausgangsdaten in einem vorgegebenen Zusammenhang mit den Eingangsdaten stehen, wobei die Logikschaltung ausgebildet ist, zu detektieren, ob der Zusammenhang erfüllt ist und ein Fehlersignal bereitzustellen, wenn der Zusammenhang nicht erfüllt ist, sieht Folgendes vor: Die logikschaltungsinternen Verknüpfungen werden durch eine Testschaltung verändert. Es wird detektiert, ob das Fehlersignal generiert worden ist, und ein Alarmsignal wird generiert, wenn das Fehlersignal nicht detektiert worden ist.
  • Es ist ferner eine Schaltungsanordnung mit einer zu testenden Logikschaltung und einer Testschaltung vorgesehen. Die Logikschaltung stellt aus Eingangsdaten Ausgangsdaten bereit, die durch logikschaltungsinterne Verknüpfungen aus den Eingangsdaten generiert werden, sodass die Ausgangsdaten in einem vorgegebenen Zusammenhang mit den Eingangsdaten stehen. Die Testschaltung ist derart an die Logikschaltung gekoppelt, dass die logikschaltungsinternen Verknüpfungen veränderbar sind, wobei die Testschaltung ausgebildet ist, ein Alarmsignal auszugeben, wenn bei Veränderung der logikschaltungsinterne Verknüpfungen die Ausgangsdaten im vorgegebenen Zusammenhang mit den Eingangsdaten stehen.
  • Die Schaltungsanordnungen ermöglichen es, die Funktionsfähigkeit der Logikschaltung zu testen, um daraus auf einen Angriff zu schließen.
  • Ein Verfahren zur Funktionalitätsprüfung einer Logikschaltung, ausgebildet aus Eingangsdaten Ausgangsdaten bereitzustellen, die durch logikschaltungsinterne Verknüpfungen aus den Eingangsdaten generiert werden, sodass die Ausgangsdaten in einem vorgegebenen Zusammenhang mit den Eingangsdaten stehen, umfasst Folgendes: Die logikschaltungsinternen Verknüpfungen werden verändert. Eingangsdaten werden angelegt. Ausgangsdaten werden generiert und detektiert. Ein Alarmsignal wird ausgegeben, wenn die Ausgangsdaten im vorgegebenen Zusammenhang mit den Eingangsdaten stehen.
  • Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den untergeordneten Patentansprüchen angegeben.
  • Nachfolgend wird die Erfindung unter Bezugnahme auf die Zeichnung anhand von Ausführungsbeispielen erklärt.
  • 1 zeigt ein Ausführungsbeispiel einer Schaltungsanordnung.
  • 2 zeigt ein weiteres Ausführungsbeispiel einer Schaltungsanordnung.
  • 3 zeigt anhand eines Ablaufdiagramms ein Verfahren zum Testen einer Schaltungsanordnung.
  • 4 zeigt anhand eines Ablaufdiagramms ein weiteres Verfahren zum Testen einer Schaltungsanordnung.
  • 5 zeigt ein Bussystem.
  • 6 zeigt beispielhafte zeitliche Signalverläufe in einem Bussystem.
  • 7 zeigt ein Ausführungsbeispiel mit einem kryptografischen Rechenwerk.
  • 8 zeigt ein weiteres Ausführungsbeispiel mit einem kryptografischen Rechenwerk.
  • 9 zeigt ein Ausführungsbeispiel eines kryptografischen Rechenwerks.
  • 10 zeigt ein Ausführungsbeispiel eines kryptografischen Rechenwerks.
  • 11 zeigt ein Ausführungsbeispiel eines kryptografischen Rechenwerks.
  • 12 zeigt ein Ausführungsbeispiel eines kryptografischen Rechenwerks.
  • 13 zeigt ein Ausführungsbeispiel eines kryptografischen Rechenwerks.
  • 14 zeigt ein Ausführungsbeispiel mit einer Schaltungsanordnung.
  • 15 zeigt ein weiteres Ausführungsbeispiel mit einer Schaltungsanordnung.
  • 16 zeigt ein Ausführungsbeispiel mit einem kryptografischen Rechenwerk.
  • 17 zeigt ein Ausführungsbeispiel mit einer Speicherverschlüsselungsvorrichtung.
  • 18 zeigt ein Ausführungsbeispiel mit einer Speicherverschlüsselungsvorrichtung.
  • 19 zeigt ein Ausführungsbeispiel mit einer Speicherverschlüsselungsvorrichtung.
  • 20 zeigt ein Ausführungsbeispiel mit einer Speicherverschlüsselungsvorrichtung.
  • 21 zeigt ein Ausführungsbeispiel mit einem Dekoder.
  • 1 zeigt ein Ausführungsbeispiel der Schaltungsanordnung. Die Schaltungsanordnung umfasst eine zu testende Logikschaltung 1 und eine Testschaltung 3. Eine Logikschaltung 1 ist ausgebildet, aus Eingangsdaten E1, E2, E3 Ausgangsdaten S bereitzustellen, die durch logikschaltungsinterne Verknüpfungen 2 aus den Eingangsdaten E1, E2, E3 generiert werden, sodass die Ausgangsdaten S in einem vorgegebenen Zusammenhang mit den Eingangsdaten E1, E2, E3 stehen. Die Logikschaltung 1 ist ausgebildet, zu detektieren, ob der Zusammenhang erfüllt ist und ein Fehlersignal V an einem Ausgang 19 bereitzustellen, wenn der Zusammenhang nicht erfüllt ist. Die Testschaltung 3 ist ausgebildet, die logikschaltungsinternen Verknüpfungen 2 zu verändern. Die Testschaltung 3 ist ausgebildet, das Fehlersignal V zu detektieren, und ferner ausgebildet, ein Alarmsignal A auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen 2 das Fehlersignal V nicht detektiert wird.
  • Die Testschaltung ermöglicht, durch gezielte Veränderung der logikschaltungsinternen Verknüpfungen 2 einen Angriff zu simulieren, mit dem die Funktionsfähigkeit der Logikschaltung 1 überprüft wird.
  • Es sei bemerkt, dass Ausführungsbeispiele der logikschaltungsinternen Verknüpfungen 2 Schaltungselemente zur digitalen Datenverarbeitung umfassen. Ein Ausführungsbeispiel umfasst Schaltungen zur Umsetzung logischer Operation, wie eine UND-Verknüpfung oder eine ODER-Verknüpfung. Ein Ausführungsbeispiel umfasst ein Speicherelement. Ein Ausführungsbeispiel umfasst einen Multiplexer. Ein Ausführungsbeispiel umfasst eine leitende Verbindung, die unterbrechbar ist. Ein Ausführungsbeispiel umfasst eine leitende Verbindung, deren Kopplung von einem Potenzialknoten auf einen anderen hin umschaltbar ist. Ein Ausführungsbeispiel umfasst einen Schalter. In Ausführungsbeispielen bewirkt die Änderung eine Veränderung des logischen Zustands im Schaltungselement. In anderen Ausführungsbeispielen bewirkt die Änderung eine Veränderung der Kopplungen innerhalb der logikschaltungsinternen Verknüpfungen, beispielsweise durch Veränderung der Schalterstellung.
  • 2 zeigt ein weiteres Ausführungsbeispiel einer Schaltungsanordnung. Es sei bemerkt, dass gleiche Merkmale mit gleichen Bezugszeichen versehen sind.
  • Die Schaltungsanordnung umfasst eine Logikschaltung 1 und eine Testschaltung 3. Die Logikschaltung generiert aus den Eingangsdaten E1, E2, E3 die Ausgangsdaten S, indem die Eingangsdaten in logikschaltungsinternen Verknüpfungen 2 verarbeitet werden. Die Ausgangsdaten S stehen in einem vorgegebenen Zusammenhang mit den Eingangsdaten E1, E2, E3. Dieser vorgegebene Zusammenhang ist durch die logikschaltungsinternen Verknüpfungen vorgegeben, mittels derer die Generierung der Ausgangsdaten S aus den Eingangsdaten E1, E2, E3 erfolgt.
  • Die Testschaltung 3 ist ausgebildet, die logikschaltungsinternen Verknüpfungen 2 zu verändern. Dadurch wird in die Generierung der Ausgangsdaten S eingegriffen, sodass der vorgegebene Zusammenhang in der Regel nicht mehr erfüllt ist.
  • Es ist ferner eine Fehlerdetektionsvorrichtung 96 vorgesehen, die an die logikschaltungsinternen Verknüpfungen 2 gekoppelt ist. Die Fehlerdetektionsvorrichtung 96 ist ausgebildet, zu überprüfen, ob der vorgegebene Zusammenhang erfüllt ist und ein Fehlersignal V bereitzustellen, wenn dieses nicht der Fall ist.
  • Die Schaltungsanordnung umfasst ferner eine Alarmvorrichtung 4, die ausgebildet ist, eine Alarmreaktion auszulösen, wenn das Fehlersignal V eingangsseitig detektiert wird.
  • Die Alarmreaktion dient dazu, Angriffen zu begegnen. Sie kann vielfältiger Natur sein. In einem Ausführungsbeispiel umfasst die Alarmreaktion die Datenverarbeitung zu unterbrechen. In einem Ausführungsbeispiel werden Speicher und/oder Register gelöscht. Alternativ oder zusätzlich kann vorgesehen sein, den Schaltungsbetrieb herunterzufahren, was auch als Reset bezeichnet wird.
  • Über einen Schalter 5 ist der Ausgang 19, an dem das Fehlersignal V bereitgestellt wird, an die Alarmvorrichtung 4 oder an die Testschaltung 3 koppelbar.
  • In einem normalen Betrieb sind die Logikschaltung 1 und die die Alarmvorrichtung 4 gekoppelt, sodass bei Detektion des Fehlersignals V die Alarmreaktion ausgelöst wird.
  • In einem Testbetrieb, bei dem die Funktionsfähigkeit der Logikschaltung, insbesondere deren Fehlererkennungsfunktion, überprüft wird, ist die Logikschaltung 1 an die Testschaltung 3 gekoppelt, sodass die Testschaltung 3 das Fehlersignal V detektieren kann. Wenn das Fehlersignal V nach Zustandsveränderung der logikschaltungsinternen Verknüpfungen 2 von der Testschaltung 4 detektiert wird, lässt dies auf die korrekte Funktionsweise der Fehlerdetektion schließen. Ein Angriff, der die Fehlerdetektion manipuliert hat, liegt nicht vor.
  • 3 veranschaulicht ein Verfahren zur Funktionalitätsprüfung einer Logikschaltung 1, die aus Eingangsdaten E1, E2, E3 durch logikschaltungsinterne Verknüpfungen 2 Ausgangsdaten S generiert, sodass die Ausgangsdaten S in einem vorgegebenen Zusammenhang mit den Eingangsdaten E1, E2, E3 stehen, wobei die Logikschaltung 1 detektiert, ob der Zusammenhang erfüllt ist und ein Fehlersignal V bereit stellt, wenn der Zusammenhang nicht erfüllt ist. Das Verfahren umfasst: Verändern der logikschaltungsinternen Verknüpfungen 2 durch eine Testschaltung 3, wie in Block 110 veranschaulicht; Detektieren, ob das Fehlersignal V generiert worden ist, wie in Block 120 veranschaulicht, und Bereitstellen eines Alarmsignals A, wenn das Fehlersignal V nicht detektiert worden ist, wie in Block 130 veranschaulicht.
  • In einem normalen Betrieb wird eine Alarmreaktion ausgelöst, wenn das Fehlersignal V detektiert wird, ohne dass zuvor die Veränderung der logikschaltungsinternen Verknüpfungen 2 initiiert worden ist. In solch einem Fall ist das Fehlersignal V Indikator eines Angriffs. Die Alarmreaktion dient dazu den Angriff abzuwehren, beispielsweise indem die Schaltung heruntergefahren wird.
  • Die Alarmreaktion wird in einem Testbetrieb, in dem die Veränderung der logikschaltungsinternen Verknüpfungen 2 initiiert worden ist, nicht ausgelöst, wenn das Fehlersignal V detektiert wird.
  • 4 zeigt ein weiteres Verfahren, das ein Umschalten zwischen dem normalen Betrieb und dem Testbetrieb veranschaulicht.
  • Zum Umschalten in den Testbetrieb wird im Schritt 140 der Fehlersignalausgang 19, an dem das Fehlersignal V bereitgestellt wird, umgeschaltet. Die Umschaltung erfolgt derart, dass das Fehlersignal V, wenn es generiert wird, der Testschaltung 3 bereitgestellt wird. Im folgenden Schritt 150 werden die logikschaltungsinternen Verknüpfungen 2 verändert. Im Schritt 160 wird überprüft, ob das Fehlersignalsignal V aktiviert worden ist. Wenn dieses nicht der Fall ist, kann auf einen Angriff geschlossen werden. Alternativ ist auch denkbar, dass die Logikschaltung 1, insbesondere die Fehlerdetektionsvorrichtung 96, fehlerhaft ist. Wenn kein Fehlersignal V detektiert wird, wird ein Alarmsignal bereitgestellt, wie in Block 170 veranschaulicht.
  • Wenn das Fehlersignal V im Schritt 160 detektiert worden ist, wird das Verändern der logikschaltungsinternen Verknüpfungszustände im Schritt 180 rückgängig gemacht. Es wird im Schritt 190 überprüft, ob das Fehlersignal V danach noch aktiviert ist. Ist dieses der Fall, wird im Schritt 210 abgewartet bis dem nicht mehr so ist. Anschließend wird im Schritt 200 der Fehlersignalausgang 19 zurückgeschaltet, sodass die Schaltung in den normalen Betrieb zurückgeschaltet wird.
  • Es sei bemerkt, dass im normalen Betrieb die Detektion des Fehlersignals V zur Auslösung der Alarmreaktion führen würde.
  • 5 zeigt ein Beispiel, bei dem die Logikschaltung als Bussystem 11, 12 ausgebildet ist. Das Bussystem 11, 12 umfasst eine Vielzahl von Busleitungen 12, an denen Daten D1, D2, D3, D4, D5, D6, D7 anliegen.
  • Das Bussystem 11, 12 umfasst ferner eine Fehlerdetektionsvorrichtung, die als Paritätsfehlerkennung 11 ausgebildet ist. Eine zu überprüfende Gruppe Bits wird dahin gehend überprüft, ob sie eine ungerade oder gerade Zahl eines vorgegebenen Zustands umfasst. Dieses Ergebnis wird mit einem Kontrollbit verglichen, das angibt, ob eine ungerade oder gerade Zahl des vorgegebenen Zustands vorliegen müsste. Wenn das Ergebnis und das Kontrollbit sich unterscheiden, liegt ein Fehler vor. Die Paritätsfehlerkennung 11 ist ausgebildet, bei Detektion eines Fehlers das Fehlersignal V auszugeben.
  • Ein Ausführungsbeispiel der Fehlerdetektionsvorrichtung ist ausgebildet, basierend auf fehlererkennender Codierung (Error Detection Codes, EDC) eine Fehlerdetektion auszuführen. Damit sind ein oder mehrere Fehler detektierbar.
  • Die Fehlerdetektion ist in einem Ausführungsbeispiel für Bitsequenzen auf einer Busleitung 12 vorgesehen. In einem Ausführungsbeispiel erfolgt die Fehlerdetektion für die Bits mehrerer Busleitungen 12 parallel. In einem Ausführungsbeispiel werden diese Ansätze kombiniert.
  • Ferner ist eine Testschaltung 3 mit einem Ausgang 31 und einer Alarmvorrichtung 4 vorgesehen. Das Fehlersignal V ist über einen Schalter 5 an die Testschaltung 3 oder an die Alarmvorrichtung 4 koppelbar.
  • Die Testschaltung 3 ist über ein Kopplungselement 6 an das Bussystem 11, 12 gekoppelt. Im dargestellten Ausführungsbeispiel ist das Kopplungselement 6 an eine der Busleitungen 12 gekoppelt. In einem weiteren Ausführungsbeispiel ist die Testschaltung 3 an mehrere Busleitungen 12 gekoppelt. Die Testschaltung generiert ein Testsignal T, das am Kopplungselement 6 anliegt. Das Testsignal T ist geeignet, die Umschaltung von Zuständen zu initiieren.
  • Das Kopplungselement 6 ist in einem Ausführungsbeispiel als Exklusiv-ODER-Verknüpfung ausgebildet, sodass die Daten der daran gekoppelten Busleitung 12 invertierbar sind.
  • In einem Ausführungsbeispiel werden durch das Kopplungselement 6 vorgegebene Daten auf die Busleitungen 12 aufgeprägt. Ein solches Aufprägen wird auch als „Stuck-at-1” beziehungsweise „Stuck-at-0” bezeichnet. Die Bezeichnung hängt vom aufgeprägten Zustand, logisch „1” beziehungsweise logisch „0”, ab.
  • Es sei bemerkt, dass eine Kombination und/oder eine Nacheinanderschaltung von Merkmalen der Ausführungsbeispiele, insbesondere die Kopplungselemente betreffend, denkbar sind.
  • Im normalen Betrieb ist die Paritätsfehlerkennung 11 an die Alarmvorrichtung 4 gekoppelt, sodass im Falle eines detektierten Fehlers die Ausgabe des Fehlersignals V die Alarmreaktion zur Folge hat.
  • Im Testbetrieb wird die Funktionsfähigkeit der Fehlerdetektion überprüft. Wenn diese nicht gegeben ist, lässt das auf einen möglichen Angriff schließen.
  • Das Umschalten in den Testbetrieb wird von der Testschaltung 3 initiiert. Der Schalter koppelt den Ausgang der Paritätsfehlerkennung 11, an dem das Fehlersignal V bereitgestellt wird, an die Testschaltung 3. Dadurch wird das Fehlersignal V umgeleitet.
  • Danach wird ein Fehler im Bussystem 11, 12 durch die Testschaltung 3 simuliert. Das Testsignal T wird an das Kopplungselement 6 angelegt, sodass das Datensignal D1 der Busleitung 12 verändert wird. Dadurch wird der vorgegebene Zusammenhang der Daten auf den Busleitungen 12 verändert. Die Daten korrespondieren nicht mehr mit dem Kontrollbit. Dieses wird als Fehler detektiert, und das Fehlersignal V wird ausgegeben.
  • Die Testschaltung 3 überprüft, ob nach der erfolgten Fehlersimulation das Fehlersignal V aktiviert worden ist. Wenn das Fehlersignal V nicht detektiert wird, generiert die Testschaltung 3 ein Alarmsignal, um die fehlerhafte Funktion des Bussystems 11, 12 anzuzeigen. Das Alarmsignal wird am Ausgang 31 bereitgestellt.
  • Wenn das Fehlersignal V nach der erfolgten Fehlersimulation detektiert worden ist, wird die Fehlersimulation beendet und die Rücknahme des Fehlersignals V abgewartet. Der Ausgang der Paritätsfehlerkennung 11, an dem das Fehlersignal V bereitgestellt wird, wird wieder auf die Alarmvorrichtung 4 zurückgeschaltet.
  • 6 zeigt Zeitsignalverläufe auf einer Busleitung 12, die Datenmanipulationen durch die Testschaltung 3 beispielhaft verdeutlichen.
  • Ein Datensignal D ist über der Zeitachse t aufgetragen. Das Datensignal D kann entweder einen ersten Zustand (logisch „0”) oder einen zweiten Zustand (logisch „1”) annehmen. Der Verlauf des von der Testschaltung 3 bereitgestellten Testsignals T über der Zeitachse t ist ebenfalls dargestellt.
  • Signale S1, S2, S3 sind Ausgangsignale verschiedener Ausführungsbeispiele des Kopplungselements 6.
  • Das erste Signal S1 resultiert aus der Exklusiv-ODER-Verknüpfung des Datensignals D und dem Testsignal T. Die Exklusiv-ODER-Verknüpfung bewirkt, dass das Datensignal D und das erste Signal S1 übereinstimmen, wenn das Testsignals T den ersten Zustand hat. Nach dem Übergang des Testsignals T in den zweiten Zustand sind das erste Signal S1 und das Datensignal D invers.
  • Das zweite Signal S2 resultiert aus einer Stuck-at-1-Verknüpfung. Das zweite Signal S2 nimmt den zweiten Zustand an, wenn das Testsignal T in den zweiten Zustand übergeht. In einem Ausführungsbeispiel wird eine Stuck-at-1-Verknüpfung mittels einer logischen ODER-Verknüpfung generiert.
  • Das dritte Signal S3 resultiert aus einer Stuck-at-0-Verknüpfung. Das dritte Signal S3 nimmt den ersten Zustand an, wenn das Testsignal T in den zweiten Zustand übergeht. In einem Ausführungsbeispiel wird eine Stuck-at-0-Verknüpfung mittels einer logischen UND-Verknüpfung mit einem invertierten Test-Signal-Eingang generiert.
  • 7 zeigt ein Ausführungsbeispiel einer Schaltungsanordnung mit einem kryptografischen Rechenwerk 9. Ein kryptografisches Rechenwerk ist ausgebildet, symmetrische Verschlüsselungen oder asymmetrische Verschlüsselungen durchzuführen. Ausführungsbeispiel einer symmetrischen Verschlüsselung sind DES und AES. Ein Ausführungsbeispiel einer asymmetrischen Verschlüsselung ist RSA. Ausführungsbeispiele von kryptografischen Rechenwerken sind ausgebildet, Sonderfunktionen bereitzustellen, die die Verschlüsselungsberechnungen bzw. Entschlüsselungsberechnungen schnell und effektiv gestalten. In einem Ausführungsbeispiel ist die Verschlüsselungsoperation oder die Entschlüsselungsoperation oder Teile davon fest verdrahtet vorgesehen.
  • In einem Ausführungsbeispiel ist das kryptografische Rechenwerk 9 ausgebildet, Fehler durch algorithmische Funktionen in der Ansteuersoftware zu detektieren. In diesem Fall ist eine entsprechende Steuervorrichtung des kryptografischen Rechenwerks 9 derart ausgebildet. In einem Ausführungsbeispiel ist das kryptografische Rechenwerk 9 ausgebildet, Fehler mittels einer Fehlerdetektionsvorrichtung zu detektieren.
  • Ferner ist eine Testschaltung 3 mit einem Ausgang 31 und eine Alarmvorrichtung 4 vorgesehen. Das Fehlersignal V ist über einen Schalter 5 an die Testschaltung 3 oder an die Alarmvorrichtung 4 koppelbar.
  • Es sei bemerkt, dass die Darstellung des Ausführungsbeispiels, und auch der folgenden Ausführungsbeispiele, sich auf die Teile des kryptografischen Rechenwerks 9 konzentriert, deren Zustand von der Testschaltung 3 veränderbar ist.
  • Im dargestellten Ausführungsbeispiel umfasst das Rechenwerk 9 eine Dual-Rail-Logik 91, 92, 93, 94, bei der ein Bit über eine erste Leitung 91 und das invertierte Bit über eine zweite Leitung 92 zwischen einem ersten Schaltungsbereich 93 und einem zweiten Schaltungsbereich 94 übertragen werden. Liegt an der ersten und der zweiten Leitung 91, 92 derselbe Zustand an, liegt ein Fehler vor, da diese Zustandskombination nach der Kodierungsvorschrift nicht vorgesehen ist. Derartige fehleranzeigende Zustände können mittels eines so genannten Forbidden-State-Detektors 95, oder Verbotener-Zustand-Detektor, detektiert werden, welcher die Zustände auf den Leitungen 91, 92 der Dual-Rail-Logik 91, 92, 93, 94 detektiert. Liegt ein Fehler vor, so gibt der Forbidden-State-Detektor 95 das Fehlersignal V aus.
  • Die Testschaltung 3 ist derart an die Dual-Rail-Logik 91, 92, 93, 94 gekoppelt, dass die Daten auf zumindest einer der Leitungen 91, 92 verändert werden. In diesem Ausführungsbeispiel ist zu diesem Zweck das Kopplungselement 6 vorgesehen. In einem Ausführungsbeispiel ist das Kopplungselement 6 als Exklusiv-ODER-Verknüpfung ausgebildet. In einem Ausführungsbeispiel ist das Koppelelement 6 als Stuck-at-0-Verknüpfung ausgebildet. In einem Ausführungsbeispiel ist das Kopplungselement 6 als Stuck-at-1-Verknüpfung ausgebildet.
  • Im normalen Betrieb ist das Fehlersignal V an die Alarmvorrichtung 4 gekoppelt.
  • Der Funktionstest erfolgt wie beim zuvor beschriebenen Ausführungsbeispiel in 5. Der Ausgang, an dem das Fehlersignal bereitgestellt wird, wird während des Testbetriebs an die Testschaltung 3 gekoppelt. Die Testschaltung 3 detektiert, ob der Forbidden-State-Detektor 95 nach Simulation eines Fehlers das Fehlersignal V ausgibt. Wenn dies nicht der Fall ist, wird das Alarmsignal generiert, dass anzeigt, dass die Fehlerdetektion nicht funktioniert.
  • Es sei bemerkt, dass Dual-Rail-Logiken nicht nur in kryptografischen Rechenwerken eingesetzt werden, sondern beispielsweise auch in Speichern Verwendung finden.
  • 8 zeigt ein weiteres Ausführungsbeispiel einer Schaltungsanordnung mit einer Testschaltung 3 und einer Logikschaltung, die als kryptografisches Rechenwerk 9 ausgebildet ist.
  • Das kryptografische Rechenwerk 9 verknüpft Eingangssignale E1, E2, E3 zu einem Ausgangssignal S. An einem Fehlersignalausgang wird das Fehlersignal V bereitgestellt.
  • Der Fehlersignalausgang 19 ist über einen Schalter 5 an die Testschaltung 3 oder an die Alarmvorrichtung 4 koppelbar. Die Umschaltung des Schalters 5 wird durch die Testschaltung 3 initiiert.
  • Das kryptografische Rechenwerk 9 umfasst Schaltungsteile 101, die ausgebildet sind, Datensignale logisch zu verknüpfen, zu verarbeiten oder zu speichern. Ein Ausführungsbeispiel eines solchen Schaltungsteils 101 ist ein Addierwerk. Ein Ausführungsbeispiel eines solchen Schaltungsteils 101 ist ein Shifter, oder Schieberegister. Ferner ist eine Steuervorrichtung 103 vorgesehen, welche über Ansteuerleitungen 104 die Schaltungsteile 101 ansteuert.
  • Über Kopplungselemente 6 sind die Ansteuerleitungen 104 mit der Testschaltung 3 gekoppelt. Ausführungsbeispiel der Kopplungselemente umfassen beispielsweise Exklusiv-ODER-Verknüpfungen, Stuck-at-1-Verknüpfungen oder Stuck-at-0-Verknüpfungen.
  • Im normalen Betrieb ist das Fehlersignal V an die Alarmvorrichtung 4 gekoppelt. Der Testbetrieb verläuft wie beim zuvor beschriebenen Ausführungsbeispiel in 5.
  • Während des Testbetriebs werden diese Ansteuerleitungen 104 nach einer anderen Vorschrift oder Abbildung geschaltet. Die Kopplung mit dem Testsignal T führt zu anderen Funktionen der Schaltungsteile 101, die von der Schaltung gemäß der anderen Vorschrift oder Abbildung herrührt. Diese anderen Funktionen werden vom kryptografischen Rechenwerk detektiert. Dieses erfolgt in einem Ausführungsbeispiel durch einen Algorithmus, welcher softwaremäßig die Rechenergebnisse überprüft und bei Detektion eines Fehlers ein Fehlersignal V ausgibt. In einem Ausführungsbeispiel wird zu Testzwecken eine Testrechnung durchgeführt und überprüft, ob der Algorithmus die Fehlereinprägung detektiert und infolgedessen das Fehlersignal V generiert wird.
  • 9 zeigt ein weiteres Ausführungsbeispiel eines kryptografischen Rechenwerks 9 mit Schaltungsteilen 101, die von einer Steuervorrichtung 103 über Ansteuerleitungen 104 angesteuert werden. In diesem Ausführungsbeispiel ist eine der Ansteuerleitungen 104 über ein Kopplungselement 6 an das Testsignal T gekoppelt.
  • In diesem Ausführungsbeispiel ist ferner eine Fehlerdetektionsvorrichtung 96 vorgesehen, welche an die Eingangssignale E1, E2, E3 und das Ausgangssignal S gekoppelt ist. Die Fehlerdetektionsvorrichtung 96 überprüft, ob die Signale E1, E2, E3, S in einem vorgegebenen Zusammenhang stehen. Wenn dieses nicht der Fall ist, wird das Fehlersignal V ausgegeben. In einem Ausführungsbeispiel ist die Fehlerdetektionsvorrichtung 96 an Leitungen und/oder Potenzialknoten innerhalb des kryptografischen Rechenwerks 9 gekoppelt, beispielsweise an die Eingänge und Ausgänge eines Schaltungsteils 101. Dadurch können auch Zwischenergebnisse überprüft werden.
  • 10 zeigt ein weiteres kryptografisches Rechenwerk 9, in dem die Eingangssignale E1, E2, E3 an Speichereinheiten 102 gekoppelt sind. Ein Ausführungsbeispiel einer solchen Speichereinheit 102 ist ein Register. Die Speichereinheiten 102 werden über ein Schaltungsteil 101 zu einem Ausgangssignal verknüpft. Ferner ist eine Fehlerdetektionsvorrichtung 96 vorgesehen, die die Eingangssignale E1, E2, E3 und das Ausgangssignal S abgreift und das Fehlersignal V bereitstellt, wenn die Eingangssignale E1, E2, E3 und das Ausgangssignal S nicht in dem vorgegebenen Zusammenhang stehen.
  • Es sei bemerkt, dass zur Überprüfung des vorgegebenen Zusammenhangs nicht die Eingangssignale E1, E2, E3 selbst abgegriffen werden müssen, sondern der Abgriff auch an Datenknoten innerhalb des kryptografischen Rechenwerks 9 erfolgen kann. Auf diese Weise wird indirekt aus dem Vergleich von Zwischenergebnissen innerhalb der Logikschaltung auf die Richtigkeit der Eingangs- und Ausgangsdaten E1, E2, E3, S geschlossen. Allerdings wird bei der Überprüfung basierend auf den Zwischenergebnissen nur ein Teil der Schaltung überprüft, welcher zwischen den Abgriffspunkten der Zwischenergebnisse liegt.
  • Im dargestellten Ausführungsbeispiel ist das Testsignal T über ein Kopplungselement 6 an eine der Speichereinheiten 102 gekoppelt. In einem Ausführungsbeispiel erfolgt die Kopplung derart, dass Daten in der Speichereinheit 102 auf einen festen Wert gesetzt werden. Zu diesem Zweck kann eine Stuck-at-1-Verknüpfung oder eine Stuck-at-0-Verknüpfung dienen. In einem Ausführungsbeispiel bewirkt die Kopplung, dass die Daten in der Speichereinheit 102 invertiert werden. Zu diesem Zweck kann eine Exklusiv-ODER-Verknüpfung verwendet werden.
  • Eine andere Berechnung während des Testbetriebes wird von der Fehlerdetektionsvorrichtung 96 erkannt und durch die Bereitstellung des Fehlersignals V angezeigt.
  • In einem weiteren Ausführungsbeispiel ist keine Fehlerdetektionsvorrichtung vorgesehen, sondern die Richtigkeit der Berechnung wird algorithmisch detektiert.
  • 11 zeigt ein weiteres Ausführungsbeispiel eines kryptografischen Rechenwerkes 9, das ausgebildet ist, die Eingangssignale E1, E2, E3 zum Ausgangssignal S zu verknüpfen. Das kryptografische Rechenwerk 9 ist ferner ausgebildet, ein Fehlersignal V bereitzustellen, wenn die Verknüpfung nicht in einem vorgegebenen Zusammenhang steht.
  • Das kryptografische Rechenwerk 9 umfasst ein Schlüsselrechenwerk 105. In einem Ausführungsbeispiel ist das Schlüsselrechenwerk 105 als so genanntes Key-Scheduling-Rechenwerk in einem DES- oder AES-Rechenwerk ausgebildet. Das Schlüsselrechenwerk 105 generiert einen Teilschlüssel K oder den gesamten Schlüssel K zur Berechnung einer kryptografischen Funktion.
  • Die Testschaltung 3 ist derart an das Schlüsselrechenwerk 105 gekoppelt, dass die Generierung des Schlüssels K verändert wird. In einem Ausführungsbeispiel bewirkt das Testsignal T, dass Schiebeoperationen ausgelassen werden oder dass zu weit oder zu kurz geschoben wird.
  • Die Rechenfehler, die bei verändertem Schlüssel K auftreten, werden detektiert, und das Fehlersignal V wird ausgegeben. In einem Ausführungsbeispiel erfolgt die Detektion durch eine Fehlerdetektionsvorrichtung 96. In einem weiteren Ausführungsbeispiel erfolgt die Detektion algorithmisch.
  • 12 zeigt ein weiteres Ausführungsbeispiel des kryptografischen Rechenwerks 9. Das kryptografische Rechenwerk 9 umfasst einen Multiplexer 106 und ein nachgeschaltetes Schaltungsteil 101. An eingangsseitigen Datenknoten 107 des Multiplexers 106 liegen die Eingangssignale E1, E2, E3 an. Die Eingangssignale E1, E2, E3 werden an ausgangsseitigen Datenknoten 107 des Multiplexers 106 bereitgestellt und Eingängen des Schaltungsteils 101 zugeführt, um das Ausgangssignal S zu generieren.
  • Durch die Kopplung der Testschaltung 3 an den Multiplexer 106 können die Kopplungen zwischen den ausgangsseitigen Datenknoten 107 und den eingangssseitigen Datenknoten 107 verändert werden, sodass an Ausgangsknoten 107 des Multiplexers 106 andere Daten bereitgestellt werden. Durch die Vertauschungen wird das Ausgangssignal S verändert. Diese Abweichungen können durch einen Algorithmus erkannt werden.
  • In einem weiteren Ausführungsbeispiel ist eine Fehlerdetektionsvorrichtung vorgesehen, die das Fehlersignal generiert.
  • In einem Ausführungsbeispiel ist ein Schaltungsteil vorgesehen, dass Permutationen, also vorgegebene Vertauschungen, durchführt. Durch eine Kopplung der Testschaltung an ein solches Schaltungsteil werden die Permutationen verändert.
  • 13 zeigt ein weiteres Ausführungsbeispiel eines kryptografischen Rechenwerkes. Das kryptografische Rechenwerk zur Berechnung von Verschlüsselungen gemäß DES oder AES umfasst eine so genannte S-Box 108 zur nichtlinearen Transformation. Eine S-Box ist eine Tabellenspeichervorrichtung, in der nichtlineare Transformationsergebnisse gespeichert sind. Es sei bemerkt, dass derartige Tabellenspeichervorrichtungen beispielsweise auch in Speichern eingesetzt werden. In einem Ausführungsbeispiel wird die Testschaltung derart an die S-Box 108 gekoppelt, dass sie hinsichtlich ihrer Ansteuerung verändert wird. In einem weiteren Ausführungsbeispiel ist die Testschaltung derart gekoppelt, dass das Auslesen der S-Box 108 verändert wird. In einem Ausführungsbeispiel ist die Testschaltung derart an die S-Box 108 gekoppelt, dass ihr Inhalt verändert wird. Die Veränderung des Inhalts kann beispielsweise durch eine Invertierung mittels einer Exklusiv-ODER-Verknüpfung erfolgen. Diese Veränderungen bewirken, dass falsche Werte von der S-Box bereitgestellt werden. Diese Verfälschungen werden durch algorithmische Kontrolle erkannt. In einem Ausführungsbeispiel erfolgt die Detektion mittels einer Fehlerdetektionsvorrichtung 96.
  • Es sei bemerkt, dass die Merkmale zur Fehlersimulation in den Ausführungsbeispielen der kryptografischen Rechenwerke kombinierbar sind. Die Fehlerdetektion kann algorithmisch und/oder mittels einer Fehlerdetektionsvorrichtung erfolgen.
  • 14 zeigt das Blockschaltbild eines Ausführungsbeispiels einer Schaltungsanordnung mit einer Logikschaltung 1, ausgebildet aus Eingangsdaten E1, E2, E3 Ausgangsdaten S bereitzustellen, die durch logikschaltungsinterne Verknüpfungen 2 aus den Eingangsdaten E1, E2, E3 generiert werden, sodass die Ausgangsdaten S in einem vorgegebenen Zusammenhang mit den Eingangsdaten E1, E2, E3 stehen. Die Schaltungsanordnung umfasst ferner eine Testschaltung 3, die derart an die Logikschaltung gekoppelt ist, dass die logikschaltungsinternen Verknüpfungen 2 veränderbar sind, wobei die Testschaltung 3 ausgebildet ist, ein Alarmsignal A auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen 2 die Ausgangsdaten S im vorgegebenen Zusammenhang mit den Eingangsdaten E1, E2, E3 stehen.
  • Die Überprüfung des vorgegebenen Zusammenhangs umfasst in einem Ausführungsbeispiel den Vergleich des Ausgangssignals S mit einem vorgegebenen Wert R.
  • Die Testschaltung 3 ermöglicht durch gezielte Veränderung der logikschaltungsinternen Verknüpfungen 2 einen Angriff zu simulieren, mit dem die Funktionsfähigkeit der Logikschaltung 1 überprüft wird.
  • 15 zeigt ein weiteres Ausführungsbeispiel, dass sich vom vorhergehenden Ausführungsbeispiel dadurch unterscheidet, dass die Testschaltung 3 ausgebildet ist, vorgegebene Eingangssignale E1, E2, E3 an die Logikschaltung 1 anzulegen.
  • Ein Ausführungsbeispiel eines Verfahrens zur Funktionsprüfung einer derartigen Logikschaltung 1 umfasst: Verändern der logikschaltungsinternen Verknüpfungen 2; Anlegen von Eingangsdaten E1, E2, E3; Generieren der Ausgangsdaten S; Detektieren der Ausgangsdaten S und Ausgeben eines Alarmsignals A, wenn die Ausgangsdaten S im vorgegebenen Zusammenhang mit den Eingangsdaten E1, E2, E3 stehen.
  • In einem Ausführungsbeispiel ist verfahrensgemäß vorgesehen, die logikschaltungsinternen Verknüpfungen softwaremäßig zu verändern. Eine derartige softwaremäßige Veränderung kann beispielsweise in Speicherverschlüsselungen vorgesehen sein, um einen Schlüsselwechsel vorzunehmen. In einem Ausführungsbeispiel wird derart eine Schlüsselveränderung in einem kryptografischen Rechenwerk vorgenommen. In einem anderen Ausführungsbeispiel wird derart eine Schlüsselveränderung in einem Dekoder vorgenommen.
  • Ein Alarmsignal wird ausgegeben, wenn die Ausgangsdaten mit vorgegebenen Daten übereinstimmen. Zu diesem Zweck können die bei kryptografischen Rechenwerken zum Funktionstest nach der Fertigung vorgesehenen Tabellen mit Erwartungswerten bei verschiedenen Schlüsseln verwendet werden.
  • 16 zeigt ein Ausführungsbeispiel, in dem die Logikschaltung als kryptografisches Rechenwerk 9 ausgebildet ist. Dieses Ausführungsbeispiel lehnt sich an das in 8 gezeigte Ausführungsbeispiel an. Es unterscheidet sich von diesem jedoch dadurch, dass die Überprüfung der Funktionsweise des kryptografischen Rechenwerks 9 erfolgt, indem aus den Eingangssignalen E1, E2, E3 das Ausgangssignal S generiert wird und überprüft wird, ob dieses von einem vorgegebenen Wert R abweicht. Der vorgegebene Wert R ist einem Ausführungsbeispiel in der Testschaltung 3 gespeichert. In einem Ausführungsbeispiel ist er durch eine vorhergehende Berechnung generiert worden. In diesem Fall wird ein erstes Ausgangssignal generiert, ohne dass die Testschaltung 3 Zustände im kryptografischen Rechenwerk ändert. Ein zweites Ausgangssignal wird generiert, nachdem die Testschaltung 3 Zustände im kryptografischen Rechenwerk geändert hat. Wenn sich die generierten Ausgangssignale nicht unterscheiden, deutet das auf einen Angriff.
  • Es sei bemerkt, dass die anderen Ausführungsbeispiele eines kryptografischen Rechenwerks, deren Zustände in verschiedener Weise durch die Testschaltung 3 veränderbar sind, in entsprechender Weise durch einen Vergleich von berechneten Ausgangsdaten S – einmal ohne Fehlersimulation durch die Testschaltung und einmal mit Fehlersimulation durch die Testschaltung – hinsichtlich einer möglichen Manipulation getestet werden können.
  • 17 zeigt ein Ausführungsbeispiel, in dem die Logikschaltung als Speicherverschlüsselungsvorrichtung 14 ausgebildet ist. Eine solche Speicherverschlüsselungsvorrichtung 14 wird auch als MED (Memory Encryption Decryption Unit), bezeichnet.
  • Die Speicherverschlüsselungsvorrichtung 14 ist einem Speicher 15 vorangeschaltet. Der Speicher 15 ist beispielsweise als RAM oder NVM ausgebildet. Im Speicher 15 zu speichernde Daten werden vor dem Speichern von der Speicherverschlüsselungsvorrichtung 14 verschlüsselt. Beim Auslesen werden die verschlüsselt abgespeicherten Daten durch die Speicherverschlüsselungsvorrichtung 14 entschlüsselt. Die Speicherverschlüsselungsvorrichtung 14 umfasst ein Mittel 141 zur Bereitstellung eines Schlüssels K. Die Testschaltung 3 mit einem Ausgang 31 zur Bereitstellung des Alarmsignals A ist ausgebildet, den Schlüssel K zu verändern.
  • In einem weiteren Ausführungsbeispiel wird die Speicherverschlüsselung für ein ROM eingesetzt. In diesem Fall erfolgt lediglich eine Entschlüsselung.
  • Zur Überprüfung der Funktionsfähigkeit der Speicherverschlüsselungsvorrichtung 14 wird der Schlüssel K verändert beziehungsweise gesetzt. Ein Referenzwert SR wird aus dem Speicher 15 ausgelesen und entschlüsselt. Es wird überprüft, ob der ausgelesene und entschlüsselte Wert S1 mit einem vorgegebenen Wert R übereinstimmt. Wenn dieses nicht der Fall ist, wird das Alarmsignal am Ausgang 31 der Testschaltung 3 ausgegeben. In einem Ausführungsbeispiel ist sowohl der Referenzwert SR als auch der vorgegebene Wert R eine Bitsequenz.
  • In einem Ausführungsbeispiel ist der vorgegebene Wert R in der Testschaltung 3 gespeichert. In einem Ausführungsbeispiel wird der vorgegebene Wert aus dem Speicher 15 gelesen.
  • 18 zeigt ein weiteres Ausführungsbeispiel mit einem Speicher 15 und der Speicherverschlüsselungsvorrichtung 14 mit dem Mittel 141, um den Schlüssel K bereitzustellen. Die Testschaltung 3 ist derart an das Mittel 141 gekoppelt, dass der Schlüssel K veränderbar ist.
  • Zur Überprüfung der Funktionsfähigkeit der Speicherverschlüsselungsvorrichtung 14 wird ein erster Schlüssel K bereitgestellt. Ein von der Testschaltung 3 vorgegebener Wert S1 wird durch die Speicherverschlüsselungsvorrichtung 14 verschlüsselt und der verschlüsselte Wert SR wird im Speicher 15 abgespeichert. Dann wird der erste Schlüssel K von der Testschaltung 3 verändert, sodass er einem zweiten Schlüssel entspricht. Der abgespeicherte Wert SR wird aus dem Speicher 15 ausgelesen. Wenn sich der abzuspeichernde Wert S1 und der ausgelesene Wert S2 unterscheiden, funktioniert die Speicherverschlüsselungsvorrichtung 14.
  • In einem Ausführungsbeispiel wird ein vorgegebener Wert für den ausgelesenen Wert S2 in der Testschaltung abgespeichert und es wird nicht nur überprüfbar, ob sich der abzuspeichernde Wert S1 und der ausgelesene Wert S2 unterscheiden, sondern auch, ob der ausgelesene Wert S2 mit dem vorgegebenen Wert übereinstimmt.
  • 19 zeigt ein weiteres Ausführungsbeispiel einer Speicherverschlüsselungsvorrichtung 14, die an einen Speicher 15 gekoppelt ist. Die Testschaltung 3 ist an Schaltungsteile 101 der Speicherverschlüsselungsvorrichtung 14 gekoppelt. In einem Ausführungsbeispiel erfolgt die Kopplung über eine Exklusiv-ODER-Verknüpfung. In einem Ausführungsbeispiel erfolgt die Kopplung über eine Stuck-at-1-Vernüpfung und/oder über eine Stuck-at-0-Vernüpfung.
  • Zur Überprüfung der Funktionsfähigkeit der Speicherverschlüsselungsvorrichtung 14 wird zunächst ein Referenzwert SR aus dem Speicher 15 ausgelesen und entschlüsselt. Der erste ausgelesene Wert S1 wird der Testschaltung 3 übermittelt. Danach werden die Schaltungsteile 101 in der Speicherverschlüsselungsvorrichtung 14 durch die Testschaltung 3 verändert. In einem Ausführungsbeispiel werden Leitungen und/oder Potenzialknoten im Schaltungsteil 101 auf einen anderen Zustandswert gesetzt.
  • Der abgespeicherte Referenzwert SR wird nochmals ausgelesen und entschlüsselt. Der zweite ausgelesene Wert S2 wird der Testschaltung 3 übermittelt. Dann wird überprüft, ob der zweite ausgelesene Wert S2 sich vom ersten ausgelesenen Wert S1 unterscheidet. Wenn dieses der Fall ist, funktioniert die Speicherverschlüsselungsvorrichtung 14.
  • In einem weiteren Ausführungsbeispiel wird ein Wert in den Speicher 15 geschrieben und der gleiche Wert bei veränderten Zuständen geschrieben. Die beiden Werte werden ausgelesen und verglichen. Es sei bemerkt, dass entweder während des Auslesevorgangs von der Testschaltung nicht in die logikschaltungsinternen Verknüpfungen eingegriffen werden darf oder in gleicher Weise während beider Auslesevorgänge die logikschaltungsinternen Verknüpfungen verändert werden müssen.
  • Wenn die beiden ausgelesenen Werte sich unterscheiden, funktioniert die Speicherverschlüsselungsvorrichtung 14.
  • 20 zeigt ein weiteres Ausführungsbeispiel, das sich vom vorherigen Ausführungsbeispiel dadurch unterscheidet, dass die Schaltungsteile 101 überbrückbar sind, was auch als Bypass der Speicherverschlüsselungsvorrichtung 14 bezeichnet wird. Ein Ausführungsbeispiel umfasst beispielsweise einen Schalter, mit dem Datenverarbeitung in Schaltungsteilen 101 umgehbar ist. Bei einer solchen Überbrückung erfolgt keine Verschlüsselung beziehungsweise Entschlüsselung. In einem Ausführungsbeispiel wird lediglich ein Teil der Verschlüsselung beziehungsweise Entschlüsselung überbrückt, sodass nur eine teilweise Verschlüsselung beziehungsweise Entschlüsselung erfolgt. Die Überbrückung wird durch die Testschaltung 3 initiiert.
  • Die Funktionsüberprüfung der Schaltungsanordnung umfasst, dass ein im Speicher 15 abgespeicherter Referenzwert SR verschlüsselt ausgelesen wird und unverschlüsselt ausgelesen wird. Wenn die beiden ausgelesenen Werte S1 und S2 sich unterscheiden, funktioniert die Speicherverschlüsselungsvorrichtung.
  • Weitere Ausführungsbeispiele der Funktionsüberprüfung erfolgen in entsprechender Weise wie in den zuvor geschilderten Ausführungsbeispielen. Ein Ausführungsbeispiel umfasst das zweimalige Auslesen – einmal mit und einmal ohne Verschlüsselung – und Vergleichen eines vorbekannten Speicherinhalts. Ein Ausführungsbeispiel umfasst das zweimalige Schreiben – einmal mit und einmal ohne Verschlüsselung – eines Wertes und Vergleichen nach dessen Auslesen.
  • Es sei bemerkt, dass Kombination der Merkmale in den Ausführungsbeispielen und/oder deren sequenzielle Nutzung möglich ist.
  • 21 zeigt ein weiteres Ausführungsbeispiel, in dem die Logikschaltung als Dekoder 16 einer CPU ausgebildet ist. Der Dekoder 16 ist zwischen einem Speicher 14 und einem Rechenwerk 17 gekoppelt. Der Dekoder 16 ist ausgebildet im Speicher 14 bereitgestellte Befehlsdaten BD in Steuerdaten SD umzuwandeln. Mit den Steuerdaten SD ist die Abarbeitung eines Befehls BD im Rechenwerk 17 möglich. Die Testschaltung 3 ist derart an Schaltungsteile 101 des Dekoders 16 gekoppelt, dass diese veränderbar sind.
  • Es ist zu Testzwecken vorgesehen, ein oder mehrere Fehler zu forcieren, um die Dekoderfunktion zu überprüfen. In einem Ausführungsbeispiel wird der Fehler forciert, indem die Testschaltung über ein Kopplungselement das Schaltungsteil 101 verändert. Die Veränderung erfolgt in einem Ausführungsbeispiel über eine Exklusiv-ODER-Verknüpfung. Die Veränderung erfolgt in einem Ausführungsbeispiel über eine Stuck-at-0- oder eine Stuck-at-1-Verknüpfung. Die Veränderung erfolgt in einem Ausführungsbeispiel über einen Multiplexer.
  • Es wird zunächst ein Befehl BD aus dem Speicher 14 gelesen, welcher einer Funktion des Rechenwerks entspricht. Diese Funktion wird ausgeführt und von einem Programm kontrolliert. Beispielsweise kann vorgesehen sein, zwei Werte zu addieren und mit einem Referenzwert zu vergleichen. Danach verändert die Testschaltung die Zustände der Schaltungsteile 101 des Dekoders 16, sodass in die Umwandlung der Befehlsdaten BD in die Steuerdaten SD eingegriffen wird. Im Ausführungsbeispiel wird der vorherige Befehl, der eine Addition umfasst hat, nunmehr als Subtraktion übersetzt. Nach der Subtraktion der beiden Werte wird das Ergebnis mit dem Referenzwert verglichen.
  • In einem Ausführungsbeispiel wird das Ergebnis der Addition S1 mit dem der Subtraktion S2 verglichen. Wenn die Werte S1 und S2 übereinstimmen, lässt dieses auf einen Angriff schließen. In einem Ausführungsbeispiel erfolgt der Vergleich der Ergebnisse gegeneinander oder gegen einen vorgegebenen Wert durch die Testschaltung 3.
  • Es sei bemerkt, dass die Merkmale der Ausführungsbeispiele der Schaltungsanordnung kombinierbar sind.
  • 1
    Logikschaltung
    2
    logikschaltungsinterne Verknüpfung
    3
    Testschaltung
    4
    Alarmvorrichtung
    5
    Schalter
    6
    Kopplungselement
    11
    Paritätsfehlererkennung
    12
    Busleitung
    14
    Speicherverschlüsselungsvorrichtung
    15
    Speicher
    16
    Dekoder
    17
    Rechenwerk
    19
    Fehlersignalausgang
    31
    Testschaltungsausgang
    91, 92
    erste, zweite Leitung
    93, 94
    Schaltungsbereich
    96
    Fehlerdetektionsvorrichtung
    95
    Forbidden-State-Detektor
    101
    Schaltungsteil
    102
    Speichereinheit
    103
    Steuervorrichtung
    105
    Schlüsselrechenwerk
    106
    Multiplexer
    107
    Datenknoten
    108
    S-Box
    141
    Mittel zur Bereitstellung eines Schlüssels
    110, 120, 130,
    140, 150, 160,
    170, 180, 190,
    200, 210
    Verfahrensschritte
    A
    Alarmsignal
    BD
    Befehlsdaten
    E1, E2, E3
    Eingangsdaten
    K
    Schlüssel
    R
    vorgegebener Wert
    S
    Ausgangsdaten
    S1, S2
    Werte
    SD
    Steuerdaten
    SR
    Referenzwert
    T
    Testsignal
    V
    Fehlersignal

Claims (44)

  1. Schaltungsanordnung mit – einer Logikschaltung (1), ausgebildet aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, wobei die Logikschaltung ausgebildet ist, zu detektieren, ob der Zusammenhang erfüllt ist, und ein Fehlersignal (V) bereitzustellen, wenn der Zusammenhang nicht erfüllt ist, und – einer Testschaltung (3), ausgebildet, die logikschaltungsinternen Verknüpfungen (2) zu verändern, wobei die Testschaltung (3) ferner ausgebildet ist, das Fehlersignal (V) zu detektieren, und ausgebildet ist, ein Alarmsignal (A) auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen (2) das Fehlersignal (V) nicht detektiert wird, – wobei die Logikschaltung (1) ein kryptografisches Rechenwerk (9) umfasst, – wobei die logikschaltungsinternen Verknüpfungen (2) einen Schlüssel (K) in dem kryptografischen Rechenwerk (9) bereitstellen, – wobei das kryptografische Rechenwerk (9) ein Schlüsselrechenwerk (105) zur Generierung des Schlüssels (K) aufweist, das derart an die Testschaltung (3) gekoppelt ist, dass der generierte Schlüssel (K) veränderbar ist, und – wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Schlüssel (K) verändert wird.
  2. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch eine Fehlerdetektionsvorrichtung (96), ausgebildet das Fehlersignal (V) zu generieren, wobei die Fehlerdetektionsvorrichtung (96) an die logikschaltungsinternen Verknüpfungen (2) gekoppelt ist.
  3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass diese ausgebildet ist, algorithmisch zu detektieren, ob der vorgegebene Zusammenhang erfüllt ist.
  4. Schaltungsanordnung nach einem der Ansprüche 1 bis 3, gekennzeichnet durch eine Alarmvorrichtung (4), an die Logikschaltung (1) gekoppelt, sodass eine Alarmreaktion ausgelöst wird, wenn das Fehlersignal (V) detektiert wird und die logikschaltungsinternen Verknüpfungen (2) nicht von der Testschaltung (3) verändert sind.
  5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, dass diese ausgebildet ist, die Alarmreaktion nicht auszulösen, wenn die logikschaltungsinternen Verknüpfungen (2) von der Testschaltung (3) verändert sind.
  6. Schaltungsanordnung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) über eine Exklusiv-ODER-Verknüpfung an die Testschaltung (3) gekoppelt sind.
  7. Schaltungsanordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) einen Datenknoten umfassen, dem ein vorgegebener logischer Zustand von der Testschaltung (3) aufprägbar ist.
  8. Schaltungsanordnung nach einem der Ansprüche 1 bis 7, gekennzeichnet durch eine Speichereinheit (102), deren gespeicherte Information von der Testschaltung (3) veränderbar ist.
  9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Testschaltung (3) an eine Mehrzahl von jeweils zwei miteinander gekoppelten Datenknoten (107) gekoppelt ist, sodass die Kopplungen der Datenknoten (107) vertauschbar sind.
  10. Schaltungsanordnung nach einem der Ansprüche 2 bis 9, gekennzeichnet durch eine Dual-Rail-Logikschaltung (91, 92, 93, 94), deren Zustände von der Fehlerdetektionsvorrichtung (96) abgreifbar sind.
  11. Schaltungsanordnung nach einem der Ansprüche 1 bis 10, gekennzeichnet durch eine Tabellenspeichervorrichtung (108), deren Einträge und/oder Ansteuerung von der Testschaltung (3) veränderbar sind.
  12. Schaltungsanordnung nach Anspruch 10, dadurch gekennzeichnet, dass von der Testschaltung (3) ein vorgegebener Zustand auf einer Leitung (92) der Dual-Rail-Logikschaltung (91, 92, 93, 94) aufprägbar ist oder ein Zustand auf einer Leitung (92) der Dual-Rail-Logikschaltung (91, 92, 93, 94) veränderbar ist.
  13. Schaltungsanordnung nach einem der Ansprüche 1 bis 12, gekennzeichnet durch mit der Testschaltung (3) gekoppelte Ansteuerleitungen (104), über die das kryptografische Rechenwerk (9) ansteuerbar ist.
  14. Schaltungsanordnung mit – einer Logikschaltung (1), ausgebildet aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, und – einer Testschaltung (3) zum Überprüfen der Funktionsfähigkeit der Logikschaltung (1), derart an die Logikschaltung (1) gekoppelt, dass mittels der Testschaltung (3) die logikschaltungsinternen Verknüpfungen (2) veränderbar und die von der Logikschaltung (1) bereitgestellten Ausgangsdaten (S) detektierbar sind, wobei die Testschaltung (3) ausgebildet ist, ein Alarmsignal (A) auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen (2) die von der Testschaltung (3) detektierten Ausgangsdaten (S) weiterhin in dem vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, – wobei die Logikschaltung (1) einen Dekoder (16) umfasst, der einem Befehlsdatum (BD) ein Steuerdatum (SD) oder Steuerdaten (SD) zuordnet, und – wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Dekoder (16) dem Befehlsdatum (BD) ein anderes Steuerdatum (SD) oder andere Steuerdaten zuordnet.
  15. Schaltungsanordnung mit – einer Logikschaltung (1), ausgebildet aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, und – einer Testschaltung (3) zum Überprüfen der Funktionsfähigkeit der Logikschaltung (1), derart an die Logikschaltung (1) gekoppelt, dass mittels der Testschaltung (3) die logikschaltungsinternen Verknüpfungen (2) veränderbar und die von der Logikschaltung (1) bereitgestellten Ausgangsdaten (S) detektierbar sind, wobei die Testschaltung (3) ausgebildet ist, ein Alarmsignal (A) auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen (2) die von der Testschaltung (3) detektierten Ausgangsdaten (S) weiterhin in dem vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, – wobei die Logikschaltung (1) eine Speicherverschlüsselungsvorrichtung (14) umfasst, die ausgebildet ist, Daten zu verschlüsseln und/oder verschlüsselte Daten zu entschlüsseln, – wobei die logikschaltungsinternen Verknüpfungen (1) einen Schlüssel (K) zur Speicherverschlüsselung und/oder -entschlüsselung bereitstellen, – wobei die Speicherverschlüsselungsvorrichtung (14) ein Mittel (141) zur Bereitstellung des Schlüssels (K) umfasst, das derart an die Testschaltung (3) gekoppelt ist, dass der Schlüssel (K) veränderbar ist, und – wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Schlüssel (K) verändert wird.
  16. Schaltungsanordnung nach Anspruch 15, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) derart veränderbar sind, dass Daten nicht oder nur teilweise verschlüsselt werden, oder dass verschlüsselte Daten nicht oder nur teilweise entschlüsselt werden.
  17. Schaltungsanordnung mit – einer Logikschaltung (1), ausgebildet aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, und – einer Testschaltung (3) zum Überprüfen der Funktionsfähigkeit der Logikschaltung (1), derart an die Logikschaltung gekoppelt, dass mittels der Testschaltung (3) die logikschaltungsinternen Verknüpfungen (2) veränderbar und die von der Logikschaltung (1) bereitgestellten Ausgangsdaten (S) detektierbar sind, wobei die Testschaltung (3) ausgebildet ist, ein Alarmsignal (A) auszugeben, wenn bei Veränderung der logikschaltungsinternen Verknüpfungen (2) die von der Testschaltung (3) detektierten Ausgangsdaten (S) weiterhin in dem vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, – wobei die Logikschaltung (1) ein kryptografisches Rechenwerk (9) umfasst, – wobei die logikschaltungsinternen Verknüpfungen (2) einen Schlüssel (K) in dem kryptografischen Rechenwerk (9) bereitstellen, – wobei das kryptografische Rechenwerk (9) ein Schlüsselrechenwerk (105) zur Generierung des Schlüssels (K) aufweist, das derart an die Testschaltung (3) gekoppelt ist, dass der generierte Schlüssel (K) veränderbar ist, und – wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Schlüssel (K) verändert wird.
  18. Schaltungsanordnung nach Anspruch 17, gekennzeichnet durch mit der Testschaltung (3) gekoppelte Ansteuerleitungen (104), über die das kryptografische Rechenwerk (9) ansteuerbar ist.
  19. Schaltungsanordnung nach einem der Ansprüche 14 bis 18, dadurch gekennzeichnet, dass die Testschaltung (1) ausgebildet ist, vorgegebene Eingangssignale (E1, E2, E3) an die Logikschaltung (1) anzulegen.
  20. Schaltungsanordnung nach einem der Ansprüche 14 bis 19, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) über eine Exklusiv-ODER-Verknüpfung an die Testschaltung (3) gekoppelt sind.
  21. Schaltungsanordnung nach einem der Ansprüche 14 bis 20, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) einen Datenknoten umfassen, dem ein vorgegebener logischer Zustand von der Testschaltung (3) aufprägbar ist.
  22. Schaltungsanordnung nach einem der Ansprüche 14 bis 21, gekennzeichnet durch eine Speichereinheit (102), deren gespeicherte Information von der Testschaltung (3) veränderbar ist.
  23. Schaltungsanordnung nach einem der Ansprüche 14 bis 22, dadurch gekennzeichnet, dass die Testschaltung (3) an eine Mehrzahl von jeweils zwei miteinander gekoppelten Datenknoten (107) gekoppelt ist, sodass die Kopplungen der Datenknoten (107) vertauschbar sind.
  24. Schaltungsanordnung nach einem der Ansprüche 14 bis 23, dadurch gekennzeichnet, dass die Testschaltung (3) ausgebildet ist, die Ausgangsdaten (S) mit vorgegebenen Daten (R) zu vergleichen.
  25. Schaltungsanordnung nach Anspruch 24, dadurch gekennzeichnet, dass die Testschaltung (3) ausgebildet ist, als vorgegebene Daten (R) Ausgangsdaten, die bei nicht veränderten logikschaltungsinternen Verknüpfungen (2) bereitgestellt worden sind, zu speichern.
  26. Schaltungsanordnung nach einem der Ansprüche 14 bis 25, gekennzeichnet durch eine Dual-Rail-Logikschaltung (91, 92, 93, 94), wobei von der Testschaltung (3) ein vorgegebener Zustand auf einer Leitung (92) der Dual-Rail-Logikschaltung (91, 92, 93, 94) aufprägbar ist oder ein Zustand auf einer Leitung (92) der Dual-Rail-Logikschaltung (91, 92, 93, 94) veränderbar ist.
  27. Schaltungsanordnung nach einem der Ansprüche 14 bis 26, gekennzeichnet durch eine Tabellenspeichervorrichtung (108), deren Einträge und/oder Ansteuerung von der Testschaltung (3) veränderbar sind.
  28. Verfahren zur Funktionsüberprüfung einer ein kryptografisches Rechenwerk (9) umfassenden Logikschaltung (1) mittels einer Testschaltung (3), wobei die Logikschaltung (1) aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitstellt, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, wobei die logikschaltungsinternen Verknüpfungen (2) einen Schlüssel (K) in dem kryptografischen Rechenwerk (9) bereitstellen, wobei die Logikschaltung ausgebildet ist, zu detektieren, ob der Zusammenhang erfüllt ist und ein Fehlersignal (V) bereitzustellen, wenn der Zusammenhang nicht erfüllt ist, wobei das Verfahren umfasst: – Verändern der logikschaltungsinternen Verknüpfungen (2) durch die Testschaltung (3), wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Schlüssel (K) verändert wird, – Detektieren mittels der Testschaltung (3), ob das Fehlersignal (V) generiert worden ist, – und Bereitstellen eines Alarmsignals (A), wenn das Fehlersignal (V) nicht detektiert worden ist.
  29. Verfahren nach Anspruch 28, gekennzeichnet durch Auslösen einer Alarmreaktion, wenn das Fehlersignal (V) detektiert wird, ohne dass zuvor die Veränderung der logikschaltungsinternen Verknüpfungen (2) initiiert worden ist.
  30. Verfahren nach Anspruch 28 oder 29, dadurch gekennzeichnet, dass die Alarmreaktion nicht ausgelöst wird, wenn das Fehlersignal (V) detektiert wird und zuvor die Veränderung der logikschaltungsinternen Verknüpfungen (2) initiiert worden ist.
  31. Verfahren nach einem der Ansprüche 28 bis 30, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) durch Invertierung verändert werden und/oder durch Aufprägen eines vorgegebenen Zustands verändert werden.
  32. Verfahren nach einem der Ansprüche 28 bis 31, gekennzeichnet durch Verändern von gespeicherter Information in den logikschaltungsinternen Verknüpfungen (2).
  33. Verfahren zur Funktionsüberprüfung einer einen Dekoder (16) umfassenden Logikschaltung (1) mittels einer Testschaltung (3), wobei die Logikschaltung (1) ausgebildet ist, aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, wobei der Dekoder (16) einem Befehlsdatum (BD) ein Steuerdatum (SD) oder Steuerdaten (SD) zuordnet, wobei das Verfahren umfasst: – Verändern der logikschaltungsinternen Verknüpfungen (2) mittels der Testschaltung (3), wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Dekoder (16) dem Befehlsdatum (BD) ein anderes Steuerdatum (SD) oder andere Steuerdaten zuordnet, – Anlegen von Eingangsdaten (E1, E2, E3) an die Logikschaltung (1), – Generieren der Ausgangsdaten (S) aus den Eingangsdaten (E1, E2, E3) mittels der Logikschaltung (1), – Detektieren der Ausgangsdaten (S) mittels der Testschaltung (3), – Ausgeben eines Alarmsignals (A), wenn die detektierten Ausgangsdaten (S) weiterhin in dem vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen.
  34. Verfahren zur Funktionsüberprüfung einer eine Speicherverschlüsselungsvorrichtung (14) umfassenden Logikschaltung (1) mittels einer Testschaltung (3), wobei die Logikschaltung (1) ausgebildet ist, aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, wobei die logikschaltungsinternen Verknüpfungen (2) einen Schlüssel zur Speicherverschlüsselung und/oder -entschlüsselung bereitstellen, wobei das Verfahren umfasst: – Verändern der logikschaltungsinternen Verknüpfungen (2) mittels der Testschaltung (3), wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Schlüssel (K) verändert wird, – Anlegen von Eingangsdaten (E1, E2, E3) an die Logikschaltung (1), – Generieren der Ausgangsdaten (S) aus den Eingangsdaten (E1, E2, E3) mittels der Logikschaltung (1), – Detektieren der Ausgangsdaten (S) mittels der Testschaltung (3), – Ausgeben eines Alarmsignals (A), wenn die detektierten Ausgangsdaten (S) weiterhin in dem vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen.
  35. Verfahren zur Funktionsüberprüfung einer ein kryptografisches Rechenwerk (9) umfassenden Logikschaltung (1) mittels einer Testschaltung (3), wobei die Logikschaltung (1) ausgebildet ist, aus Eingangsdaten (E1, E2, E3) Ausgangsdaten (S) bereitzustellen, die durch logikschaltungsinterne Verknüpfungen (2) aus den Eingangsdaten (E1, E2, E3) generiert werden, sodass die Ausgangsdaten (S) in einem durch die logikschaltungsinternen Verknüpfungen (2) vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen, wobei die logikschaltungsinternen Verknüpfungen (2) einen Schlüssel in dem kryptografischen Rechenwerk (9) bereitstellen, wobei das Verfahren umfasst: – Verändern der logikschaltungsinternen Verknüpfungen (2) mittels der Testschaltung (3), wobei bei Veränderung der logikschaltungsinternen Verknüpfungen (2) der Schlüssel (K) verändert wird, – Anlegen von Eingangsdaten (E1, E2, E3) an die Logikschaltung (1), – Generieren der Ausgangsdaten (S) aus den Eingangsdaten (E1, E2, E3) mittels der Logikschaltung (1), – Detektieren der Ausgangsdaten (S) mittels der Testschaltung (3), – Ausgeben eines Alarmsignals (A), wenn die detektierten Ausgangsdaten (S) weiterhin in dem vorgegebenen Zusammenhang mit den Eingangsdaten (E1, E2, E3) stehen.
  36. Verfahren nach Anspruch 35, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) softwaremäßig verändert werden.
  37. Verfahren nach einem der Ansprüche 33 bis 36, dadurch gekennzeichnet, dass die logikschaltungsinternen Verknüpfungen (2) durch Invertierung verändert werden und/oder durch Aufprägen eines vorgegebenen Zustands verändert werden.
  38. Verfahren nach einem der Ansprüche 33 bis 37, gekennzeichnet durch Verändern von gespeicherter Information in den logikschaltungsinternen Verknüpfungen (2).
  39. Verfahren nach einem der Ansprüche 33 bis 38, dadurch gekennzeichnet, dass die Ausgangsdaten (S) mittels der Testschaltung (3) mit vorgegebenen Daten (R) verglichen werden.
  40. Verfahren nach Anspruch 39, dadurch gekennzeichnet, dass das Alarmsignal (A) ausgegeben wird, wenn die Ausgangsdaten (S) nicht mit den vorgegebenen Daten (R) übereinstimmen.
  41. Verfahren nach Anspruch 39 oder 40, dadurch gekennzeichnet, dass die vorgegebenen Daten (R) Ausgangsdaten sind, die bei nicht veränderten logikschaltungsinternen Verknüpfungen (2) generiert worden sind.
  42. Verfahren nach einem der Ansprüche 39 bis 41, dadurch gekennzeichnet, dass erste Ausgangsdaten (S1) vor dem Verändern der logikschaltungsinternen Verknüpfungen (2) gespeichert werden und zweite Ausgangsdaten (S2) nach dem Verändern der logikschaltungsinternen Verknüpfungen (2) gespeichert werden und mit den ersten Ausgangsdaten (S1) verglichen werden.
  43. Verfahren nach Anspruch 42, dadurch gekennzeichnet, dass der Vergleich nach dem Auslesen der ersten und der zweiten Ausgangsdaten (S1, S2) erfolgt.
  44. Verfahren nach einem der Ansprüche 39 bis 43, dadurch gekennzeichnet, dass Daten (SR) nach dem Verändern der logikschaltungsinternen Verknüpfungen (2) aus einem Speicher (15) ausgelesen werden, dass die Daten (SR) ferner bei nicht veränderten logikschaltungsinternen Verknüpfungen (2) aus dem Speicher (15) ausgelesen werden und dass die nach dem Verändern der logikschaltungsinternen Verknüpfungen (2) ausgelesenen Daten (S2) mit den bei nicht veränderten logikschaltungsinternen Verknüpfungen (2) ausgelesenen Daten (S1) verglichen werden.
DE102007053295A 2007-11-08 2007-11-08 Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung Active DE102007053295B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102007053295A DE102007053295B4 (de) 2007-11-08 2007-11-08 Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung
US12/268,226 US7996742B2 (en) 2007-11-08 2008-11-10 Circuit arrangement and method for checking the function of a logic circuit in a circuit arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102007053295A DE102007053295B4 (de) 2007-11-08 2007-11-08 Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung

Publications (2)

Publication Number Publication Date
DE102007053295A1 DE102007053295A1 (de) 2009-05-20
DE102007053295B4 true DE102007053295B4 (de) 2010-10-28

Family

ID=40560556

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007053295A Active DE102007053295B4 (de) 2007-11-08 2007-11-08 Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung

Country Status (2)

Country Link
US (1) US7996742B2 (de)
DE (1) DE102007053295B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9217772B2 (en) * 2012-07-31 2015-12-22 Infineon Technologies Ag Systems and methods for characterizing devices
US9165163B2 (en) * 2012-11-30 2015-10-20 Broadcom Corporation Secure delivery of processing code
US10372625B2 (en) 2016-12-27 2019-08-06 Intel Corporation Secure memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006001872A1 (de) * 2006-01-13 2007-07-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056010A1 (de) * 1999-05-28 2000-11-29 Hewlett-Packard Company Datenintegritätsüberwachung in einer vertrauten Rechnereinheit
FR2834361B1 (fr) * 2001-12-28 2004-02-27 Bull Sa Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
US7383577B2 (en) * 2002-05-20 2008-06-03 Airdefense, Inc. Method and system for encrypted network management and intrusion detection
FR2863076B1 (fr) * 2003-11-28 2006-02-03 Bull Sa Systeme cryptographique haut debit a architecture modulaire.
JP4094570B2 (ja) * 2004-03-02 2008-06-04 株式会社東芝 乱数検査回路、乱数生成回路、半導体集積装置、icカードおよび情報端末機器
KR100725169B1 (ko) * 2005-01-27 2007-06-04 삼성전자주식회사 전력 분석 공격에 안전한 논리 연산 장치 및 방법
DE102006001873B4 (de) 2006-01-13 2009-12-24 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006001872A1 (de) * 2006-01-13 2007-07-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung

Also Published As

Publication number Publication date
DE102007053295A1 (de) 2009-05-20
US20090172489A1 (en) 2009-07-02
US7996742B2 (en) 2011-08-09

Similar Documents

Publication Publication Date Title
DE102006001873B4 (de) Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung
DE102006001872B4 (de) Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung auf Angriffe
DE102015210651B4 (de) Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit
DE102019122145A1 (de) Gesicherte x-modulare redundanz
DE102007053295B4 (de) Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung
DE102015110144B4 (de) Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE102022105600A1 (de) Register-fehlerdetektor
DE102010003153B4 (de) Verarbeitungseinheit, Vorrichtung, die zwei Verarbeitungseinheiten aufweist, Verfahren zum Testen einer Verarbeitungseinheit und einer Vorrichtung, die zwei Verarbeitungseinheiten aufweist
DE102008053122B4 (de) Rückkopplungsschieberegistersteuerung
DE102004061312B4 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
EP1444700A2 (de) Speichertest
WO2007143964A2 (de) Schaltungsanordnung
DE102005042790A1 (de) Integrierte Schaltungsanordnung und Verfahren zum Betrieb einer solchen
EP3667529B1 (de) Verfahren und vorrichtung zum authentisieren einer fpga-konfiguration
DE102004037590B4 (de) Integrierte Schaltung und Verfahren zum Betrieb einer solchen
DE102017115056B3 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb
DE102017115058B4 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb und Herbeiführung der Ausfallsicherheit
DE102017115057B4 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb durch Vergleich zweier Schreibvorgänge mit unterschiedlichem Inversionsstatus
DE102020000302A1 (de) Siegelvorrichtung mit Prüflogik
DE102013108073A1 (de) Datenverarbeitungsanordnung und verfahren zur datenverarbeitung
DE102014015585A1 (de) Vorrichtung, System und Verfahren zum Schützen von Daten
WO2021078822A1 (de) Authentifizierung einer teilkonfiguration einer feldprogrammierbaren logikgatter-anordnung
DE102020109306A1 (de) Modifizierte Schnittstellen mit Passwort geschütztem Scan-Mode und Analog-Test-Bus
DE102020109304A1 (de) Modifizierte UART-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus
DE102020109303A1 (de) Modifizierte JTAG-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition