DE10258178B4 - Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung - Google Patents

Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung Download PDF

Info

Publication number
DE10258178B4
DE10258178B4 DE10258178A DE10258178A DE10258178B4 DE 10258178 B4 DE10258178 B4 DE 10258178B4 DE 10258178 A DE10258178 A DE 10258178A DE 10258178 A DE10258178 A DE 10258178A DE 10258178 B4 DE10258178 B4 DE 10258178B4
Authority
DE
Germany
Prior art keywords
memory cells
circuit
test
intermediate result
test pattern
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.)
Expired - Fee Related
Application number
DE10258178A
Other languages
English (en)
Other versions
DE10258178A1 (de
Inventor
Berndt M. Dr. Gammel
Michael Smola
Gerd Dirscherl
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 DE10258178A priority Critical patent/DE10258178B4/de
Publication of DE10258178A1 publication Critical patent/DE10258178A1/de
Application granted granted Critical
Publication of DE10258178B4 publication Critical patent/DE10258178B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • G06F21/755Protecting 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 with measures against power attack

Landscapes

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

Abstract

Schaltung mit
einer Recheneinheit (12);
einer Mehrzahl von Zwischenspeichern (14) zum Speichern von Zwischenergebnissen,
wobei die Recheneinheit (12) ausgebildet ist, um im Betrieb in aufeinanderfolgenden Zyklen zu arbeiten, um in einem Zyklus das Zwischenergebnis in die Zwischenspeicher (14) zu schreiben und in einem darauffolgenden Zyklus das Zwischenergebnis auszulesen und weiter zu verarbeiten, um ein neues Zwischenergebnis zu erhalten und in die Zwischenspeicher (14) zu schreiben, wobei die Zwischenspeicher (14) eine Mehrzahl von Speicherzellen (14) zur Speicherung eines Bits des Zwischenergebnisses aufweisen, wobei die Speicherzellen zu einer Scankette (16) mit einem Eingang und einem Ausgang verschaltet und derart ausgebildet sind, daß bei einem ersten Betriebsmodus der Speicherzellen die gespeicherten Bits in den Speicherzellen (14) der Scankette (16) um eine Bitposition weiterschiebbar sind, so daß ein Bit einer letzten Speicherzelle (14) der Scankette (16) am Ausgang der Scankette (16) ausgegeben wird, und wobei die Speicherzellen (14) ausgebildet sind, um...

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf Schaltungen aller Art und insbesondere auf die Sicherung dieser Schaltungen gegen ein Ausspionieren, wie z.B. das Sichern von Chipkarten gegen Ausspionieren mittels beispielsweise DFA-Attacken (DFA = differential fault attack).
  • In komplexen Logikschaltkreisen, wie z.B. Mikroprozessoren und Mikrocontrollern, werden in zunehmendem Maße Online-Self-Checking-Methoden (OSC; Online-Selbstüberprüfung), wie z.B. built in seif-checking-Methoden (BISC; BISC = Eingebaute-Selbstüberprüfung) und concurrent-error-detection-Methoden (CED; CED = Mitlaufende Fehler-Erfassung), implementiert. Dies liegt zum einen daran, daß bei hohen Gatterzahlen interne Komponenten wegen des wachsenden Gatter/Pin-Verhältnisses nur noch unter hohem Aufwand, wie z.B. mit einer hohen Testzeit, getestet werden können, zumal die Struktur- bzw. Patterngrößen stark anwachsen. Dies gilt insbesondere auch für Chipkarten, wo im allgemeinen nur ein oder zwei Pin mit geringer Datenübertragungsrate zur Verfügung stehen.
  • Eine bereits häufig existierende Form der Funktionsüberprüfung besteht in einem sogenannten BIST (built-in self test = eingebauter Selbsttest). Eine im zu testenden Schaltkreis integrierte Testschaltung überprüft die Funktionsfähigkeit des Schaltkreises durch Anlegen geeigneter Testmuster am Eingang des Schaltkreises und Überprüfen der Ausgabe des Schaltkreises anhand einer Wahrheitstabelle oder dergleichen. Die BIST-Schaltung wird nur einmal, nämlich unmittelbar nach Fertigstellung der zu testenden Schaltung ausgeführt und nimmt ansonsten lediglich Chipfläche ein. BIST-Schaltungen können nur permanente Fehler erkennen und gehören somit zu den sogenannten Offline-Tests.
  • Aufgrund der zunehmenden Häufigkeit von transienten Fehlern, d.h. Fehlern, die während des Betriebs der Schaltung auftreten, sind heutzutage mehr Online-Tests für die Überprüfung von Schaltkreisen notwendig. Die Häufigkeit solcher transienten Fehler während des Betriebs wächst bereits enorm durch die immer kleiner werdenden Strukturbreiten, durch die sinkenden Spannungen und die wachsende Komplexität und, damit verbunden, durch die Empfindlichkeit gegen ionisierende Strahlung, wie z.B. Neutronen- und Alpha-Strahlung, Störimpulse (glitches), Übersprechen (cross talk), Verzögerungen (delays), usw. Bei Sicherheitsanwendungen bzw. Sicherheitsapplikationen, wie z.B. Chipkartencontrollern oder Trusted-Platform-Module (TPM; Sicherheitsplattformmodul), kommen bewußt herbeigeführte Störungen und Manipulationen bei Angriffen, wie z.B. DFA-Angriffen, hinzu, wie z.B. elektrische Spikes bzw. elektrische Spannungsspitzen, Spannungsvariation, Temperaturvariation, Lichteinstrahlung, Forcing, bzw. Krafteinfluß, FIB (FIB = Focused Ion Beam = Fokussierte Innenstrahlung) usw. Ziel dieser Angriffe ist es, den Schaltkreis in einen Zustand zu bringen, bei dem derselbe fehlerhaft arbeitet, so daß es ermöglicht wird, anhand beispielsweise fehlerhafter Ausgaben des Schaltkreises geheime Informationen auszulesen oder verbotene Transaktionen durchzuführen oder einen geheimen Schlüssel zu eruieren.
  • Verfahren, die ein vollständiges Selbsttesten mit der TSC-Eigenschaft (TSC = totally self-checking = vollständige Selbstüberprüfung) während des Betriebes ermöglichen, sind beispielsweise aus „Online Check and Recovery Techniques for Dependable Embedded Processors" in IEEE Micro, Bd. 21, Nr. 5, S. 24, 2001, von M. Pflanz, H.T. Vierhaus und „An SFS Berger Check Prediction ALU an Its Application to Self-Checking Processor Designs", IEEE Trans. Corp. Design, Bd. 11, Nr. 4, S. 525, 1992, von J.-C. Lo, S. Thanawastien, T.R.N. Rao, M. Nicolaidis bekannt. Die Überprüfung während des Betriebes wird ermöglicht, indem dem zu prüfenden Schaltungsteil ein weite rer hinzugefügt wird, der dafür sorgt, daß die Eingangs- und Ausgangsdaten der kombinierten Schaltung auf eine vorbestimmte Weise voneinander abhängen, so daß das tatsächliche Ergebnis der zu überprüfenden Schaltung mit einem Vorhersageergebnis verglichen werden kann, das basierend auf den Eingangsdaten erhalten wird. Diese Selbsttest-Verfahren sind aber mit einem signifikanten Hardwareaufwand verbunden. Eine Anwendung eines dieser Selbsttest-Verfahren bei Chipkarten ist somit aufgrund der geringen zur Verfügung stehenden Chipfläche, der immensen Größe der Rechenoperanden von beispielsweise 1024 Bit bei einem Kryptocoprozessor verglichen zu 32 oder 64 bei einem heutigen Mikroprozessor, und der begrenzten zur Verfügung stehenden Energie bei beispielsweise Kontaktloschipkarten, nahezu ausgeschlossen.
  • Bisherige Lösungen zum Schutz von Chipkarten vor DFA-Angriffen sahen deshalb anstelle einer TSC-Schaltung zum Erkennen der Auswirkungen der Angriffe, nämlich des funktionalen Fehlverhaltens, Sensoren zum Erfassen der von außen kommenden Beeinflussungen auf die Chipkarte, um dieselbe zu Fehlern zu veranlassen, vor, wie z.B. einen Sensor zum Erkennen einer Spannungsvariation, eine die Schaltung schützend umgebende meanderförmige Leiterbahn in einer oberen Metallebene zur Erfassung von Temperaturvariation, elektromagnetischer Einstrahlung, mechanischen Spannungen usw. Ein Nachteil an der bisherigen Vorgehensweise zur Erfassung von DFA-Angriffen besteht darin, daß die Sensoren nicht das erfassen, was tatsächlich von Interesse ist, nämlich ob die Schaltung in einen Zustand versetzt worden ist, in der sie fehlerhaft arbeitet, oder nicht. Die Sensoren definieren lediglich einen abschließenden Katalog von Chipbeeinflussungen, die durch die Sensoren erfaßt werden können. Mögliche weitere Chipbeeinflussungen, die die Schaltung ebenfalls in einen fehlerhaft arbeitenden Zustand versetzen, führen somit zum Erfolg, da sie nicht erfaßt werden.
  • Die DE 190 37 992 A1 zeigt einen in verschiedenen Betriebsarten betreibbaren Baustein, von denen eine der Normalbetrieb und eine weitere ein Online-Selbsttestbetrieb ist. Insbesondere wird die Unterteilung einer ASIC in mehrere Testgruppen beschrieben. Eine Testgruppe umfaßt eine kombinatorische Logik, ein fehlersicheres 10-Bit-D-Flip-Flop, eine Ausgangslogik, ein Schieberegister sowie einen Testmustergenerator. Sogenannter Testmodus bzw. Testbetrieb untergliedert sich in Schiebmodus, Signaturbildungsmodus und Verdrahtungsmodus. Wird ein Fehler entdeckt, wird ein sichere Zustand des Prozessors, in welchem die ASIC eingesetzt ist, herbeigeführt, bzw. aufrechterhalten bzw. das System in einem sicheren Zustand gebracht.
  • Die DE 37 90 186 C2 beschreibt ein fehlersicheres Computersystem.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine Schaltung mit Schutz vor Ausspionieren derselben sowie ein Verfahren zum Betreiben derselben zu schaffen, die die Sicherheit erhöhen und/oder den Hardwareaufwand der Schaltung verringern.
  • Diese Aufgabe wird durch eine Schaltung gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 13 gelöst.
  • Die Erkenntnis der vorliegenden Erfindung besteht darin, daß das Online-Self-Checking zum Schutz von Schaltungen gegen Manipulation bzw. gegen hierauf beruhendes Ausspionieren mit vertretbarem und, in der Gesamtbetrachtung, sogar geringerem Aufwand verwendet werden kann, wenn man die strenge TSC-Eigenschaft aufgibt, nämlich die 100%-ige Überprüfbarkeit der Richtigkeit der Ergebnisse der zu überprüfenden Schaltung, wie z.B. eines Addierers, ohne Unterbrechung des normalen Betriebs durch Anfügen eines Schaltungsteils, der die korrekten Ausgangsdaten aus den Eingangsdaten der kombinierten Schaltung vorhersagen läßt. Erfindungsgemäß wird eine zu testende Schaltung mit einer Überwachungseinrichtung versehen, die eine Testphase durchführt, in der das Zwischenergebnis in den Zwischenspeichern der zu schützenden Schaltung, das eine Recheneinheit der zu testenden Schaltung im Betrieb in dieselben schreibt, gesichert wird, ein Testmuster in die Zwischenspeicher geladen wird, ein Inhalt der Zwischenspeicher ausgelesen wird, und der ausgelesene Inhalt auf einen Fehler hin überprüft wird, wobei ein Alarmsignal ausgelöst wird, falls sich bei der Überprüfung ein Fehler ergibt. Eine Maßnahmeeinrichtung ergreift ansprechend auf das Alarmsignal eine Maßnahme gegen ein Ausspionieren der Schaltung, wie z.B. ein Ausschalten der Schaltung oder ein Verhindern jeglicher Ausgabe der Schaltung bis hin zum Zerstören jeglicher schätzenswerter Daten auf der Schaltung.
  • Das Sichern des Zwischenergebnisses ermöglicht die Restauration des Zwischenergebnisses in dem Zwischenspeicher vor dem normalen Fortgang des Betriebs der Schaltung nach der Testphase in dem Fall, daß sich bei der Überprüfung kein Fehler ergeben hat, was ja auf das Nichtvorliegen eines Angriffes rückschließen läßt. Da durch das Sichern des Zwischenergebnisses die Recheneinheit ihren Betrieb nach der Testphase ohne weiteres fortsetzen kann, können Testphasen in jeglichem Zeitintervall aktiviert werden. Mehrmalige Testmuster-Überprüfungsvorgänge können während einer Testphase mit unterschiedlichen Testmustern durchgeführt werden, um den Grad an Fehlererkennung und damit Sicherheit gegen physikalische Angriffe bzw. Manipulationen zu erhöhen.
  • Wird zwischen dem Laden des Testmusters in die Zwischenspeicher und dem Auslesen des Inhalts der Zwischenspeicher durch die Überwachungseinrichtung die Recheneinheit zur Erzeugung eines weiteren Zwischenergebnisses aus dem Testmuster aktiviert, so kann bei der Überprüfung anhand beispielsweise einer Wahrheitstabelle oder dergleichen die Funktionstüchtigkeit der Schaltung überprüft werden. Ohne Aktivierung der Recheneinheit zwischen Laden des Testmusters und Auslesen des Zwischenspeicherinhalts kann durch Überprüfung der Übereinstimmung zwischen ausgelesenem Inhalt und geladenem Testmuster zumindest die Funktionalität der Zwischenspeicher überprüft werden, deren Fehlfunktion ja ebenfalls zu einem fehlerhaften Endergebnis der Recheneinheit führen würde.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein vereinfachtes Blockschaltbild einer Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 die Verschaltung der Zwischenspeicher untereinander und mit der zu überwachenden Logik der Schaltung von 1 auf detailliertere Weise;
  • 3 ein Ablaufdiagramm, das die Funktionsweise der Überwachungseinrichtung der Schaltung von 1 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt; und
  • 4 einen Volladdierer als Beispiel für eine zu überwachende Logik.
  • 1 zeigt eine Schaltung mit Schutz vor Manipulieren derselben, die allgemein mit 10 angezeigt ist. Die Schaltung 10 umfaßt eine Recheneinheit 12 oder, wie sie im folgenden bezeichnet wird, eine kombinatorische Logik 12. Die kombinatorische Logik 12 ist mit n Zwischenspeichern 14 verbunden, wobei dieselben in 1 exemplarisch mit 1, 2, ..., n numeriert sind. Die Zwischenspeicher 14 sind nicht nur mit den Ein/Ausgängen der Logik 12 verbunden sondern sind ferner zu einer Scankette 16 hintereinander geschaltet, wobei die Reihenfolge, in der dieselben zu der Scankette 16 zusammengeschaltet sind, der Numerierung entspricht.
  • Die Schaltung 10 umfaßt ferner eine Überwachungseinrichtung 18 sowie m Extrazellen 20, die ebenfalls mit 1, ..., m numeriert sein. Scankette 16, Überwachungseinrichtung 18 und Extrazellen 20 sind hintereinander geschaltet, um einen geschlossenen Ring 22 zu bilden. Wie es im folgenden noch näher erläutert werden wird, wird der Ring 22 durch die Überwachungseinrichtung 18 in einer Schieberichtung 24 betrieben, um die gespeicherten Daten bzw. Bits in den Zwischenspeichern 14 bzw. den Extrazellen 20 in Schiebevorgängen in Schieberichtung 24 zyklisch von Zelle zu Zelle zu schieben. In Schieberichtung 24 gesehen, ist die Überwachungseinrichtung 18 zwischen dem Ausgang der Scankette 16 und den Extrazellen 20 angeordnet, und die Extrazellen 20 sind zwischen Überwachungseinrichtung 18 und einem Eingang der Scankette 16 angeordnet. Ein Ausgang der Überwachungseinrichtung 18, an welchem dieselbe ein Alarmsignal ausgeben kann, ist mit einer Maßnahmeeinrichtung 26 der Schaltung 10 verbunden, deren Aufgabe, wie im folgenden beschrieben wird, darin besteht, Maßnahmen gegen potentielle Angriffe zu unternehmen, in dem Fall, daß die Überwachungseinrichtung 18 das Alarmsignal ausgibt.
  • Bevor Bezug nehmend auf 3 die Funktionsweise der Schaltung von 1 erläutert wird, wird anhand von 2 die Verschaltung der Speicherzellen 14 zu der Scankette 16, sowie die Verschaltung derselben mit der Logik 12 näher erläutert. 2 zeigt exemplarisch sechs der Speicherzellen 14, die mit 1, 2, 3, 4, 5 und n numeriert sind und durch das Bezugszeichen 14 mit der Nummer als Index angezeigt werden. 2 zeigt ferner die kombinatorische Logik 12. Die Zwischenspeicher 14 sind als umschaltbare Flip-Flop-Zellen ausgeführt, wie es im folgenden detaillierter beschrieben wird. Jeder Zwischenspeicher 14 umfaßt zwei Eingänge und zwei Ausgänge. Jeder Eingang ist dadurch angezeigt, daß die jeweilige Verbindungslinie an der Speicherzelle 14 eine Pfeilspitze aufweist. Verbindungslinien an einem Ausgang einer Speicherzelle 14 fußen an dieser Speicherzelle 14 lediglich.
  • Jeweils ein erster Eingang jedes Zwischenspeichers 14 ist mit einem Ausgang der Logik 12 sowie mit einem ersten Ausgang derjeniger Speicherzelle verbunden, die einen um 1 niedrigeren Index aufweist. Der erste Eingang des Zwischenspeichers 141 ist, wie es aus 1 hervorgeht, mit dem Ausgang der Extrazelle 20m und der erste Ausgang des Zwischenspeichers 14n mit einem Eingang der Überwachungseinrichtung 18 verbunden. Der zweite Ausgang jedes Zwischenspeichers 14 ist mit einem Eingang der Logik 12 verbunden. Ein zweiter Eingang jedes Zwischenspeichers 14 erhält das ein und dasselbe Signal, nämlich eines, welches von der Überwachungseinrichtung 18 erzeugt wird und angibt, ob eine Testphase vorliegt oder ein normaler Betriebszustand.
  • Die Funktionsweise der Zwischenspeicher 14 ist derart, daß, wenn das Testphase-Signal anzeigt, daß eine Testphase der Schaltung 10 vorliegt, ansprechend auf die Ankunft eines zu speichernden Bits am ersten Eingang das derzeitig gespeicherte Bit an dem ersten Ausgang an den jeweils nächsten Zwischenspeicher mit um 1 höherem Index ausgegeben wird, um das ankommende Bit zu speichern. Zeigt das Testphase-Signal von der Überwachungseinrichtung 18 an, daß keine Testphase vorliegt, wird ansprechend auf die Ankunft eines zu speichernden Bits am ersten Eingang das aktuell gespeicherte Bit an dem zweiten Ausgang an die Logik 12 ausgegeben, die diese Bits in einem nächsten Arbeitszyklus als Eingangsdaten zur weiteren Verarbeitung verwendet, um am Ende des Zyklus ein neues Zwischenergebnis in Form von Bits über die ersten Eingänge in die Zwischenspeicher 14 zu speichern.
  • Anhand von 3 und unter zusätzlicher Bezugnahme auf 1 und 2 wird nun im folgenden die Funktionsweise der Schaltung 10 im Hinblick auf den Schutz vor einem Manipulieren der Schaltung 10 beschrieben, wobei im folgenden exemplarisch davon ausgegangen wird, daß es sich bei der Schaltung 20 um einen Chip einer Chipkarte handelt. Die Aufgabe der Überwachungseinrichtung 18 besteht darin, intermittierend im Rahmen von Testphasen die Logik 12 auf ihre Fehlerfreiheit hin zu überprüfen, und in dem Fall eines erfaßten Fehlers in der Annahme, daß der Fehler aus einem physikalischen Angriff von außen bzw. einer Manipulation im Rahmen eines DFA-Angriffs herrührt, ein Alarmsignal an die Manipulationseinrichtung 26 auszugeben, die ansprechend hierauf ihrerseits wiederum Maßnahmen gegen den vermuteten Angriff ergreift, um das vermutete Ausspähen zu vereiteln.
  • Zunächst erzeugt in einem Schritt 50 die Überwachungseinrichtung 18 ein geeignetes Testmuster, d.h. ein Testbitmuster der Länge m, und zwar beispielsweise pseudozufällig oder auf deterministische Weise durch Optimierung, z.B. nach ATPG (ATPG = Automated Test Pattern Generation = automatisierte Testmu stererzeugung). Die deterministische Bestimmung kann vorab, beispielsweise bei Chip-Entwurf, durchgeführt worden sein, um eine Liste von Testmustern zu erzeugen, wobei in Schritt 50 lediglich das nächste Testmuster aus der Liste ausgewählt wird. Da das Testmuster wie im folgenden noch erläutert dazu vorgesehen ist, die Logik 12 auf ihre Funktionsfähigkeit hin zu überprüfen, kann das Testmuster derart ausgelegt sein, daß es zusammen mit den davor und danach noch verwendeten Testmustern in der Liste mit einer möglichst geringen Anzahl von Testmustern möglichst viele der Logikgatter oder sonstigen Bestandteile der kombinatorischen Logik 12 überprüft.
  • In einem Schritt 52 lädt die Überwachungseinrichtung 18 die Extrazellen 20 mit dem in Schritt 50 erzeugten Testmuster. Hierzu verwendet die Überwachungseinrichtung 18 beispielsweise eine in 1 nicht gezeigte direkte Verbindung mit jeder der Extrazellen 20.
  • Während der Schritte 50 und 52 kann die kombinatorische Logik 12 ihre Arbeit, wie z.B. eine kryptographische Berechnung, eine Kommunikation mit einem Terminal der Chipkarte, usw., ungehindert fortsetzen, indem dieselbe in aufeinanderfolgenden Zyklen arbeitend Zwischenergebnisse in die Zwischenspeicher 14 lädt, um dieselben beim nächsten Zyklus auszulesen, zu verarbeiten und das sich wiederum neu ergebende Zwischenergebnis wieder in die Zwischenspeicher 14 zu speichern, usw. Hierbei ist es für die nachfolgende Beschreibung des vorliegenden Ausführungsbeispiels unerheblich, ob die Logik synchron oder asynchron arbeitet.
  • Zu einem geeigneten Zeitpunkt wird jedoch der normale Betrieb der Logik 12 durch die Überwachungseinrichtung 18 zugunsten einer Testphase unterbrochen (Schritt 54). Hierzu trennt beispielsweise die Überwachungseinrichtung 18 die Logik 12 von der Versorgungsspannung oder gibt ein Leerlauf-Signal an die Logik 12 aus. Der Zeitpunkt bestimmt sich entweder basierend auf einem Taktsignal von beispielsweise einem mit der Chip karte 10 kommunizierenden Terminal, so daß die Testphasen zeitlich äquidistant nach einer vorbestimmten Anzahl an Taktzyklen durchgeführt werden, oder ist beispielsweise durch die Programmierung der Chipkarte 10 an speziellen Phasen einer Transaktion mit einem Terminal, wie z.B. an Wartezeiten auf eine Antwort von dem Terminal, vorgesehen. Bevorzugt sind hierbei im letztgenannten Fall insbesondere Phasen, an denen die Logik ohnehin nicht ausgelastet ist, wie z.B. während der erwähnten Wartezeit oder der Programmierung eines Flash-Speichers oder dergleichen.
  • Nach der Unterbrechung 54 befinden sich in den Zwischenspeichern 14 Bits, die das aktuelle Zwischenergebnis der Logik 12 darstellen. Wie es aus der folgenden Beschreibung deutlich werden wird, erfüllen die Extrazellen 20 neben ihrer Funktion der Einspeisung des Testmusters in die Scankette 16 ferner die Funktion der Speicherung zumindest eines relevanten Teils des aktuellen Zwischenergebnisses.
  • In einem Schritt 56 bewirkt dann die Überwachungseinrichtung 18n (n ∊ IN) Schiebevorgänge in dem Ring 22 in Schieberichtung 24, so daß die Bits in den Speicherzellen 14 und den Extrazellen 20 um jeweils n Zellen in Schieberichtung 24 versetzt werden, so daß sich beispielsweise das Bit in der Speicherzelle 141 nach dem Schritt 56 in der Extrazelle 201 befindet. Bei jedem Schiebevorgang läßt die Überwachungseinrichtung 18 das Bit von der Speicherzelle 141 zu der Extrazelle 201 durch.
  • In dem Fall, daß n = m, befindet sich das aktuelle Zwischenergebnis der Logik 12 nach dem Schritt 56 vollständig in den Extrazellen 20. Dies gilt auch für den Fall n < m. In dem Fall, daß m < n, befinden sich nach dem Schritt 56 die Bits m + 1, m + 2, ..., n des aktuellen Zwischenergebnis in den Zwischenspeichern 141 bis 14n-m . In diesem Fall ist durch geeignete Auswahl der Reihenfolge der Hintereinanderschaltung der Zwischenspeicher 14 und/oder durch geeignete Auswahl des Testmusters dafür Sorge zu tragen, daß entweder deren Inhalt im Rahmen des anschließend durchgeführten Testzyklus nicht überschrieben wird, oder daß ein Überschreiben des Inhalts dieser Speicherzellen für den Betrieb der Logik 12 nach dem Testzyklus keine Auswirkung hat. Nach dem Schritt 56 sind jedoch zumindest Teile der Zwischenspeicher 14 mit Testmusterbits belegt bzw. geladen.
  • In einem Schritt 58 aktiviert die Überwachungseinrichtung 18 die Logik 12 zur Durchführung eines Testzyklus, d.h. für die Dauer eines Zyklus, in welchem die Logik 12 basierend auf dem aktuellen Inhalt der Zwischenspeicher 14 ein neues Zwischenergebnis berechnet und in die Zwischenspeicher 14 einträgt. Im Anschluß daran bewirkt die Überwachungseinrichtung 18 in einem Schritt 60 ein m-faches Schieben der Bits in dem Ring 22 in Schieberichtung 24, wobei sie zugleich den Wert jedes Bits, das von dem Zwischenspeicher 14n an die Extrazelle 201 weitergeleitet wird, erfaßt. Nach den n + m Schiebvorgängen in den Schritten 56 und 60 ist der Ausgangszustand wieder hergestellt, der bei Beginn des Testzyklus in Schritt 54 vorlag.
  • Anhand der erfaßten Bits, die den Inhalt der Speicherzellen 14 bzw. 14n-m + 1 – 14n nach dem Testzyklus darstellen, überprüft die Überwachungseinrichtung 18 in einem Schritt 62, ob die Logik 12 korrekt arbeitet bzw. fehlerhaft arbeitet. Hierzu umfaßt die Überwachungseinrichtung 18 beispielsweise eine Nachschlagtabelle, in der zu jedem möglichen Testmuster, welches in dem Schritt 50 erzeugt werden kann, das zugehörige Sollergebnis gespeichert ist, welches die Logik 12 in einem fehlerfrei arbeitenden Zustand nach einem Zyklus mit dem Testmuster als Eingangsdaten ausgeben würde. Ergibt die Überprüfung keinen Fehler, gibt die Überwachungseinrichtung 18 kein Aktivierungssignal an die Maßnahmeeinrichtung 26 aus, sondern hebt in einem Schritt 64 die Unterbrechung der Logik 12 wieder auf, um dieselbe zur Weiterverarbeitung des sich wieder in den Speicherzellen 14 befindenden Zwischenergebnisses zu aktivieren.
  • Ergibt sich jedoch bei der Überprüfung durch die Überwachungseinrichtung 18 in Schritt 62 eine fehlerhafte Funktionsweise, so gibt die Überwachungseinrichtung 18 das Alarmsignal an die Maßnahmeeinrichtung 26 aus, die in einem Schritt 66 eine Maßnahme gegen einen vermuteten DFA-Angriff ausführt. Eine solche Maßnahme umfaßt beispielsweise das Ausschalten der gesamten Schaltung 10, das Verhindern, daß die Schaltung 10 nach außen hin Daten ausgibt, aus denen der potentielle Angreifer Rückschlüsse auf einen Kryptoschlüssel ziehen könnte, und/oder das Vernichten von geheimen Daten auf der Chipkarte 10, wie z.B. eines Kryptoschlüssels, eines Guthabens, einer PIN oder dergleichen.
  • Bei der vorhergehenden Beschreibung ist lediglich vereinfachend davon ausgegangen worden, daß unter Verwendung der Zwischenspeicher 14 die gesamte Schaltung vor Angriffen geschützt wird. Zu groß und komplex ist jedoch der gesamte Logikaufbau einer Chipkarte. Zur Realisierung des Ausführungsbeispiels von 13 wird deshalb bevorzugt, wenn die zu schützende Schaltung mehrere Scanketten 16 der Länge Li mit i = 1 ... N aufweist, die durch extra Flip-Flop-Zellen 20 der Länge Lm erweitert und zu Ringen geschlossen werden, wie es in 1 exemplarisch für eine Scankette bezüglich einer Logik gezeigt wurde. Jeder solcher Ring 22 wäre dann zur Überprüfung desjenigen Teils der Schaltung 10 vorgesehen, der geeignet ist, zum Zwischenergebnis in den jeweiligen Zwischenspeichern 14 dieses Rings 22 beizutragen, und deckte somit einen gewissen Teil der Schaltung 10 flächenhaft ab. Jede solche Ringeinheit wirkte folglich als ein Sensor gegen physikalische Angriffe und Manipulationen bezüglich seines Schaltungsteils, wobei alle Ringeinheiten zusammen einen mächtigen Sensor gegen physikalische Angriffe darstellten, der die Eigenschaft besitzt, daß die Integrität flächendec kend, d.h. über die ganze Fläche der Schaltung 10, überprüft wird.
  • Zudem wurde bei der Beschreibung von 3 lediglich die Verwendung eines Testmusters beschrieben. Freilich wird durch dieses Testmuster häufig lediglich ein Teil aller im Testzyklus zum Ergebnis beitragenden Logikgatter der Logik 12 sicher getestet. Es ist deshalb bevorzugt, daß die Überwachungseinrichtung 18 mit der Erzeugung des Testmusters in Schritt 50 unterschiedliche Testmuster erzeugt, um die Schaltung 10 in einem gewissen Zeitraum mit einem Satz von unterschiedlichen Testmustern zu testen. Dies kann entweder im Rahmen einer Testphase durch Wiederholen der Schritte 56, 58, 60 und 62 mit unterschiedlichen Testmustern oder in aufeinanderfolgenden Testphasen mit dazwischen angeordneten Normalarbeitsphasen der Logik 12 erfolgen. Durch geeignete Auswahl der Testmuster und Optimierung derselben kann auf diese Weise mit relativ wenig Testmustern ein Großteil der Schaltung 10 auf einen Fehler hin überprüft werden, wodurch äußere Manipulationen an der Chipkarte durch einen DFA-Angreifer wirksam vermieden werden.
  • Als Beispiel für einen Teil der zu überwachenden Logik 12 ist in 4 ein Volladdierer 70 gezeigt. Er umfaßt die Eingänge a, b, c0 und die Ausgänge c1 und s1. Die Funktionsweise des Volladdierers 70 kann der Wahrheitstabelle in Tabelle 1 entnommen werden, in der in den linken drei Spalten 1 bis 3 alle möglichen 8 Bitkombinationen für die Eingangswerte a, b, c0 gezeigt sind, während in den rechten Spalten 4 und 5 die sich ergebenden Bitwerte an den Ausgängen c1 und s1 gezeigt sind. Tabelle 1:
    a. b. c0 s1 C1
    0 0 0 0 0
    0 1 0 1 0
    1 0 0 1 0
    1 1 0 0 1
    0 0 1 1 0
    0 1 1 0 1
    1 0 1 0 1
    1 1 1 1 1
  • Die Eingänge a, b, und c0 sind exemplarisch mit jeweils dem zweiten Ausgang des Zwischenspeichers 14, 142 und 143 verbunden, während die Ausgänge c1 und s1 des Volladdierers 70 mit dem ersten Eingang der Zwischenspeicher 144 bzw. 145 verbunden sind. Weiß demnach die Überwachungseinrichtung 18 aufgrund des Testmusters nach dem Schritt 56, welche Bitwerte sich in den Zwischenspeichern 14, 142 und 143 befinden, so kann sie unter Verwendung der entsprechenden Zeile als Index für den Inhalt der Spalten 1 bis 3 durch Zugriff auf die Wahrheitstabelle, insbesondere Spalten 4 und 5, die Inhalte in den Zwischenspeichern 144 und 145 für den Fall vorhersagen, daß der Volladdierer 70 korrekt funktioniert. Ergibt der Vergleich der tatsächlichen Inhalte dieser Zwischenspeicher 144 und 145 in dem Schritt 62 eine Abweichung von den vorhergesagten Werten, so ist ein Angriff mit einer Beeinflussung der Schaltung von außen, wie z.B. ein stuck-at-1 bzw. ein Festhalten auf Eins eines internen Logikelements in dem Addierer, anzunehmen, und die Überwachungseinrichtung gibt ein Alarmsignal aus, wie es im vorhergehenden beschrieben worden ist.
  • Die im vorhergehenden Bezug nehmend auf die 14 beschriebenen Ausführungsbeispiele stellen folglich eine Schaltung mit OSC-Eigenschaft zur signifikanten Fehlererkennung dar. Im Prinzip kann jede Schaltung auf die im vorhergehenden beschriebene Weise mit einer OSC-Eigenschaft versehen werden. In dem Fall, daß die Schaltung bereits eine BIST-Logik besitzt, d.h. eine Logik zur einmaligen Prüfung der Funktionsfähigkeit der Schaltung im Rahmen des Herstellungsprozesses durch Anlegen bekannter Testmuster und Vergleichen des Ergebnisses mit vorbekannten Sollausgangswerten aus einer Wahrheitstabelle, kann auf diese vorhandene BIST-Logik zurückgegriffen werden, um dieselbe geeignet zu modifizieren, nämlich beispielsweise um die Zwischenspeicher, die Extrazellen, den Ringschluß, und den durch die Überwachungseinrichtung gesteuerten Ablauf von 3. Die OSC-Eigenschaft wird dadurch erzielt, daß ein Online-Selbsttest (OST) in periodischen Abständen aktiviert wird. Die entstehende Schaltung von 1 kann hierbei sowohl als Produktionstest unmittelbar bei Herstellung der Schaltung 10 als auch, wie beschrieben, als CED- bzw. BISC-Einheit verwendet werden, so daß sich quasi eine Schaltung mit periodischer OSC-Eigenschaft ergibt. Die Kombination aus Zwischenspeichern, Überwachungseinrichtung und Extrazellen stellt einen mächtigen Sensor gegen physikalische Angriffe und Manipulationen dar, der die Eigenschaft besitzt, daß die Integrität flächendeckend, d.h. über die ganze Fläche der Schaltung überprüft werden kann. Hierbei kann Online-Self-Checking als eine kostengünstige Alternative zu einem aktiven Shield bzw. Schutz gelten, der beispielsweise eine meanderförmige Leiterbahn umfaßt, wodurch eine Metallebene eingespart werden könnte.
  • Prozessoren im allgemeinen, insbesondere aber Chipkarten oder TPM haben eine vergleichsweise geringe Grundlast. Deshalb könnten Leerlaufperioden bzw. Leerlaufzyklen für die im vorhergehenden beschriebenen Testphasen genutzt werden, ohne zu wesentlichen Leistungseinbußen zu führen. Bei Chipkarten könnten die Testphasen während einer NVM- (Non Volatile Memory) Programmierung, einer Coprozessorverarbeitung oder der Wartezeit auf eine Transaktion durchgeführt werden. Die Testphase könnte beispielsweise auch nach jeden Sleep-Zustand der Schaltung, wie z.B. einem Taktstop (clock-stop) oder einem Versorgungsabschaltvorgang (supply shut-down) aktiviert werden, um die Integrität des aktiven Operationszustands bzw. des darauffolgenden Operationszyklus zu gewährleisten.
  • Es sei darauf hingewiesen, daß die Dauer der Testphase und die Testabdeckung, d.h. die durch die Testphase überprüften Logikelemente, durch die Wahl von n, m und des Testmusters geeignet eingestellt werden können. Eine Erhöhung der Testabdeckung, wie z.B. beim Produktionstest, wird, wie oben beschrieben, beispielsweise durch K-faches Schieben, mit k × (n + m), k = 1 ... K, mit wechselnden Testmustern erreicht. In einer Online-Testphase kann K entsprechend der zur Verfügung stehenden Zeit dynamisch eingestellt werden.
  • Bezug nehmend auf die vorhergehenden detaillierte Beschreibung wird darauf hingewiesen, daß es nicht notwendig ist, zum Schutz der Schaltung 10 vor einem Ausspionieren die Logik für einen Testzyklus zu aktivieren. Ein Testmuster der Bitlänge 2 von beispielsweise „01" könnte beispielsweise dazu verwendet werden, einen stuck-at-1 bzw. stuck-at-0 (Feststecken-auf-1 bzw. Feststecken-auf-0) eines der Zwischenspeicher festzustellen, indem die Überwachungseinrichtung in Schritt 62 feststellt, ob ein Übergang von 0 auf 1 bei den die Überwachungseinrichtung 18 durchlaufenden Bits in dem Schritt 60 auftritt.
  • Ferner ist die vorliegende Erfindung nicht nur bei Chipkarten oder TPMs anwendbar, sondern bei Schaltungen jeglicher Art.
  • Entgegen der vorhergehenden Beschreibung ist es nicht notwendig, daß die Zwischenspeicher zu einem Ring geschlossen werden. Vielmehr wäre es möglich, das Zwischenergebnis der Logik 12 mittels der Scankette am Beginn der Testphase auszulesen und an einem hierfür extra vorgesehenen Speicher vorübergehend zu sichern, bis am Ende der Testphase das Zwischenergebnis wieder in den Zwischenspeichern restauriert bzw. über die Scankette eingetaktet werden soll. Freilich ermöglicht das Schließen der Scankette zu einem Ring das gleichzeitige Auslesen des aktuellen Inhalts der Zwischenspeicher sowie das Laden derselben mit dem Testmuster und schafft inhärent einen Puffer zum Zwischenspeichern des aktuellen Zwischenergebnisse vor der Testphase, damit die Logik mit diesem Zwischenergebnis nach der Testphase wieder weiterlaufen kann.
  • Ferner wäre anstatt des sequentiellen Auslesens und Beschreibens der Speicherzellen auch ein paralleler Zugriff auf dieselben durch die Überwachungseinrichtung möglich.
  • Obwohl im vorhergehenden von lediglich einem Testzyklus für ein Testmuster der Rede war, könnte zur Überprüfung der Funktionstüchtigkeit der Logik ferner auch eine höhere Anzahl an Testzyklen verwendet werden, wenn gleichzeitig auch eine Wahrheitstabelle verwendet wird, die die Sollergebnisse der Logik nach dieser Anzahl von Testzyklen angibt.

Claims (9)

  1. Schaltung mit einer Recheneinheit (12); einer Mehrzahl von Zwischenspeichern (14) zum Speichern von Zwischenergebnissen, wobei die Recheneinheit (12) ausgebildet ist, um im Betrieb in aufeinanderfolgenden Zyklen zu arbeiten, um in einem Zyklus das Zwischenergebnis in die Zwischenspeicher (14) zu schreiben und in einem darauffolgenden Zyklus das Zwischenergebnis auszulesen und weiter zu verarbeiten, um ein neues Zwischenergebnis zu erhalten und in die Zwischenspeicher (14) zu schreiben, wobei die Zwischenspeicher (14) eine Mehrzahl von Speicherzellen (14) zur Speicherung eines Bits des Zwischenergebnisses aufweisen, wobei die Speicherzellen zu einer Scankette (16) mit einem Eingang und einem Ausgang verschaltet und derart ausgebildet sind, daß bei einem ersten Betriebsmodus der Speicherzellen die gespeicherten Bits in den Speicherzellen (14) der Scankette (16) um eine Bitposition weiterschiebbar sind, so daß ein Bit einer letzten Speicherzelle (14) der Scankette (16) am Ausgang der Scankette (16) ausgegeben wird, und wobei die Speicherzellen (14) ausgebildet sind, um bei einem zweiten Betriebsmodus das Bit des Zwischenergebnisses eines Zyklus zu speichern und das gespeicherte Bit bei einem darauffolgenden Zyklus an die Recheneinheit (12) auszugeben, und wobei die Speicherzellen (14) zusammen mit einer Mehrzahl von Zusatzspeicherzellen (20) zu einem Ring geschlossen sind, so daß die gespeicherten Bits in einer Durchlaufrichtung (24) zellenweise in dem Ring verschiebbar sind; einer Überwachungseinrichtung (18) zum Durchführen einer Testphase der Schaltung, die folgende Merkmale aufweist: eine Einrichtung zum Laden (56) eines Testmusters in die Zusatzspeicherzellen (20); eine Einrichtung zum Schieben des Testmusters durch den Ring, so dass sich das Testmuster in den Speicherzellen (14) und das Zwischenergebnis in den Zusatzspeicherzellen befindet; eine Einrichtung zum Aktivieren (58) der Recheneinheit für einen oder mehreren Zyklen, so dass dieselbe das Testmuster ausliest und verarbeitet, um ein Testergebnis zu erhalten, und das Testmuster in die Zwischenspeicher (14) schreibt; eine Einrichtung zum Schieben des Testmusters um weitere Bits, so daß sich das Testergebnis in den Zusatzspeicherzellen und das Zwischenergebnis in den Speicherzellen befindet; und eine Einrichtung zum Überprüfen (62) des Testergebnisses auf einen Fehler hin und zum Ausgeben eines Alarmsignals, falls sich bei der Überprüfung ein Fehler ergibt; und einer Maßnahmeeinrichtung (26) zum Ergreifen einer Maßnahme gegen ein Ausspionieren der Schaltung ansprechend auf das Alarmsignal.
  2. Schaltung gemäß Anspruch 1, bei der die Überwachungseinrichtung (18) ferner eine Einrichtung zum Anhalten des Betriebs der Recheneinheit (12) bei Beginn der Testphase und zum Reaktivieren des Betriebs der Recheneinheit (12) am Ende der Testphase aufweist.
  3. Schaltung gemäß Anspruch 1 oder 2, wobei die Schaltung ferner eine Aktivierungseinrichtung zum intermittierenden Ak tivieren der Testphase der Überwachungseinrichtung (18) aufweist.
  4. Schaltung gemäß einem der Ansprüche 1 bis 3, bei dem die Überwachungseinrichtung (18) eine Einrichtung zum Schreiben des gesicherten Zwischenergebnisses in die Zwischenspeicher (18) vor dem Ende der Testphase aufweist.
  5. Schaltung gemäß einem der Ansprüche 1 bis 4, bei dem die Überprüfungseinrichtung (18) ausgebildet ist, um bei der Überprüfung der ausgelesenen Inhalts denselben mit dem Testmuster zu vergleichen, um bei einer Abweichung des ausgelesenen Inhalts von dem Testmuster einen Fehler festzustellen.
  6. Schaltung gemäß Anspruch 5, bei dem die Überprüfungseinrichtung ausgebildet ist, um bei der Überprüfung des ausgelesenen Inhalts denselben mit einem Sollergebnis zu vergleichen, das einem Zwischenergebnis entspricht, wie es sich bei fehlerlosem Betrieb der Recheneinheit (12) ergeben würde.
  7. Schaltung gemäß Anspruch 6, bei dem die Überwachungseinrichtung (18) eine Steuereinrichtung aufweist, die ausgebildet ist, um die Einrichtungen zum Laden, Aktivieren, Auslesen und Überprüfen vor dem Laden des Zwischenergebnis in die Zwischenspeicher (14) für unterschiedliche Testmuster wiederholt zu aktivieren.
  8. Schaltung gemäß einem der Ansprüche 1 bis 7, bei der die Maßnahmeeinrichtung (26) ausgebildet ist, um beim Ergreifen der Maßnahme die Schaltung auszuschalten, das Zwischenergebnis zu löschen, eine Vernichtung von auf der Schaltung gespeicherten Daten vorzunehmen und/oder eine Ausgabe der Schaltung zu unterbinden.
  9. Verfahren zum Betreiben einer Schaltung mit einer Recheneinheit, einer Mehrzahl von Zwischenspeichern zum Speichern von Zwischenergebnissen, einer Überwachungseinrichtung zum Durchführen einer Testphase der Schaltung und einer Maßnahmeeinrichtung zum Ergreifen einer Maßnahme gegen ein Ausspionieren der Schaltung, wobei die Recheneinheit (12) ausgebildet ist, um im Betrieb in aufeinanderfolgenden Zyklen zu arbeiten, um in einem Zyklus das Zwischenergebnis in die Zwischenspeicher (14) zu schreiben und in einem darauffolgenden Zyklus das Zwischenergebnis auszulesen und weiter zu verarbeiten, um ein neues Zwischenergebnis zu erhalten und in die Zwischenspeicher (14) zu schreiben, wobei die Zwischenspeicher (14) eine Mehrzahl von Speicherzellen (14) zur Speicherung eines Bits des Zwischenergebnisses aufweisen, wobei die Speicherzellen zu einer Scankette (16) mit einem Eingang und einem Ausgang verschaltet und derart ausgebildet sind, daß bei einem ersten Betriebsmodus der Speicherzellen die gespeicherten Bits in den Speicherzellen (14) der Scankette (16) um eine Bitposition weiterschiebbar sind, so daß ein Bit einer letzten Speicherzelle (14) der Scankette (16) am Ausgang der Scankette (16) ausgegeben wird, und wobei die Speicherzellen (14) ausgebildet sind, um bei einem zweiten Betriebsmodus das Bit des Zwischenergebnisses eines Zyklus zu speichern und das gespeicherte Bit bei einem darauffolgenden Zyklus an die Recheneinheit (12) auszugeben, und wobei die Speicherzellen (14) zusammen mit einer Mehrzahl von Zusatzspeicherzellen (20) zu einem Ring geschlossen sind, so daß die gespeicherten Bits in einer Durchlaufrichtung (24) zellenweise in dem Ring verschiebbar sind, mit folgenden Schritten: Laden eines Testmusters in die Zusatzspeicherzellen (20) durch die Überwachungseinrichtung; Schieben des Testmusters durch den Ring, so dass sich das Testmuster in den Speicherzellen (14) und das Zwischenergebnis in den Zusatzspeicherzellen befindet; Aktivieren (58) der Recheneinheit für einen oder mehreren Zyklen, so dass dieselbe das Testmuster ausliest und verar beiten, um ein Testergebnis zu erhalten, und das Testmuster in die Zwischenspeicher (14) schreibt Schieben des Testmusters um weitere Bits, so daß sich das Testergebnis in den Zusatzspeicherzellen und das Zwischenergebnis in den Speicherzellen befindet; Überprüfen des Testergebnisses auf einen Fehler hin durch die Überwachungseinrichtung und Ausgeben eines Alarmsignals, falls sich bei der Überprüfung ein Fehler ergibt; und Ergreifen einer Maßnahme gegen ein Ausspionieren der Schaltung ansprechend auf das Alarmsignal durch die Maßnahmeeinrichtung.
DE10258178A 2002-12-12 2002-12-12 Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung Expired - Fee Related DE10258178B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10258178A DE10258178B4 (de) 2002-12-12 2002-12-12 Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10258178A DE10258178B4 (de) 2002-12-12 2002-12-12 Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung

Publications (2)

Publication Number Publication Date
DE10258178A1 DE10258178A1 (de) 2004-07-08
DE10258178B4 true DE10258178B4 (de) 2008-05-15

Family

ID=32477594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10258178A Expired - Fee Related DE10258178B4 (de) 2002-12-12 2002-12-12 Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung

Country Status (1)

Country Link
DE (1) DE10258178B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005036738A1 (de) * 2005-08-04 2007-02-08 Giesecke & Devrient Gmbh Absicherung von Speicherinhalten eines Datenträgers
DE102005042790B4 (de) 2005-09-08 2010-11-18 Infineon Technologies Ag Integrierte Schaltungsanordnung und Verfahren zum Betrieb einer solchen
AT507122B1 (de) * 2008-08-11 2011-02-15 Human Bios Gmbh Verfahren zum betrieb einer transaktionsbasierten ablaufsteuerung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3790186C2 (de) * 1986-03-31 1992-12-17 Mirowski, Mieczyslaw, Owings Mills, Md., Us
DE10037992A1 (de) * 2000-08-03 2002-02-21 Siemens Ag Verfahren zum Betreiben eines Logik- und Speicherelemente aufweisenden Bausteins

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3790186C2 (de) * 1986-03-31 1992-12-17 Mirowski, Mieczyslaw, Owings Mills, Md., Us
DE10037992A1 (de) * 2000-08-03 2002-02-21 Siemens Ag Verfahren zum Betreiben eines Logik- und Speicherelemente aufweisenden Bausteins

Also Published As

Publication number Publication date
DE10258178A1 (de) 2004-07-08

Similar Documents

Publication Publication Date Title
DE102005058238B4 (de) Detektorschaltung zur Erfassung einer externen Manipulation einer elektrischen Schaltung sowie Verfahren zum Betreiben einer Schaltungsanordnung, bei dem externe Manipulation erfasst werden
DE3041109C2 (de)
DE102012212471B3 (de) Vorrichtung zum Realisieren einer physikalischen Degradations-/Tampererkennung eines digitalen ICs mittels einer (digitalen) PUF und Unterscheiden zwischen einer Degradation aufgrund von physikalischer Manipulation und aufgrund von Alterungsprozessen
DE102005055158B4 (de) Schaltungsanordnung mit einer Einrichtung zur Erkennung von Manipulationsversuchen und Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung
DE102006001873B4 (de) Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE69929471T2 (de) Datenträger mit verborgenem leistungsverbrauch
DE102009025412B4 (de) Integrierte Schaltung und Verfahren zum Schützen eines Schaltungsteils einer integrierten Schaltung, der geschützt werden soll und Computerprogrammprodukt zur Ausführung des Verfahrens
DE102012109665A1 (de) Manipulationserkennungsmaßnahmen zum Abschecken physischer Angriffe auf ein Sicherheits-ASIC
EP1224482B1 (de) Verfahren und vorrichtung zum datenschützenden selbsttest für mikrokontroller
DE102015110144B4 (de) Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE10258178B4 (de) Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung
DE102005042790B4 (de) Integrierte Schaltungsanordnung und Verfahren zum Betrieb einer solchen
EP1254461B1 (de) Testbarer festwertspeicher für datenspeicher-redundanzlogik
WO2003043022A2 (de) Speichertest
DE10164419A1 (de) Verfahren und Anordnung zum Schutz von digitalen Schaltungsteilen
DE10206186B4 (de) Speichermatrix und Verfahren zur Absicherung einer Speichermatrix
DE102006048969B4 (de) Schaltungsanordnung und Verfahren zum Unterbinden eines Schaltungsbetriebs
EP2428918B1 (de) Portabler Datenträger
DE102018104760B3 (de) Elektronische Schaltung sowie Verfahren zur Herstellung und zum Entwerfen elektronischer Schaltungen
DE10029141A1 (de) Verfahren zur Fehlerüberwachung eines Speicherinhalts mittels Prüfsummen sowie Mikrocontroller mit einem prüfsummengesicherten Speicherbereich
WO2004036649A1 (de) Chip mit angriffsschutz
DE102018108951B3 (de) Verfahren und anordnung zur bildung einer elektronischen schaltung
DE102017115056B3 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb
DE102009041882B4 (de) Sichere Speicherschnittstelle, Verfahren zum sicheren Zugreifen auf ein Speicherelement und elektronisches System

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021020000

Ipc: G06F0021700000