-
Die
vorliegende Erfindung bezieht sich auf elektrische Schaltungen im
Allgemeinen und insbesondere auf ein Erfassungsschema zur Erfassung
einer externen Manipulation von elektrischen Schaltungen, wie sie
beispielsweise bei Fault Attacks bzw. Fehlerattacken auf beispielsweise
Chipkartencontroller oder Smart-Cards auftreten.
-
Fehler
in der Verarbeitung einer kryptographischen elektrischen Schaltung,
wie z.B. einem Chipkartencontroller, können zu einer erfolgreichen Kryptoanalyse
und insbesondere dazu führen,
dass ein Angreifer an geheime Daten gelangt, die die kryptographische
Schaltung verarbeitet, wie z.B. an einen geheimen Schlüssel oder
dergleichen. Das steigende Interesse an kryptographischen Schaltungen
führte
zu der Entdeckung, dass einige Algorithmen sich bei der Einbringung
von kleinen Fehlern in die internen Berechnungen schlecht in Bezug
auf ihre Sicherheit verhalten. Eine übliche Implementierung der RSA-Operationen ist beispielsweise
sehr anfällig
auf Fehlerattacken. Es konnte gezeigt werden, dass durch Bewirkung
eines Bitfehlers an einer geeigneten Stelle die Faktorisierung des
Moduls aufgedeckt werden kann, wodurch ein Angreifer an den privaten Schlüssel gelangen
kann. Ähnliche
Fehlerangriffe sind auf einen breiten Bereich von Algorithmen und kryptographischen
Schaltungen angewendet worden. Es ist folglich notwendig, dass kryptographische Schaltungen
entworfen werden, um sowohl gegen eigene Fehler als auch gegen von
außen
durch externe Manipulation eingeführte Fehler geschützt zu sein.
-
Die
manipulativen Angriffe bzw. externe Manipulationen, mit denen Fehler
in den elektrischen Schaltungen von Angreifern erzwungen bzw. künstlich
bewirkt werden sollen, umfassen beispielsweise Angriffe mit ionisierender
Strahlung (LASER) oder das Einführen
gezielter starker Schwankungen der Versorgungsspannung der elektrischen
bzw. integrierten Schaltung.
-
Um
nun manipulative Angriffe solcher Art abzuwehren, besteht eine Möglichkeit
darin, die Ursachen für
die Manipulationen zu erfassen, d.h. die ionisierende Strahlung
bzw. die Versorgungsspannungsschwankungen, um an die vorherigen
Beispiele für
Manipulationen anzuknüpfen.
Dies erfordert das Vorhandensein eigens vorgesehener Sensoren, die
für die
unterschiedlichen Angriffsarten in unterschiedlichen Angriffsszenarien
empfindlich sind. Ein Nachteil an dieser Vorgehensweise besteht
darin, dass diese Sensoren immer lediglich für einen begrenzten Satz von
Angriffen empfindlich sind, und somit beispielsweise neue Angriffe,
auf die ein Satz von Sensoren eines Kryptocontrollers nicht sensitiv
ist, höchstwahrscheinlich
zu einer erfolgreichen Fehlerattacke führen wird. Ein weiterer Nachteil
besteht darin, dass aufgrund der Fülle von Angriffs-Szenarien die
Anzahl an Sensoren für
eine integrierte Schaltung bei hohen Sicherheitsanforderungen sehr
hoch sein muss, so dass sich die Kosten einer solchen kryptographischen
Schaltung erhöhen.
Dies macht sich insbesondere bei Massenartikeln wie Chipkarten und Smart-Cards
nachteilhaft bemerkbar. Das Integrieren von Licht- und Spikesensoren,
die als Analogschaltungen ausgeführt
sind, auf ICs für
Sicherheitsanwendungen ist folglich keine optimale Lösung für obiges
Problem.
-
Es
besteht deshalb ein Bedarf nach einem Erfassungsschema für manipulative
Angriffe auf elektrische Kryptoschaltungen, das es ermöglicht, diese
Schaltungen effektiver gegen auf diesen Manipulationen basierende
Angriffe zu schützen.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein solches Erfassungsschema
zu schaffen, nämlich
ein Erfassungsschema, das einen effektiveren Schutz für elektrische
Schaltungen vor externen Manipulationen bzw. darauf beruhenden Fehlerattacken
ermöglicht.
-
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und ein Verfahren
gemäß Anspruch
14 gelöst.
-
Eine
erfindungsgemäße Vorrichtung
zur Erfassung einer externen Manipulation einer elektrischen Schaltung
umfasst eine Kippschaltung mit einem ersten Zustand und einem zweiten
Zustand, eine Einrichtung zum Initialisieren der Kippschaltung auf
den ersten Zustand, und eine Einrichtung zum Erfassen der externen
Manipulation, falls die Kippschaltung von dem ersten in den zweiten
Zustand wechselt oder springt.
-
Der
Kerngedanke der vorliegenden Erfindung besteht darin, als Sensor
für externe
Manipulationen einer elektrischen Schaltung eine Vorrichtung zu
verwenden, die den typischen, gegenüber diesen Angriffen empfindlichsten
Teilen der betroffenen elektrischen Schaltungen so ähnlich ist
wie möglich. Schaltungsteile,
die in vielen elektrischen Schaltungen und so auch in den betroffenen
elektrischen kryptographischen Schaltungen häufig auftreten und dabei anfällig auf
externe Manipulationen sind, indem sie nämlich auf dieselben mit Fehlern
reagieren, sind beispielsweise 6-Transistor-SRAM-Zellen, bei denen vier
Transistoren ein Speicher-Flip-Flop bilden und zwei weitere Transistoren
als Adressierungselemente für
Lese- und Schreibvorgänge an zwei
Speicherknoten des Speicher-Flip-Flop
dienen. Die Idee eines ähnlichen
Aufbaus aufgreifend, besteht nun ein weiterer Kerngedanke der vorliegenden
Erfindung darin, dass ganz allgemein eine Kippschaltung aus ähnlichen
Komponenten aufgebaut ist und ähnlich
wirkt wie diese Informationen-speichernden Schaltungsteile, zu denen
die 6-Transistor-SRAM-Zelle
zählt. Das
Initialisieren einer solchen Kippschaltung auf einen Zustand und
das Erfassen, ob sich der Zustand von dem einen auf den anderen
Zustand ändert,
führt zu
einer effektiven Erfassung von externen Manipulationen. Die Empfindlichkeit
liegt aufgrund des ähnlichen
Aufbaus zu dem zu schützenden
Schaltungsteilen inhärenter
Weise für
einen Satz von Angriffen vor, für
den auch die zu schützenden
Schaltungsteile fehleranfällig
reagieren, also für
den relevanten Satz von Manipulationen. Verschiedene Sensoren für verschiedene
Angriffe sind folglich nicht notwendig, da aufgrund der ähnlichen
Ausgestaltung einer auf einer Kippschaltung beruhenden Manipulationserfassung dieselbe
inhärent
auf die gleichen Manipulationen empfindlich ist, die bei den zu
schützenden
elektrischen Schaltungen Fehler hervorrufen.
-
Anders
ausgedrückt
besteht eine Grundidee der vorliegenden Erfindung darin, Schaltungen
bzw. Vorrichtungen als Sensoren einzusetzen, die einerseits empfindlich
sind gegenüber
der Wirkung ionisierender Strahlung bzw. starken Schwankungen der Versorgungsspannung
und die andererseits den gegenüber
diesen Angriffen empfindlichsten Schaltungsteilen so ähnlich sind
wie möglich.
Bei Erkennung eines Angriffs mit ionisierender Strahlung durch Verwendung
einer Kippschaltung wird dabei derselbe physikalische Effekt ausgenutzt
wie für
den Angriff selbst, nämlich
die Ladungstrennung bzw. der Kurzschluss über in Sperrrichtung gepolte
pn-Übergänge, wenn
diese ionisieren der, also Elektron-Loch-Paare erzeugender Strahlung,
wie Photonen oder α-Teilchen,
ausgesetzt sind.
-
Gemäss einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung wird als Sensor-Kippschaltung eine bistabile
Kippschaltung mit zwei stabilen Zuständen verwendet. Anders jedoch als
die zu schützenden
empfindlichsten Informationen speichernden Schaltungsteile wird
bevorzugter Weise die Sensor-Kippschaltung asymmetrisch ausgeführt, insofern
als der Zustand, auf den die Schaltung initialisiert wird, weniger
stabil ist als der andere Zustand, in welchen dieselbe bei Manipulationen wechselt.
Eine so erhaltene Vorrichtung zur Erfassung externer Manipulationen
bildet eine Art "digitale Sensorzelle" deren sensitiver
Teil, nämlich
die bistabile Kippschaltung, eine etwas höhere Empfindlichkeit als die
empfindlichsten den manipulativen Angriffen ausgesetzten Teilen
der zu schützenden
elektrischen Schaltung aufweist. Dies stellt insofern einen Idealfall
dar, weil das Spektrum der Angriffe, auf die eine solche Erfassung
empfindlich ist, demjenigen gleicht, auf das zu schützende elektrische
Schaltungen fehleranfällig
reagieren, und weil zusätzlich
zu der Gleichheit des Empfindlichkeitsspektrums der Grad der Empfindlichkeit
gegenüber
den Angriffen auf Seiten der Fehlererfassung im Vergleich zu den zuschützenden
Schaltungen sogar noch erhöht
ist.
-
Ein
weiterer Vorteil der vorliegenden Erfindung besteht darin, dass
aufgrund der Verwendung einer Kippschaltung zur Manipulationserfassung schon
geringfügige
Manipulationen zu einem Zustandswechsel führen können. Wird die Kippschaltung
beispielsweise als bistabile Flipflop-Kippschaltung ausgeführt, so
wird dieser Zustand auch gespeichert, was wiederum auch sehr kurzzeitig
wirkende Manipulationen mittels moderaten Abfragetaktraten erfassbar
macht.
-
Gemäss einem
speziellen Ausführungsbeispiel
der vorliegenden Erfindung wird die Sensor-Kippschaltung als RS-Flip-Flop
ausgeführt
und diesem Sensor-RS-Flip-Flop als Erfassungseinrichtung ein weiteres
Alarm-RS-Flip-Flop nachgeschaltet. Letzteres ermöglicht es, dass ein auch nur
kurzzeitig auftretender Zustand, bei dem beide Ausgänge des
Sensor-RS-Flip-Flops einen logisch niedrigen Zustand aufweisen,
zuverlässig
in dem Alarm-RS-Flip-Flop gespeichert und damit für spätere Abfragen
erfassbar gemacht werden kann.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die
beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Schaltbild einer Schaltung zur Erfassung einer externen Manipulation
gemäss
einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
2 ein
Diagramm mit exemplarischen Signalverläufen, wie sie in der Schaltung
von 1 auftreten, zur Veranschaulichung der Funktionsweise der
Schaltung von 1;
-
3 ein
Schaltbild einer möglichen
Implementierung der NOR-Gatter des Sensor-RS-Flip-Flops der Schaltung
von 1;
-
4 ein
Blockschaltbild einer möglichen Verschaltung
mehrerer Schaltungen von 1 gemäss einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
5 ein
Blockschaltbild einer möglichen Verschaltung
mehrerer Schaltungen nach 1 gemäss einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung.
-
Bevor
die vorliegende Erfindung nachfolgend bezugnehmend auf die beiliegenden
Zeichnungen näher
erläutert
wird, wird darauf hingewiesen, dass gleiche Elemente in den Figuren
mit gleichen oder ähnlichen
Bezugszeichen versehen sind, und dass eine wiederholte Beschreibung
dieser Elemente weggelassen wird.
-
Die
Sensorschaltung nach 1, die allgemein mit 10 angezeigt
ist, besteht im wesentlichen aus 4 Schaltungsteilen, nämlich einem
Ansteuerungsschaltungsteil 12, einem Sensor-RS-Flip-Flop 14,
einem Alarm-RS-Flip-Flop 16 und einem Verknüpfungs-Schaltungsteil 18.
An Ein- bzw. Ausgängen
umfasst die Schaltung 10 einen Eingang 20 zum Empfangen
eines Testsignals Test1, einen Eingang 22 zum Empfangen
eines Testsignals Test0, einen Eingang 24 zum Empfangen
eines Signals Reset und einen Ausgang 26 zum Ausgeben eines
Alarmsignals Alarm, welches durch einen logisch hohen Zustand während eines
noch zu beschreibenden Normalbetriebsmodus die Erfassung einer externen
Manipulation bzw. eines manipulativen Angriffs anzeigt, wie es im
folgenden näher
beschrieben wird.
-
Das
Sensor-RS-Flip-Flop 14 besteht aus zwei NOR-Gattern 28 und 30.
Der Ausgang out0 des NOR-Gatters 28 ist mit dem Eingang
in1 des NOR-Gatters 30 verbunden, und umgekehrt ist der Ausgang
out0 des NOR-Gatters 30 mit dem Eingang in1 des NOR-Gatters 28 verbunden.
Der Eingang in0 des NOR-Gatters 28 bildet den Setz-Eingang
des RS-Flip-Flops 14, und das an diesem Eingang anliegende
Signal wird im folgenden mit Set_Sns bezeichnet. Der Eingang in0
des NOR-Gatters 30 bildet den Rücksetz-Eingang des RS-Flip-Flops 14 und
das an diesem Eingang anliegende Signal wird im folgenden mit Res_Sns
bezeichnet. Das am Ausgang des NOR-Gatters 28 anliegende
Signal wird im folgenden mit SnsQ und das am Ausgang des NOR-Gatters 30 anliegende
Signal mit Sns bezeichnet.
-
Die
Ansteuerung des Setz- und Rücksetz-Einganges
des Sensor-RS-Flip-Flops 14 wird über die
Ansteuerschaltung 12 durchgeführt. Diese besteht aus drei
NOR-Gattern 32, 34 und 36 sowie einem
Inverter 38. Der Eingang in1 des NOR-Gatters 32 und
des NOR-Gatters 36 sind mit dem Eingang 20 der
Schaltung 10 verbunden, während der andere Eingang in0
des NOR-Gatters 32 mit dem Eingang 22 der Schaltung 10 und
der andere Eingang in0 des NOR-Gatters 36 über den
Inverter 38 mit dem Reset-Eingang 24 verbunden
ist. Der Eingang in1 des NOR-Gatters 34 ist mit dem Ausgang
out0 des NOR-Gatters 32 verbunden, während der andere Eingang in0
desselben über
den Inverter 38 mit dem Reset-Eingang 24 verbunden
ist. Der Ausgang des NOR-Gatters 34 ist mit dem Setz-Eingang
des RS-Flip-Flops 14 bzw. dem Eingang in0 des NOR-Gatters 28 verbunden,
während
der Ausgang out0 des NOR-Gatters 36 mit dem Reset-Eingang des
RS-Flip-Flops 14 bzw.
dem Eingang in0 des NOR-Gatters 30 verbunden ist.
-
Entsprechend
dem Flip-Flop 14 ist auch das Alarm-RS-Flip-Flop 16 aus
zwei NOR-Gattern 40 und 42 aufgebaut. Zur Mitkopplung
der beiden NOR-Gatter ist der Ausgang out0 des NOR-Gatters 40 mit
dem Eingang in1 des NOR-Gatters 42 und umgekehrt der Ausgang
des NOR-Gatters 42 mit dem Eingang in1 des NOR-Gatters 40 verbunden.
Der den Rücksetz-Eingang
des Alarm-RS-Flip-Flops 16 bildende Eingang
in0 des NOR-Gatters 42 ist mit dem Reset-Eingang 24 der
Schaltung 10 verbunden. Das mitgekoppelte Ausgangssignal
am Ausgang out0 des NOR-Gatters 42 ist mit Alarm0 bezeichnet,
während das
Signal am Ausgang out0 des NOR-Gatters 40 mit Alarm0q bezeichnet
ist.
-
Die
beiden Flip-Flops 14 und 16 sind durch den Verknüpfungs-Schaltungsteil 18 miteinander
gekoppelt. Dieser Schaltungsteil 18 umfasst Inverter 44 und 46,
ein AND-Gatter 48 und ein NAND-Gatter 50. Der
Eingang in0 des AND-Gatters 48 ist über den Inverter 44 mit
dem Ausgang out0 des NOR-Gatters 28 des RS-Flip-Flops 14 verbunden,
während
der Eingang in1 des AND-Gatters 48 über den
Inverter 46 mit dem Ausgang out0 des NOR-Gatters 30 des Flip-Flops 14 verbunden
ist. Der Ausgang dieses AND-Gatters 48 ist wiederum mit
dem Setz-Eingang des Alarm-RS-Flip-Flop 16 bzw. dem Eingang
in0 des NOR-Gatters 40 verbunden. Das NAND-Gatter 50 ist
mit seinem Eingang in1 mit dem Ausgang des NOR-Gatters 40 des
Alarm-RS-Flip-Flop 16 verbunden, während der andere Eingang in0 über den
Inverter 46 mit dem Ausgang out0 des NOR-Gatters 30 des
Sensor-RS-Flip-Flops 14 verbunden
ist. Der Ausgang out0 dieses NAND-Gatters 50 bildet den Ausgang 26 der
Schaltung 10, wobei das an diesem Ausgang anliegende Signal,
wie oben erwähnt,
mit Alarm bezeichnet ist. Die durch die Inverter 44 und 46 invertierten
Signale des SnsQ und Sns sind mit setAlrm0 bzw. setAlrm1 bezeichnet.
-
Nachdem
im vorhergehenden bezugnehmend auf 1 der Aufbau
der Schaltung von 1 beschrieben worden ist, wird
im folgenden unter gemeinsamer Bezugnahme auf 1 und 2 die Funktionsweise
der Schaltung von 1 beschrieben.
-
2 zeigt
exemplarische Zeitverläufe
für Signale,
wie sie in der Schaltung von 1 auftreten. Insbesondere
zeigt sie exemplarisch das Verhalten der Schaltung von 1 unter
Ansteuerung derselben mit einer unterschiedlichen Kombination von
Eingangssignalen Reset, Test1 und Test0, um die Schaltung von 1 in
einen ersten Testmodus, einen zweiten Testmodus, einen Normalmodus
bzw. einen Rücksetzmodus
zu versetzen, wie es im Folgenden noch näher beschrieben wird. Dabei
zeigt 2 insbesondere auch die Wirkweise der Schaltung
von 1 im sensitiven Normalmodus exemplarisch an zwei
sich verschiedenartig auswirkenden Angriffen.
-
2 zeigt übereinander
angeordnet und in der Zeit zueinander ausgerichtet exemplarische
Signalverläufe
für – von oben
nach unten – die
Signals Reset, Test1, Test0, Set_Sns, Res_Sns, Sns, SnsQ, Alarm0,
Alarm0q, SetAlrm1 und Alarm. Die Zeit ist entlang der waagrechten
Richtung in willkürlichen Einheiten
aufgespannt, während
die Spannung bei den Signalverläufen
in vertikaler Richtung in willkürlichen
Einheiten aufgetragen ist.
-
In
einem ersten Zeitabschnitt 80 befindet sich die Schaltung 10 von 1 in
einem Reset- bzw. Rücksetz-Modus.
In diesen Modus wird die Schaltung 10 versetzt, indem das
Eingangssignal Reset auf einen logisch hohen Zustand bzw. auf das
hohe der beiden digitalen Versorgungspotentiale VDD und VSS der
Schaltung 10, nämlich
VDD, eingestellt wird, während
die beiden Eingangssignale Test1 und Test0 auf einen logisch niedrigen
Zustand bzw. auf das niedrigere Versorgungspotential VSS eingestellt
werden. Die logische Verknüpfung
der Eingangssignale Reset, Test0 und Test1 durch die Ansteuerschaltung 12 führt zu einem
logisch niedrigen Signal Set_Sns am Setz-Eingang des Sensor-RS-Flip-Flops 14 und einem
logisch hohen Signal Res_Sns am Reset-Eingang dieses Flip-Flops 14,
wodurch sich wiederum am Ausgang des RS-Flip-Flops 14 ein
lo gisch niedriges Signal Sns und logisch hohes Signal SnsQ einstellt.
Im Rücksetz-Modus
wird folglich das Sensor-RS-Flip-Flop 14 fest
auf den Zustand (Sns, SnsQ) = (VSS, VDD) eingestellt bzw. initialisiert,
weshalb aufgrund der UND-Verknüpfung durch
das AND-Gatter 48 am Setz-Eingang des Alarm-RS-Flip-Flops 16 ein
logisch niedriger Zustand anliegt, während am Reset-Eingang desselben
das logisch hohe Reset-Signal
anliegt. Aus diesem Grund befindet sich auch das Alarm-RS-Flip-Flop 16 im
Reset-Modus in dem zurückgesetzten
Zustand, da das Signal Alarm0 einen logisch niedrigen Zustand und
das Signal Alarm0q einen logisch hohen Zustand aufweist. Die NAND-Verknüpfung durch
das Gatter 50 des zu dem Signal Sns invertierten Signals Set-Alarm1
mit dem Signal Alarm0q führt
folglich zu einem logisch niedrigen Zustand des Signals Alarm am
Ausgang 26 der Schaltung 10 während des Reset-Modus.
-
Auf
den Zeitabschnitt 80 folgend ist in einem Zeitabschnitt 82 ein
erster Testmodus der Schaltung 10 gezeigt. In diesen Testmodus
wird die Schaltung 10 versetzt, indem an die Eingänge 20-24 der
Schaltung 10 die Eingangssignalkombination Reset=VDD und
Test1=VDD angelegt wird. In dem vorliegenden Fall ist im Übergang
von dem Zeitabschnitt 80 zu dem Zeitabschnitt 82 einfach
das Signal Test1 auf einen logisch hohen Zustand geändert worden.
Aufgrund der Verknüpfung
der Eingangssignale Reset, Test0 und Test1 durch den Ansteuerschaltungsteil 12 werden
hierdurch die Signale Set_Sns und Res_Sns an dem Setz- und Reset-Eingang
des Sensor-RS-Flip-Flops 14 umgekehrt, nämlich auf Set_Sns=VDD
und Res_Sns=VSS. Durch diese durch die Eingangssignale an den Eingängen 20-24 bewirkte
Ansteuerung des Sensor-RS-Flip-Flops 14 wird das Ausgangssignal
Sns des Sensor-RS-Flip-Flops 14 in einen logisch hohen
Zustand versetzt, während
das Signal SnsQ in einen logisch niedrigen Zustand versetzt wird,
d.h. (Sns, SnsQ) wird zu (VDD, VSS). Aufgrund der UND-Verknüpfung am
Gatter 48 bleibt hierdurch weiterhin ein logisch niedriger
Zustand am Setz-Eingang des Alarm-RS-Flip-Flops 16 erhalten,
wodurch sich der Zustand desselben in Form der Ausgangssignale Alarm0
und Alarm0q nicht ändert.
Jedoch ändert
sich das Signal SetAlarm1 auf einen logisch niedrigen Zustand, wodurch
ein Alarmsignal Alarm mit logisch hohem Zustand bzw. VDD erzwungen
bzw. bewirkt wird, was einen erfolgreichen Test bzw. Fehlerfreiheit der
Schaltung 10 anzeigt.
-
Auf
den ersten Test-Modus im Zeitabschnitt 82 folgt exemplarisch
in einem Zeitabschnitt 84 wieder der Reset-Modus, in welchem
sich die Signale von 2 in den bezugnehmend auf den
Zeitabschnitt 80 beschriebenen Zuständen befinden. Auf den Zeitabschnitt 84 folgt
ein Zeitabschnitt 86, in welchem die Schaltung 10 durch
eine Eingangssignal-Kombination Reset = VDD, Test0 = VDD und Test1
= VSS in einen zweiten Test-Modus
versetzt worden ist. Aufgrund der Eingangssignalkombination und
der Verknüpfung
derselben durch den Ansteuerschaltungsteil 12 wird in diesem
Test-Modus das Sensor-RS-Flip-Flop 14 sowohl
am Setz- als auch am Rücksetz-Eingang
mit logisch hohen Signalen Set_Sns und Res_Sns angesteuert. Als
Folge hiervon stellt sich am Ausgang des Sensor-RS-Flip-Flops 14 der
Zustand (Sns, SnsQ) = (VSS, VSS) ein. Diese Signalkombination führt aufgrund
der UND-Verknüpfung
am Gatter 48 des Verknüpfungs-Schaltungsteils 18 zur Änderung
des Zustands am Setz-Eingang des Alarm-RS-Flip-Flops 16 auf
einen logisch hohen Zustand, wodurch sich, da am Rücksetz-Eingang
desselben immer noch das logisch hohe Reset-Signal anliegt, der
Zustand des Alarm-RS-Flip-Flops 16 auf (Alarm0, Alarm0q)
= (VSS, VSS) ändert.
Das wiederum bewirkt aufgrund des logisch niedrigen Zustands von
Alarm0 eine Zustandsänderung
des Signals Alarm am Ausgang 26 auf einen logisch hohen
Zustand, was einen er folgreichen Test bzw. Fehlerfreiheit der Schaltung 10 anzeigt.
-
Mit
den beiden beschriebenen Testmodi während der Zeitabschnitte 82 und 86 ist
es folglich möglich,
die Funktionstüchtigkeit
der Schaltung von 1 zu testen. In 2 folgt
exemplarisch auf den Zeitabschnitt 86 wieder ein Zeitabschnitt 88,
in welchem die Schaltung von 1 in einen
Reset-Modus versetzt wird. In diesem Zustand stellen sich die Signale
der Schaltung von 1 wieder auf die logischen Zustände ein,
wie sie bezugnehmend auf den Zeitabschnitt 80 beschrieben
worden sind.
-
Nach
dem Zeitabschnitt 88 wird in 2 die Schaltung
von 1 in einem darauffolgenden Zeitabschnitt 90 in
einen Normalmodus versetzt. Im Normalmodus ist die Schaltung 10 von 1 "scharf", d.h. sie ist sensitiv
für manipulative
Angriffe bzw. externe Manipulationen an der zu schützenden
elektronischen Schaltung, die sich ja gleichermaßen auf das Sensor-RS-Flip-Flop 14 auswirken.
Die Schaltung 10 wird in den Normalmodus durch die Eingangssignalkombination
Reset = VSS, Test1 = VSS und Test0 = VSS versetzt. Während des
Normalmodus wird diese Eingangssignalkombination beibehalten. Aufgrund dieser
Eingangssignalkombination und der Verknüpfung derselben durch den Ansteuerschaltungsteil 12 liegen
am Setz- und Rücksetz-Eingang
des Sensor-RS-Flip-Flops 14 logisch niedrige Zustände an. Das
Sensor-RS-Flip-Flop 14 behält also seinen stabilen Zustand
(Sns, SnsQ) = (VSS, VDD) aus dem vorhergehenden Modus, nämlich dem
Rücksetz-Modus bei,
so lange das Sensor-RS-Flip-Flop 14 aus diesem stabilen
Zustand nicht durch eine externe Manipulation bzw. eine externe
Störung
herausgebracht wird. Solange folglich das RS-Flip-Flop 14 diesen
stabilen Zustand beibehält,
bleiben auch hiervon abhängi gen Signale
Alarm0, Alarm0q, Set-Alarm1 und Alarm unverändert wie bei dem Reset-Modus
aus dem Zeitabschnitt 88.
-
Zur
Veranschaulichung der Funktionsweise der Schaltung 10 von 1 bei
der Erfassung einer externen Manipulation ist nun bei einem Zeitpunkt 92 während des
Zeitabschnittes 90 exemplarisch der Fall dargestellt, dass
das Sensor-RS-Flip-Flop 14 durch einen manipulativen Angriff
in den anderen stabilen Zustand (Sns, SnsQ) = (VDD, VSS) versetzt worden
ist. Wie es später
bezugnehmend auf 3 beschrieben wird, kann dies
beispielsweise durch eine Manipulation mittels ionisierender bzw.
Elektron-Loch-Paare erzeugender Strahlung dadurch bewirkt worden
sein, dass in einem in Sperrrichtung gepolten pn-Übergang
eines Transistors innerhalb des NOR-Gatters 28 ein Kurzschluss
erzeugt worden ist. Die Zustandsänderung
des Flip-Flops 14 bewirkt zwar keine Zustandsänderung
des Alarm-RS-Flip-Flops 16,
da ja aufgrund der UND-Verknüpfung
durch das Gatter 48 das Signal am Setz-Eingang desselben
weiterhin einen logisch niedrigen Zustand einnimmt, aber die Zustandsänderung
des Signals Sns hat eine Zustandsänderung des dazu inversen Signals
setAlrm1 auf einen logischen niedrigen Zustand zur Folge, woraufhin
das Alarm-Signal Alarm einen logisch hohen Zustand annimmt. Der
manipulative Angriff 92 ist folglich erfasst worden. Das
Signal Alarm bleibt solange in dem logisch hohen Zustand, bis die
Schaltung von 1 wieder in den Rücksetz-Modus
versetzt wird. Dies ist in 2 exemplarisch
bei sich an dem Zeitabschnitt 90 anschließenden Zeitabschnitt 94 der
Fall, bei dem die Schaltung 10 durch die Eingangssignalkombination
(Reset, Test1, Test0) = (VDD, VSS, VSS) angesteuert wird, um die
Schaltung 10 in den Reset-Modus zu versetzen.
-
Bei
dem exemplarischen Angriff 92 ist das Sensor-RS-Flip-Flop 14 von
einem stabilen Zustand in den anderen versetzt worden, was quasi
zur Umspeicherung des RS-Flip-Flops 14 geführt hat
und damit zur dauerhaften Alarmierung durch das Signal Alarm. Die
Schaltung von 1 ist jedoch auch dazu in der
Lage, eine nur kurzzeitige Versetzung des Flip-Flops von 1 in
einen Zustand zu Erfassen, in welchem sich am Ausgang des RS-Flip-Flops 14 der Zustand
(Sns, SnsQ) = (VSS, VSS) einstellt. Dies wird in 2 in
dem sich an den Zeitabschnitt 94 anschließenden Zeitabschnitt 96 veranschaulicht.
Im Zeitabschnitt 96 wird die Schaltung von 1 wieder im
Normalmodus betrieben, d.h. an den Eingängen 20-24 liegt
die Normalmodus-Eingangssignalkombination (Reset, Test1, Test0)
= (VSS, VSS, VSS) an. Zu Beginn des Zeitabschnitts 96 befindet
sich das Sensor-RS-Flip-Flop 14 wieder im vorgesehenen
initialisierten Zustand (Sns, SnsQ) = (VSS, VDD). Während einer
nur kurzen Zeitdauer 98 jedoch bewirkt exemplarisch in 2 eine
externe Manipulation, dass das Sensor-RS-Flip-Flop 14 aus
seinem initialisierten stabilen Zustand gerät und den Zustand (Sns, SnsQ) =
(VSS, VSS) annimmt. Insbesondere bewirkt die Manipulation 98 zu
einem Zeitpunkt, der in 2 mit einer gestrichelten Linie 100 angezeigt
ist, dass das Ausgangssignal des Sensor-RS-Flip-Flop 14 SnsQ von
dem logisch hohen Zustand auf den logisch niedrigen Zustand VSS
fällt.
Dies kann beispielsweise durch manipulativen Kurzschluss eines internen Transistors
des NOR-Gatters 28 hervorgerufen worden sein, der den Ausgang
des NOR-Gatters 28 mit dem Versorgungspotential VSS verbindet.
Die kurzzeitig in der Zeitdauer 98 anhaltende Signalkombination
(Sns, SnsQ) = (VSS, VSS) hat die Signalkombination (SetAlarm1, SetAlarm0)
= (VDD, VDD) zur Folge, weshalb sich der logische Zustand am Setz-Eingang
des Alarm-RS-Flip-Flop 16 von
einem logisch niedrigen auf einen logisch hohen Zustand ändert, da
das AND-Gatter 48 eine UND- Verknüpfung der beiden Signale SetAlarm0
und SetAlarm1 bildet und an den Setz-Eingang weitergibt. Dies hat zur
Folge, dass das Alarm-RS-Flip-Flop 16 gesetzt wird. Es
speichert somit den kurzzeitig anhaltenden Zustand (Sns, SnsQ) =
(VSS, VSS) des Sensor-RS-Flip-Flops 14. Das Alarm-RS-Flip-Flop 16 ändert nun
wiederum seinerseits seinen stabilen Zustand von (Alarm0, Alarm0q)
= (VSS, VDD) in (Alarm0, Alarm0q) = (VDD, VSS). Da sich lediglich das
Signal SnsQ nicht jedoch das Signal Sns geändert hat, bleibt also zwar
das Signal SetAlarm1 am Eingang des NAND-Gatters 50 gleich,
aber das Signal Alarm0q am anderen Eingang des NAND-Gatters 50 hat
sich geändert.
Dies hat zur Folge, dass das Alarm-Signal Alarm einen logisch hohen
Zustand annimmt und damit den manipulativen Angriff 98 anzeigt.
-
Durch
die Speicherung der auch nur kurzzeitig währenden Zustandsänderung
des Sensor-RS-Flip-Flops 14 wird folglich der Angriff 98 zuverlässig angezeigt.
Welchen der stabilen Zustände das
Ausgangssignalpaar (Sns, SnsQ) des Flip-Flops 14 danach
annimmt, nämlich
(VDD, VSS) oder (VSS, VDD), ist für die Erfassung des Angriffes
unerheblich. In 2 ist exemplarisch gezeigt,
dass zu einem Zeitpunkt 102 am Ende der Angriffszeitdauer 98 das Sensor-RS-Flip-Flop 14 den
stabilen Zustand (Sns, SnsQ) = (VDD, VSS) annimmt, der ebenfalls
zu einer Alarmierung führt,
wie es bezugnehmend auf den exemplarischen Angriff 92 bereits
beschrieben worden ist. Der genaue stabile Zustand, in welchen das
Sensor-RS-Flip-Flop 14 nach dem Zwischenzustand in der
Zeitdauer 98 wechselt, ist jedoch nicht mit Sicherheit
vorhersagbar. Durch die Speicherung des kurzzeitigen Zustandswechsels
durch das Alarm-RS-Flip-Flop 16 bleibt das Alarm Signal
Alarm jedoch auch dann weiterhin in einem logisch hohen Zustand,
wenn sich das RS-Flip-Flop 14 zum Zeitpunkt 102 wieder
in den stabilen Zustand (Sns, SnsQ) = (VSS, VDD) begäbe. In diesem
Fall bliebe nämlich
das Alarm-RS-Flip-Flop 16 gesetzt,
d.h. es speicherte weiterhin den kurzzeitigen Vorfall 98,
weshalb das Signal Alarm0q auch nach dem Zeitpunkt 102 in
einem logisch niedrigen Zustand bliebe. Dies führte dazu, dass auch in diesem
Fall des AND-Gatter 50 weiterhin ein Alarmsignal Alarm
mit logisch hohem Zustand bzw. Alarm = VDD ausgäbe.
-
Wie
bei der Beschreibung des Angriffs 92 verbleibt die Schaltung 10 von 1 nach
dem Angriff 98 in dem Zustand, da (Sns, SnsQ) = (VDD, VSS)
ist, so lange, bis die Schaltung 10 in einem Rücksetz-Modus
versetzt wird, was in 2 exemplarisch bei einem sich
an den Zeitabschnitt 96 anschließenden Zeitabschnitt 104 der
Fall ist, woraufhin wiederum ein Normalmodus-Zeitabschnitt 106 folgt.
-
Die
folgende Beschreibung von 1 und 2 hat
in anderen Worten ausgedrückt
gezeigt, dass die Schaltung 10 eine digitale Sensorzelle
ist, deren strahlungsempfindlicher Teil das Sensor-RS-Flip-Flop 14 umfasst,
das eingangsseitig mit den Signalen Reset, Test0 und Test1 angesteuert wird.
Das zweite RS-Flip-Flop 16 dient der Speicherung eines
unter dem Einfluss ionisierender Strahlung auch nur kurzzeitig währenden
Zustandes (Sns, SnsQ) = (VSS, VSS) in dem Sensor-RS-Flip-Flop 14, wobei,
wie üblich,
mit VSS das niedrige der beiden digitalen Versorgungspotentiale
VDD und VSS bezeichnet wurde. Mit Alarm0q = VSS wird dann auch Alarm
= VDD, womit der Einfluss der ionisierenden Strahlung angezeigt
wird. Der Zustand (Sns, SnsQ) = (VSS, VSS) kann, wie gezeigt, für Testzwecke
erzwungen werden, indem die Eingangssignal-Kombination (Reset, Test0,
Test1) = (VDD, VDD, VSS) verwendet wird. Ein zweiter Testfall bestand
in der Eingangssignal-Kombination (Reset, Test1) = (VDD, VDD), wodurch
(Sns, SnsQ) = (VDD, VSS) gilt und damit Alarm = VDD bewirkt wird.
Im Reset-Modus gilt (Reset, Test0, Test1) = (VDD, VSS, VSS) und
damit wird wegen Set_Sns = VSS, Res_Sns = VDD der Zustand (Sns,
SnsQ) = (VSS, VDD) bewirkt, der auch erhalten bleibt, nachdem Reset
auf VSS gesetzt wird, und damit der Normal-Modus eingeschaltet wird,
in welchem gilt: (Reset, Test0, Test1) = (VSS, VSS, VSS). In diesem
Normal-Modus gilt also Set_Sns = VSS, Res_Sns = VSS, (Sns, SnsQ)
= (VSS, VDD), (Alarm0, Alarm0q) = VSS, VDD) und Alarm = VSS. Strahlungsalarm,
also Alarm = VDD kommt dann zustande, wenn, wie beschrieben, auch
nur kurzzeitig sich der Zustand (Sns, SnsQ) = (VSS, VSS) einstellt, oder
das RS-Flip-Flop 14 von
(Sns, SnsQ) = (VSS, VDD) auf den Zustand (Sns, SnsQ) = (VDD, VSS) kippt.
-
Obwohl
es möglich
ist, die NOR-Gatter des Sensor-RS-Flip-Flops 28 und 30 symmetrisch
aufzubauen und/oder dafür
Standardkomponenten zu verwenden, ist es vorzuziehen, die Empfindlichkeit
der Schaltungsknoten, an denen die Signale (Sns, SnsQ) vorliegen,
gegenüber
ionisierender Strahlung bzw. für
Zustandsänderungen
von (Sns, SnsQ) = (VSS, VDD) auf (Sns, SnsQ) = (VSS, VSS) oder (VDD, VSS)
zu erhöhen.
Eine Empfindlichkeitserhöhung kann
durch geeignete Dimensionierung von Transistorweiten und -längen von
Transistoren innerhalb der beiden NOR-Gatter 28 und 30 sowie
der Flächen
von Diffusionsgebieten, mit denen n-Kanal- und p-Kanal-Transistoren
innerhalb der NOR-Gatter 28 und 30 an die Knoten
Sns, SnsQ angeschlossen sind, erhalten werden. Insbesondere ergibt
sich eine erhöhte Empfindlichkeit
aus folgenden Einstellungen:
- • eine Vergrößerung der
Diffusionsflächen
der n-Kanal-Transistoren,
mit denen das NOR-Gatter 28 an den Knoten SnsQ bzw. dem
Knoten, an dem SnsQ anliegt, angeschlossen ist, bzw. eine Vergrößerung der
Diffusionsflächen
der n- Kanal-Transistoren,
mit denen das NOR-Gatter 30 an den Knoten Sns angeschlossen
ist
- • eine
Vergrößerung der
Diffusionsfläche
des p-Kanal-Transistors,
mit dem das NOR-Gatter 30 an den Knoten Sns angeschlossen
ist
- • Vorsehen
von im Vergleich zu den p-Kanal-Transistoren des NOR-Gatters 30 längeren und schmaleren
p-Kanal-Transistoren
in dem NOR-Gatter 28, und/oder
- • Vorsehen
von im Vergleich zu den n-Kanal-Transistoren des NOR-Gatters 28 längeren und schmaleren
n-Kanal-Transistoren
in dem NOR-Gatter 30.
-
Durch
diese Maßnahmen
können
zusätzlich zu
Angriffen mit ionisierender Strahlung auch sogenannte "Spike Angriffe" auf die Versorgungsspannungsdifferenz
VDD-VSS erkannt werden, da hierdurch Sorge getragen werden kann,
die Transistoren, aus denen die NOR-Gatter 28 und 30 aufgebaut
sind, und deren Drain-Flächen
hinreichend unsymmetrisch zu dimensionieren, so dass das Sensor-RS-Flip-Flop 14 nach
dem VDD-VSS-Spike mit extrem hoher Wahrscheinlichkeit in den Zustand
(Sns, SnsQ) = (VDD, VSS) übergeht.
-
Um
dies näher
zu veranschaulichen, zeigt 3 ein Ausführungsbeispiel
für eine
mögliche
Implementierung der NOR-Gatter 28 und 30 als CMOS-NOR-Gatter,
um das Flip-Flop zu bilden, wobei die vorliegende Erfindung jedoch
nicht auf dieses Ausführungsbeispiel
und auch nicht auf CMOS-Technologie im allgemeinen beschränkt ist.
Obwohl 3 nur ein NOR-Gatter
zeigt, wird im folgenden davon ausgegangen, dass nach diesem Ausführungsbeispiel
beide NOR-Gatter 28 und 30 auf die in 3 gezeigte
Weise aufgebaut sind, um das Flip-Flop 14 zu bilden.
-
Das
NOR-Gatter von 3 umfasst die beiden Eingänge in1
und in0 sowie den Ausgang out0. Zudem umfasst es Anschlüsse an das
Versorgungspotential VDD und an das niedrigere
Versorgungspotential VSS. Darüber hinaus
umfasst das NOR-Gatter zwei n-Kanal-FETs T1 und
T2 die mit ihren Source-Drain-Strecken zwischen
das Versorgungspotential VSS und den Ausgang
out0 parallel zueinander geschaltet sind, und zwei p-Kanal-FETs T'1 und
T'2, die
mit ihren Source-Drain-Strecken in Serie zwischen Versorgungspotential
VDD und den Ausgang out0 geschaltet sind.
Die Gate-Anschlüsse
der Transistoren T1 und T'1 sind
mit dem Eingang in1 und die Gate-Anschlüsse der Transistoren T2 und T'2 mit dem Eingang in0 verbunden.
-
Mit
dieser exemplarischen Konfiguration für die XOR-Gatter 28 und 30 lässt sich
nun eine erhöhte Empfindlichkeit
der Schaltung von 1 realisieren, wenn eine oder
mehrere der folgenden Maßnahmen befolgt
werden:
- • die
Diffusionsflächen
der n-Kanal-Transistoren T1 und T2 in dem NOR-Gatter 28 sind relativ
zu den Diffusionsflächen
der p-Kanal-Transistoren T'1 und T'2 in demselben vergrößert und/oder die Diffusionsflächen der
n-Kanal-Transistoren
T1 und T2 in dem
NOR-Gatter 30 sind relativ zu den Diffusionsflächen der
p-Kanal-Transistoren T'1 und T'2 in demselben vergrößert.
- • die
Diffusionsfläche
des p-Kanal-Transistors T'2 und/oder des p-Kanal-Transistors T'1 des NOR-Gatters 30 ist
im Vergleich zu der Diffusionsfläche
des bzw. der entsprechenden p-Kanal-Transistoren T'1,
T'2 des
anderen NOR-Gatters 28 vergrößert.
- • die
p-Kanal-Transistoren T'1, T'2 des NOR-Gatters 28 sind länger und
schmäler
als die p-Kanal-Transistoren T'1, T'2 des NOR-Gatters 30 und/oder
- • die
n-Kanal-Transistoren T1 und T2 des NOR-Gatters 30 sind
länger
und schmäler
als die n-Kanal-Transistoren T1 und T2 des NOR-Gatters 28.
-
Bezugnehmend
auf 4 wird im folgenden eine Möglichkeit dafür beschrieben,
wie eine Mehrzahl von digitalen Sensorzellen wie diejenige, die
in 1 gezeigt ist, in einem Chip gemeinsam integriert und
als gemeinsame Manipulationserfassungsvorrichtung verschaltet werden
könnten.
Die Manipulationserfassungsvorrichtung von 4 ist mit 200 angezeigt
und umfasst N+1 Sensorzellen 10. Die drei Eingänge jeder
Sensorzelle sind mit Reset, Test0 und Test1 gekennzeichnet und der
Ausgang mit Alarm, entsprechend der Anzeige der anliegenden Signale an
den Ein- bzw. Ausgängen
in 1. Die von den einzelnen N+1 Sensorzellen 10 ausgegebenen Alarmsignale
sind mit Alarm_0, Alarm_1 ... Alarm_N bezeichnet. Die Gesamt-Schaltung 200 umfasst
einen Reset-Eingang 202, der mit dem Reset-Eingang jeder
Sensorzelle 10 verbunden ist, einen Eingang 204,
der mit dem Eingang Test0 jeder Sensorzelle 10 verbunden
ist, einen Eingang 206, der mit dem Eingang Test1 jeder
Sensorzelle 10 verbunden ist, und einen Ausgang 208.
Die Alarm-Ausgänge
Alarm der Sensorzellen 10 sind derart miteinander logisch
verknüpft,
dass am Ausgang 208 eine ODER-Verknüpfung aller Ausgangssignale
Alarm_0 ... Alarm_N als Alarmsignal Alarm_N_0 am Ausgang 208,
d.h. als Alarmsignal der Gesamt-Schaltung 200, ausgegeben wird,
d.h. Alarm_N_0 = A larm_0 ∨ Alarm_1 ∨ ... ∨ Alarm_N.
Insbesondere sind dazu der Alarm-Ausgang zweier Sensorzellen 10,
die die Alarmsignale Alarm_0 und Alarm_1 ausgeben, mit den beiden
Eingängen
eines OR-Gatters 210 verbunden. Dieses gibt an seinem Ausgang
ein ODER-verknüpftes Alarmsignal
Alarm_1_0 aus, d.h. eine ODER-Verknüpfung der
beiden Alarmsignale Alarm_0 und Alarm_1. Der Ausgang dieses OR-Gatters
ist wiederum mit einem Eingang eines weiteren OR-Gatters (nicht
gezeigt) verbunden, mit dessen anderem Eingang der Alarm-Ausgang
einer weiteren Sensorzelle 10 verbunden ist usw. Schließlich erhält ein N-tes OR-Gatter 212 an
einem seiner Eingänge
eine ODER-Verknüpfung
der Alarm Signale Alarm_0 ... Alarm_n–1, nämlich das Signal Alarm_n–1_0 = Alarm_0 ∨ Alarm_1 ∨ ... ∨ Alarm_N–1, und
ist mit dem anderen Eingang mit dem Ausgang Alarm der Sensorzelle 10 verbunden,
die das Signal Alarm_N ausgibt. Der Ausgang dieses letzten OR-Gatters 212 ist mit
dem Ausgang 208 der Gesamt-Schaltung 200 verbunden.
Insgesamt benötigt
die Gesamt-Schaltung 200 folglich N OR-Gatter 210, 212 zur ODER-Verknüpfung aller
Alarm-Ausgänge
der Sensorzelle 10.
-
Die
Verschaltung der Sensorzellen 10 von 4 ist
folglich derart, dass das Gesamtalarm Signal Alarm_N_0 aus einer
logischen ODER-Verknüpfung
der einzelnen Alarm Signale Alarm_0, Alarm_1, ... Alarm_N der einzelnen
Sensorzellen 10 gebildet wird. Das Ausführungsbeispiel nach 4 eignet sich
beispielsweise für
eine Semi-Custom-Implementierung, d.h. die digitalen Sensorzellen 10 können als Standardzellen
implementiert sein, und können
somit an praktisch beliebiger Stelle im Layout platziert werden.
-
5 zeigt
ein weiteres Ausführungsbeispiel für eine Verschaltung
mehrerer Sensorzellen 10 in einer gemeinsamen Schaltung 300.
Auch die Schaltung 300 umfasst drei Eingänge, nämlich einen
Eingang 302, der mit dem Reset-Eingang jeder Sensorzelle 10 verbunden
ist, einen Eingang 304, der mit dem Eingang Test0 jeder
Sensorzelle 10 verbunden ist, und einen Eingang 306,
der mit dem Eingang Test1 jeder Sensorzelle 10 verbunden
ist. Darüber
hinaus umfasst die Gesamtschaltung 300 einen Ausgang 308,
an welchem das Gesamtalarmsignal Alarm_N_0 ausgegeben wird. Das
Alarmsignal Alarm_N_0 wird bei dem Ausführungsbeispiel von 5 über ein
sogenanntes "Wired-OR" bzw. ein verdrahtetes
ODER erhalten, wie es im folgenden beschrieben wird. Insbesondere
umfasst dazu die Schaltung 300 einen Schaltungsteil 310 mit
einem NOR-Gatter 312 und einem NAND-Gatter 314,
der aus den Gesamteingangssignalen an den Eingängen 302-306 ein
binäres
Signal erzeugt, das angibt, ob in den Schaltungen 10 der
Rücksetz-Modus
vorliegt oder nicht. Insbesondere ist ein Eingang in0 des NOR-Gatters 312 mit
dem Eingang 306 und ein Eingang in1 des NOR-Gatters 312 mit
dem Eingang 304 verbunden, während der Ausgang desselben
mit einem Eingang in0 des NAND-Gatters 314 verbunden ist.
Der andere Eingang in1 des NAND-Gatters 314 ist mit dem
Eingang 302 verbunden, und der Ausgang desselben gibt das
Signal aus, dass das Vorliegen des Reset-Modus in den Speicherzellen 10 durch
einen logisch niedrigen und das Nicht-Vorliegen eines Reset-Modus
durch einen logisch hohen Zustand anzeigt. Der Ausgang des NAND-Gatters 314 ist
mit einem Gate-Anschluß eines
p-Kanal-Transistors 316 verbunden, der mit seiner Drain-Source- bzw. Steuerstrecke
zwischen das Versorgungspotential VDD und eine Bit-Leitung 318 geschaltet
ist, um in allen Betriebs-Modi der Speicherzellen 10 außer dem
Reset-Modus, d.h. in den beiden Testmodi oder dem Normal-Modus,
die Bit-Leitung 318 auf das Versorgungspotential VDD vorzuspannen.
N+1 n-Kanal-Transistoren 320 sind
parallel zueinander mit ihren Steuerstrecken zwischen die Bit-Leitung 318 und das
Versorgungspotential VSS geschaltet, wobei der Gate-Anschluß jedes dieser
Transistoren 320 mit dem Alarm-Ausgang eines unterschiedlichen
der Sensorzellen 10 verbunden ist, um eines der Alarm-Signale
Alarm_0, Alarm_1 ... Alarm_N der einzelnen Sensorzellen 10 zu
erhalten. In allen Betriebsmodi, bei denen es folglich möglich ist,
dass die Sensorzellen 10 einen logisch hohen Zustand als
Alarmsignal Alarm_0, Alarm_1 ... bzw. Alarm_N ausgeben, befindet
sich die Bit-Leitung 318 aufgrund des geschlossenen Transistors 316 auf
dem Potential VDD. Geben nun, aufgrund eines Test-Modus oder aufgrund
eines Angriffes im Normalmodus eine oder mehrere der Sensorzellen 10 einen
logisch hohen Zustand als Alarm-Signal Alarm_0, Alarm_1 ... bzw. Alarm_N
aus, so wird der entsprechende oder so werden die entsprechenden
Transistoren 320 leitend, und das Potential der Bit-Leitung
fällt wieder
ab auf das Versorgungspotential VSS. Die Bit-Leitung 318 ist über einen
Invertierer 322 mit dem Ausgang 308 verbunden,
so dass ein auf das Potential VSS runtergezogenes Signal auf der
Bit-Leitung 318 ein logisch hohes Gesamtausgangs-Signal
Alarm_N_0 zur Folge hat, was im Normalmodus einen Angriff und in
einem der beiden Testmodi einen erfolgreichen Test anzeigt. Zum
Halten des Potentials VDD am Knoten 318 für den Fall
von VDD an 316 sowie zur Signalverstärkung bei der Potentialänderung
an der Bit-Leitung 318 sind
ferner ein p-Kanal-Transistor 324 und ein Invertierer 326 vorgesehen,
von denen der p-Kanal-Transistor 324 mit seiner Steuerstrecke
zwischen das VDD- Versorgungspotential und die Bit-Leitung 318 geschaltet
ist, während
der Inverter 326 in einen Kopplungspfad zwischen Source
und Gate des Transistors 324 geschaltet ist.
-
Das
Ausführungsbeispiel
von 5 eignet sich beispielsweise innerhalb von Full-Custom-Makros,
wie z.B. bei Speichern und Bit-Slice-Implementierungen von Datenpfaden.
-
Bezugnehmend
auf die vorhergehenden Ausführungsbeispiele
wird noch darauf hingewiesen, dass die vorliegende Erfindung nicht
auf Ausführungsbeispiele
begrenzt ist, bei denen als Sensor-Kippschaltung ein RS-Flip-Flop verwendet
wird. Vielmehr sind auch Ausgestaltungen der vorliegenden Erfindung
denkbar, bei denen die Sensor-Kippschaltung eine andere bistabile
Kippschaltung ist. Da bei einem Flip-Flop bereits ein kurzer Impuls
genügt, um
einen Umkippvorgang, d.h. einen Wechsel von einem Zustand zu einem
anderen, auszulösen,
sind jedoch Flip-Flops
zur Verwendung als Kippschalter bevorzugt. Als Sensor-Kippschaltung könnten ferner mitgekoppelte
Digitalschaltungen verwendet werden, die nur einen stabilen Zustand
aufweisen, wie z.B. eine monostabile Kippschaltung, die nur einen
stabilen Zustand und einen zweiten Zustand aufweist, der nur für eine bestimmte,
durch die Dimensionierung festgelegte Zeit stabil ist. Bevorzugt
sind hierbei wiederum jedoch bistabile Kippschaltungen, da auf diese
Weise erzielt werden kann, dass bei kurzzeitigen Versorgungsspannungsschwankungen
die Sensor-Kippschaltung
dazu tendiert, nach solchen Schwankungen den Zustand dauerhaft einzunehmen,
auf den die Kippschaltung nicht initialisiert worden ist.
-
Ferner
wird bezugnehmend auf vorhergehendes Ausführungsbeispiel darauf hingewiesen, dass
das Vorsehen eines Alarm-RS-Flip-Flops
nicht unbedingt erforderlich ist. Wie es im vorhergehenden bezugnehmend
auf 3 und auch auf 1 und 2 beschrieben
worden ist, ist es möglich,
die Transistoren der NOR-Gatter des Sensor-RS-Flip-Flops derart
unsymmetrisch zu dimensionieren, dass nach Angriffen das Sensor-RS-Flip-Flop
ohnehin dazu tendiert, in den von dem initialisierten Zustand unterschiedlichen
Zustand überzugehen.
Für bestimmte
Anwendungen kann diese Wahrscheinlichkeit ausreichend sein, um eine
ausreichende Sicherheit vor Angriffen zu gewährleisten.
-
Im
vorhergehenden ist nicht beschrieben worden, welche Maßnahmen
aufgrund des Alarmsignals am Ausgang 26, 208 oder 308 ausgelöst werden könnten. Eine
mit einer der Vorrichtungen 10, 200 oder 300 versehene
integrierte Schaltung könnte eine
Maßnahme-Einrichtung
umfassen, die ansprechend auf das Alarmsignal die gesamte integrierte Schaltung
bzw. den gesamten die integrierte Schaltung beinhaltenden Chip abschaltet,
jegliche weitere Datenausgabe unterbindet, geheime Daten, die in der
integrierten Schaltung gespeichert sind, löscht und/oder einen Neustart
der Schaltung bewirkt. Eine Maßnahme
könnte
jedoch auch darin bestehen, das Auftreten von Alarmsituationen bzw.
erfasste Angriffsszenarien zu protokollieren, so dass auf diese Daten
zurückgegriffen
werden kann, um auch nach diesen Angriffen noch entscheiden zu können, ob
die integrierte Schaltung normal arbeitet oder nicht.
-
Ferner
wird darauf hingewiesen, dass der Ansteuerschaltungsteil von 1 auch
anders ausgestaltet sein könnte.
Insbesondere ist es nicht notwendig, die vorhergehend beschriebene
Test-Modi bzw. deren Auslösbarkeit
zu implementieren. Insbesondere könnte eine einfachere Eingangsansteuerschaltung
verwendet werden, um das Sensor-Flip-Flop geeignet vorzuinitialisieren.
-
Ferner
wird darauf hingewiesen, dass, obwohl im vorhergehenden die zu schützende elektrische
Schaltung nicht weiter beschrieben worden ist, diese elektrische
Schaltung jegliche elektrische Schaltung sein könnte. Vorzugsweise ist die
zu schützende
elektrische Schaltung gemeinsam mit der Schutzschaltung 10, 200 bzw. 300 in
einem gemeinsamen Chip integriert. In dem Fall der Schaltungen 200 und 300 wäre eine
mit der zu schützenden Schaltung
verschränkte
bzw. über
dieselbe verteilte Anordnung der einzelnen Sensorzellen bevorzugt. Bei
einer gemeinsamen Integration der zu schützenden elektrischen Schaltung
mit der Sensorzelle nach 1 ist eine möglichst nahe bzw. benachbarte
Anordnung vorteilhaft. Bei dem Ausführungsbeispiel nach 4 und 5 sind
die Sensorzellen bevorzugter Weise über die Chipfläche gleichmäßig verteilt oder
auf eine Art und Weise verteilt, die der Anfälligkeit der verschiedenen
Teile der zu schützenden elektrischen
Schaltung entspricht. Vorzugsweise ist die zu schützende Schaltung
eine elektrische Schaltung, die kryptographische Algorithmen durchführen kann,
bzw. dazu vorgesehen ist, geheime Daten zu verarbeiten. Die zu schützende Schaltung
kann aber ferner eine Steuerschaltung sein, die hochsensitive Aufgaben
durchführt
bzw. hochsensitive Daten verarbeitet, wie z.B. ein Controller in
einem Steuerchip eines Kernkraftwerks oder dergleichen.
-
Bezugnehmend
auf 1 wird insbesondere auch darauf hingewiesen, dass
die Gatter 40 und 48 zu einem gemeinsamen Gatter
verwoben werden könnten,
das die Signale (Set-Alarm0, Set-Alarm1 und
Alarm0) zu ((SetAlrm0 ∧ SetAlrm1) ∨ Alarm0) verknüpft, um
das Signal Alarm0q zu halten.
-
Insbesondere
wird darauf hingewiesen, dass abhängig von den Gegebenheiten
das erfindungsgemäße Schema
zur Angriffserkennung auch in Software implementiert sein kann.
Die Implementation kann auf einem digitalen Speichermedium, insbesondere
einer Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen
erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken
können,
dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht
die Erfindung somit auch in einem Computerprogrammprodukt mit auf
einem maschinenlesbaren Träger
gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens,
wenn das Computer programmprodukt auf einem Rechner abläuft. In
anderen Worten ausgedrückt
kann die Erfindung somit als ein Computerprogramm mit einem Programmcode
zur Durchführung
des Verfahrens realisiert werden, wenn das Computerprogramm auf
einem Computer abläuft.
-
- 10
- Manipulationserfassungsschaltung
- 12
- Ansteuerschaltungsteil
- 14
- Sensor-RS-Flip-Flop
- 16
- Alarm-RS-Flip-Flop
- 18
- Verknüpfungs-Schaltungsteil
- 20
- Eingang
- 22
- Eingang
- 24
- Eingang
- 26
- Ausgang
- 28
- NOR-Gatter
- 30
- NOR-Gatter
- 32
- NOR-Gatter
- 34
- NOR-Gatter
- 36
- NOR-Gatter
- 38
- Inverter
- 40
- NOR-Gatter
- 42
- NOR-Gatter
- 44
- Inverter
- 46
- Inverter
- 48
- AND-Gatter
- 50
- NAND-Gatter
- 200
- Gesamtschaltung
- 202
- Eingang
- 204
- Eingang
- 206
- Eingang
- 208
- Ausgang
- 210
- OR-Gatter
- 212
- OR-Gatter
- 300
- Gesamtschaltung
- 302
- Eingang
- 304
- Eingang
- 306
- Eingang
- 308
- Ausgang
- 310
- Schaltungsteil
- 312
- NOR-Gatter
- 314
- NAND-Gatter
- 316
- p-Kanal-Transistor
- 318
- Bit-Leitung
- 320
- n-Kanal-Transistor
- 322
- Inverter
- 324
- p-Kanal-Transistor
- 326
- Inverter