-
Die
Erfindung betrifft eine Detektorschaltung zur Erfassung einer externen
Manipulation einer elektrischen Schaltung mit einer Kippschaltung
mit einem ersten Zustand und einem zweiten Zustand.
-
Bei
vielen Schaltungen sind Maßnahmen vorgesehen,
um zu verhindern, dass geheime Daten ausgelesen werden können. Dies
ist insbesondere dann erforderlich, wenn sicherheitskritische Daten verarbeitet
werden, wie dies bei Chipkarten oft der Fall ist. Chipkarten werden
als Authentifizierungswerkzeug oder für Bankanwendungen eingesetzt, was
die Sicherheitsanforderungen erhöht.
Maßnahmen
zur Zugriffsbeschränkung
sind auf der Ebene eines Betriebssystems oder einer Anwendung implementiert,
wobei eine Begrenzung auf bestimmte Adressbereiche oder bestimmte
Adressen vorgenommen ist. Durch die Schutzmaßnahmen kann sichergestellt
werden, dass nur bestimmte Benutzer oder bestimmte Anwendungen auf
sicherheitskritische Daten zugreifen können.
-
Angreifer
verfolgen das Ziel, die implementierten Sicherheitsmaßnahmen
zu überwinden
und Zugriff auf geheime Daten zu erhalten. Ein weiteres Ziel kann
sein, Erkenntnisse über
den Aufbau der Schaltung zu gewinnen.
-
Angriffsmöglichkeiten
-
Um
an die gewünschten
Informationen über Speicherinhalt
oder Schaltungsaufbau zu gelangen, wird zunächst ein so genanntes Reverse-Engineering
durchgeführt,
bei dem eine Analyse der integrierten Schaltung erfolgt. Anschließend wird
unter anderem die Funktionsweise der Schaltung verändert oder
eine Datenmanipulation in dem Speicher durchgeführt. Typischerweise wird bei
dieser Analyse das den Chip bedeckende Material sowie ein Teil der
die Verdrahtung des Chips schützenden
obere Schichten entfernt. Bei den dann freiliegenden oberen Leiterbahnen
handelt es sich meistens um nicht sicherheitsrelevante Leitungen,
welche durch sogenannte-Bypass-Leitungen umgeleitet werden können, um weiter
zu tieferen Schichten und Leitungen zu gelangen. Mit einigem Aufwand
können
diese Schritte heute mit der "FIB-Methode" ("Focussed-Ion-Beam") durchgeführt werden.
Sobald tieferliegende, sicherheitsrelevante und damit kritische
Leitungen erreicht sind, können
an diesen entweder Signale und Pulse abgegriffen werden (sog. "Probing"), oder es können diese
Leitungen mit Signalen beaufschlagt werden, um Daten zu manipulieren
(sog. "Forcing").
-
Bei
einem Angriff mit ionisierender Strahlung werden Daten auf Leitungen
der Schaltungsanordnung verändert,
so dass eine vollständige
Kontrolle durch die implementierten Sicherheitsmechanismen nicht
mehr möglich
ist. Dabei wird der physikalische Effekt ausgenutzt, dass bei in
Sperrrichtung gepolten pn-Übergängen eine
Ladungstrennung und dadurch ein Kurzschluss erfolgt, wenn eine ionisierende,
also Elektron-Loch-Paare
erzeugende Strahlung wie Photonen oder Alpha-Teilchen auf den pn-Übergang
einwirkt. Durch den Kurzschluss kann es vorkommen, dass der Signalzustand
einer Datenleitung von „1" auf „0" oder von „0" auf „1" wechselt, so dass
mit „falschen" Daten weitergearbeitet
wird. Beispielsweise werden in der Folge Daten aus Speicherbereichen ausgelesen,
die eigentlich für
einen Zugriff gesperrt sind.
-
Eine
weitere Angriffstechnik besteht in der Manipulation von Taktflanken
oder in einer gezielten Manipulation der Stromversorgung, wodurch
eine irreguläre Änderung
der Verhaltensweise der elektronischen Komponenten erreicht werden
kann.
-
Abwehrmaßnahmen
-
Es
war in der Vergangenheit das Ziel, die Analyse und Manipulation
der integrierten Schaltungen durch den besonderen Aufbau der Schaltung
zu verhindern oder wenigstens zu erschweren. Dies wurde einerseits
durch eine versteckte Strukturierung der kritischen Leitungen im
Verdrahtungsplan und andererseits durch Aufbringen einer dedizierten, abdeckenden
Schutzebene über
der relevanten Verdrahtungsebenen zu lösen versucht. Bei diesen Schutzebenen,
englisch: "Shields", werden mäander- oder
gitterförmige
Leitungen z.B. in Paaren in der Schutzebene realisiert, bei deren
Unterbrechung oder Kurzschluss für
den Fall, dass verschiedene Spannungen anliegen, der detektierende
Sensor ein Löschen
des Speichers, einen Reset oder die Funktionsuntüchtigkeit anderer Schaltungsteile
veranlasst. Eine Ausführung
dieser „passiv" genannten Leitungen
als unangeschlossene, spannungslose Leitungen ist ebenfalls möglich. Sie
dienen in diesem Fall lediglich noch zu einer Erhöhung des
Aufwandes beim Angriff beziehungsweise zur Verwirrung.
-
Die
Sicherheit der Bausteine lässt
sich noch erhöhen,
indem die beschriebenen passiven Leitungen durch so genannte aktive
Leitungen beim Design des Verdrahtungsplanes ersetzt werden.
-
Bei
diesen werden die Leitungen des Shields durch Ansteuerschaltungen
mit Signalen beaufschlagt, welche von Auswerteschaltungen analysiert und
z.B. mit Referenzsignalen verglichen werden. Wegen der möglichen
Variation der Signale kann dabei das Shield nur durch das sehr aufwendige
Verlegen einer Bypassleitung und durch die Anwendung der FIB-Methode
umgangen werden.
-
Bei
Angriffen mit ionisierender Strahlung oder gezielten Schwankungen
der Versorgungsspannung beziehungsweise der Manipulation von Taktflanken
besteht eine Möglichkeit
der Abwehr darin, die Ursachen für
die Manipulationen zu erfassen, das heißt die ionisierende Strahlung
beziehungsweise die Versorgungsspannungsschwankungen zu erkennen.
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, mit einiger Wahrscheinlichkeit 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. Werden nur wenige Sensoren vorgesehen, ist kein
Schutz gegen „lokale
Strahlungsangriffe" auf
einzelne oder einige wenige Speicherzellen beziehungsweise Gatter
gegeben. Viele Sensoren, die in aufwendiger Analogtechnik aufgebaut
sind, erhöhen
die Kosten einer solchen kryptographischen Schaltung in signifikanter
Weise. Dies macht sich insbesondere bei Massenartikeln wie Chipkarten
und Smart-Cards nachteilig bemerkbar. Das Integrieren von Licht-
und Spikesen soren, die als Analogschaltungen ausgeführt sind,
auf ICs für
Sicherheitsanwendungen ist folglich keine optimale Lösung für obiges
Problem.
-
Stattdessen
oder zusätzlich
wurde in der Vergangenheit auch versucht, nicht die Manipulation selber
zu erkennen, sondern anhand der Wirkung der Manipulationen auf das
Vorliegen einer Manipulationen zu schließen. Die Wirkung einer Manipulationen sind
geänderte
Daten. Üblicherweise
werden deshalb Speicherinhalte durch fehlererkennende Codes (Error
Detecting Code, EDC) geschützt,
was jedoch zu deutlich erhöhtem
Flächenaufwand
führt,
da dies EDC-Auswerte- und Erzeugungsschaltungen notwendig macht.
-
Aus
der
DE 10 2004
020 870 A1 ist bekannt, eine digitale Erkennung von Fehlerangriffen
durchzuführen.
Die vorgeschlagene Schaltung ist allerdings aufwendig und benötigt viel
Platz in einer integrierten Schaltung.
-
Es
ist eine Aufgabe der Erfindung, eine Detektorschaltung anzugeben,
die besonders klein ist. Darüber
hinaus soll ein Verfahren zum Betreiben einer solche Detektorschaltungen
aufweisenden Schaltungsanordnung angegeben werden.
-
Diese
Aufgabe wird durch eine Detektorschaltung der eingangs genannten
Art gelöst,
die dadurch gekennzeichnet ist, dass die Kippschaltung ein Reset-Set-Latch
ist mit einem Reset-Eingang,
einem Set-Eingang und zumindest einem Ausgangsknoten, wobei das
Latch einen ersten Transistor eines ersten Leitfähigkeitstyps aufweist, dessen
Gate-Anschluss mit dem Set-Eingang verbunden ist und dessen Source-Anschluss
mit dem Reset-Eingang verbunden ist, einen zweiten Transistor des
ersten Leitfähigkeitstyps
aufweist, dessen Drain-Anschluss mit dem Drain-Anschluss des ersten
Transistors verbunden ist, dessen Source-Anschluss mit dem Source-Anschluss
des ersten Transistors verbunden ist, einem dritten Transistor eines
zweiten Leitfähigkeitstyps, dessen
Drain-Anschluss mit dem Drain-Anschluss des ersten Transistors verbunden
ist und dessen Source-Anschluss mit einem ersten Versorgungsspannungspotential
verbunden ist, einem vierten Transistor des ersten Leitfähigkeitstyps,
dessen Gate-Anschluss mit dem Source-Anschluss des ersten Transistors verbunden
ist, dessen Source-Anschluss mit einem zweiten Versorgungsspannungspotential
verbunden ist und dessen Drain-Anschluss mit dem Gate-Anschluss des zweiten
Transistors, dem Gate-Anschluss des dritten Transistors sowie dem
Ausgangsknoten verbunden ist, einem fünften Transistor des zweiten
Leitfähihkeitstyps,
dessen Source-Anschluss mit dem ersten Versorgungsspannungspotential
verbunden ist und dessen Gate-Anschluss mit dem Reset-Eingang verbunden
ist, einem sechsten Transistor des zweiten Leitfähigkeitstyps, dessen Source-Anschluss
mit dem Drain-Anschluss des fünften
Transistors verbunden ist, dessen Drain-Anschluss mit dem Ausgangsknoten
verbunden ist und dessen Gate-Anschluss mit dem Drain-Anschluss
des ersten Transistors verbunden ist, einem siebten Transistor des
ersten Leitfähigkeitstyps,
dessen Drain-Anschluss mit dem Ausgangsknoten verbunden ist, dessen
Source-Anschluss mit dem zweiten Versorgungsspannungspotential verbunden
ist und dessen Gate-Anschluss
mit dem Gate-Anschluss des sechsten Transistors verbunden ist.
-
Bezüglich eines
Verfahrens wird die Aufgabe durch ein Verfahren gelöst mit den
Schritten: Bereitstellen der Schaltungsanordnung nach einem der
Ansprüche
3 bis 6 mit einer Vielzahl von Speicherzellen und einer Vielzahl
von Detektorschaltungen, die zwischen den Speicherzellen angeordnet
sind und ent weder einen ersten oder einen zweiten Zustand annehmen
können,
Initialisieren der Detektorschaltungen in den ersten Zustand, Auswerten
des Zustandes der Detektorschaltungen, Erzeugen eines Alarmsignals,
wenn zumindest eine der Detektorschaltungen den zweiten Zustand
aufweist.
-
Die
Erfindung geht von der Idee aus, eine digitale Schaltung als Detektor
einzusetzen. Erfindungsgemäß ist vorgesehen,
diese Detektorschaltung so klein auszugestalten, dass sie bei Bedarf
an sehr vielen Stellen einer zu schützenden Schaltung vorgesehen
werden kann. Die erfindungsgemäß vorgesehene
Schaltung ist einerseits empfindlich gegenüber der Wirkung ionisierender
Strahlung bzw. Schwankungen von VDD-VSS (VDD und VSS bezeichnen
die höhere
bzw. niedrigere Versorgungsspannung), und ist andererseits den empfindlichsten Angriffszielen,
also den gegenüber
diesen Angriffen empfindlichsten „regulären" digitalen Schaltungen, sehr ähnlich.
Im Idealfall umfasst eine solche Detektorschaltung eine Teilschaltung
mit einer etwas höheren
Empfindlichkeit als die empfindlichsten Ziele dieser Angriffe. Letztere
bestehen beispielsweise aus 6-Transistor-SRAM-Zellen bzw. den als
sehr „kritisch" anzusehenden Pfaden
zwischen je zwei Registerstufen.
-
Für die Erkennung
eines Angriffs mit ionisierender Strahlung wird dabei derselbe physikalische Effekt
ausgenutzt wie für
den Angriff selbst: die Ladungstrennung bzw. den Kurzschluss über in Sperrrichtung
gepolte pn-Übergänge, wenn
diese ionisierender, also Elektron-Loch-Paare erzeugender Strahlung
wie Photonen oder Alpha-Teilchen ausgesetzt sind.
-
Gleiches
gilt für
Angriffe durch gezielte Schwankungen der Versorgungsspannung mit
dem Ziel, entweder ein in einer Speichervorrichtung (beispielsweise
einer SRAM-Zelle oder einem Register) gespeichertes Bit zu löschen oder
zu setzen, was für starke
Schwankungen der Größenordnung VDD-VSS
möglich
ist, oder aber kritische Laufzeiten zwischen zwei Registerstufen
so zu verändern,
dass Set-Up- oder Hold-Zeiten von Empfänger-Registern verletzt werden
und damit falsche (Rechen-) Ergebnisse in diesen Registern eingetaktet
werden. Dies kann schon mit moderaten Schwankungen von VDD-VSS im
Bereich wenigen hundert Millivolt erreicht werden. Die Set-Up-Zeit ist dabei die
Zeit, die ein Signal anliegen muss, um korrekt übernommen zu werden. Die Hold-Zeit
ist diejenige Zeit, die das Signal nach der Übernahme noch mindestens anliegen muss.
-
Wiederum
gleiches gilt für
Angriffe durch Manipulation von Taktflanken mit dem Ziel, Set-Up-
oder Hold-Zeiten von Empfänger-Registern
zu verletzen und damit falsche (Rechen-) Ergebnisse in diesen Registern
einzutakten.
-
Auch
in letzteren Fällen
soll derselbe physikalische Effekt ausgenutzt wie für den Angriff
selbst, was am einfachsten dadurch zu realisieren ist, dass die
digitale Detektorschaltung den Angriffszielen so ähnlich ist
wie möglich.
-
Vorteilhafterweise
werden dabei mehrere erfindungsgemäße digitale Detektorschaltungen
miteinander verbunden.
-
Aufgrund
der geringen Größe ist es
möglich, bei
vertretbarem Mehraufwand sehr viele Detektorschaltungen vorzusehen
und gegebenenfalls in ein Speicherfeld einzugliedern. Vorzugsweise
beträgt das
Verhältnis
von Detektorzellen (Detektorschaltungen) zu Speicherzellen 1/10
bis 1. Bei der derzeit verwendeten Halbleitertechnologie, nämlich einer 130nm-CMOS- Technologie, beträgt der Flächenbedarf
ungefähr
5 μm2 pro Detektorzelle. Wird eine Technologie
eingesetzt, die kleine Strukturen ermöglicht, so würde der
Flächenbedarf
für eine
Detektorzelle entsprechend sinken.
-
Weitere
vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
-
Die
Erfindung wird nachfolgend anhand eines Ausführungsbeispiels näher erläutert. Es
zeigt:
-
1 eine
erfindungsgemäße Detektorschaltung
in einer Version, die für
Semi-Custom-Implementierung geeignet ist, also als Element einer Standardzellenbibliothek
ausgeführt
ist,
-
2 eine
Verknüpfung
mehrerer Detektorschaltungen gemäße 1,
-
3 eine
erfindungsgemäße Detektorschaltung
in einer Version, die für
Full-Custom-Implementierung geeignet ist, also in eine Full-Custom-Schaltung,
beispielsweise in ein SRAM oder einen Full-Custom Datenpfad integriert
werden kann, und
-
4 eine
Verknüpfung
mehrerer Detektorschaltungen gemäße 3,
-
5 ein
Speicherfeld mit darin eingegliederten Detektorzellen und
-
6 die
Verbindung von Detektorzellen in einem Speicherfeld gemäß 5.
-
In 1 ist
eine erfindungsgemäße Detektorschaltung
dargestellt, wobei die in 1 dargestellte
Variante einer erfindungsgemäßen Schaltung für ein Semi-Custom-Design
geeignet ist. Dies bedeutet, dass die Schaltung so wie sie dargestellt
ist als Standardzelle in eine Bibliothek aufgenommen werden kann.
Aus dieser Bibliothek kann sie beim Schaltungsentwurf eingefügt werden,
wobei bezüglich
der Signalpegel und Ströme
an Eingängen
und Ausgängen
keine Besonderheiten beachtet werden müssen, sondern es kommt nur
auf den logischen Pegel anliegender beziehungsweise ausgegebener Signale
an.
-
Die
in 1 dargestellte Schaltung kann als ein modifiziertes
so genanntes Reset-Set-Latch (RS-Latch) aufgefasst werden, also
als bistabile Speicherschaltung, deren Speicher- bzw. Latch-Knoten mit Z' und ZN bezeichnet
sind. Weiter werden p-Kanal-Transistoren bzw. n-Kanal-Transistoren
bezeichnet mit TPx bzw. TNx, x = 1, 2, ...
-
Ein
Setzen von Z' auf
VDD und ein gleichzeitiges Rücksetzen
von ZN auf VSS wird erreicht durch einen aktiven, d.h. hohen Pegel
VDD am Setzeingang T, wenn gleichzeitig RN inaktiv, d.h. gleich
VDD ist. ZN ist dann über
die leitenden Transistoren TN1 und TN2 mit VSS verbunden, was zur
Folge hat, dass Z' über die
leitenden Transistoren TP3 und TP4 mit VDD verbunden ist. Wird nun
T wieder deaktiviert, d.h. auf VSS gesetzt (ohne dass RN aktiviert
wird, d.h. RN bleibt auf VDD), so bleibt der Zustand Z' = VDD, ZN = VSS
erhalten, da über
die leitenden Transistoren TP3, TP4 und TN3 eine wechselseitige Rückkopplung
zwischen Z' und
ZN besteht.
-
Wie
weiter unten erläutert,
dient dieses Setzen in einen zweiten Zustand Z' = VDD, ZN = VSS mittels T = VDD, RN
= VDD zum einen dem Testen der korrekten Funktion der digitalen
Detektorschaltung, und kann zum anderen eingesetzt werden, um die
oben beschriebenen Angriffe auf Set-Up- und Hold-Zeiten zu erkennen.
In einem vereinfachten Verfahren zum Betreiben einer erfindungsgemäßen Detektorschaltung
kann dieser Schritt weggelassen werden.
-
Ein
Rücksetzen
von Z' auf VSS und
ein gleichzeitiges Setzten von ZN auf VDD wird erreicht durch niedrigen
Pegel VSS am Rücksetzeingang
RN: das über
den aus TP1 und TN1 gebildeten Inverter erzeugte Signal R nimmt
dann den Wert VDD an, so dass Z' über TN4
mit VSS verbunden wird, was wiederum zur Folge hat, dass der Knoten
ZN über
den leitenden Transistor TP2 mit VDD verbunden wird (der Pegel von
T, dem Setzeingang, ist für
den Rücksetzvorgang
unerheblich). Wird nun RN wieder deaktiviert, d.h. auf VDD gesetzt
(ohne dass T aktiviert ist, d.h. T liegt auf VSS), so bleibt der
Zustand Z' = VSS, ZN
= VDD erhalten, da über
die leitenden Transistoren TP2 und TN5 eine wechselseitige Rückkopplung zwischen
Z' und ZN besteht.
-
Der
mit diesem Rücksetzvorgang
herbeigeführte
erste Zustand Z' =
VSS, ZN = VDD ist nun derjenige, welcher für Angriffe mit ionisierender
Strahlung und starken Schwankungen von VDD-VSS besonders empfindlich ist, da solche
Angriffe zu einem Zustandswechsel auf Z' = VDD, ZN = VSS führen, auch wenn die „Intensitäten" der jeweiligen Angriffe noch
nicht ausreichen, um Zustandsänderungen
in den empfindlichsten eigentlichen Angriffszielen wie z.B. SRAM-Zellen
herbeizuführen.
Diese erhöhte Empfindlichkeit
wird erreicht durch unsymmetrische Dimensionierung von Kanalweiten
und -längen
sowie "Drain"-Gebiete einiger Transistoren innerhalb
der digitalen Detek torschaltung: große Kanallängen und/oder kleine Kanalweiten
der Transistoren TP2, TN4, TN5, kleine Kanallängen und/oder große Kanalweiten
der Transistoren TP3, TP4, TN2, TN3 sowie vergrößerte "Drain"-Gebiete von TP4, TN2 und TN3 bedeuten
zum einen eine deutliche Erhöhung
negativer Ladungsüberträge auf ZN
durch ionisierende Strahlung auf TN2, TN3 verglichen mit denen auf
Z' durch ionisierende
Strahlung auf TN4, TN5; analoges gilt umgekehrt für eine deutliche
Erhöhung
positiver Ladungsüberträge auf Z' durch ionisierende
Strahlung auf TP4, verglichen mit denen auf ZN durch ionisierende
Strahlung auf TP2. Das „Kippen" des Zustandes Z' = VSS, ZN = VDD
nach Z' = VDD, ZN
= VSS wird weiter begünstigt
durch die durch die „schiefe" Dimensionierungen
bewirkten Erhöhungen der
Stromergiebigkeit von TP3, TP4, TN2, TN3 bzw. Verringerungen der
Stromergiebigkeit von TP2, TN4, TN5. Letztere führen auch dazu, dass die digitale
Detektorschaltung einen Vorzugszustand aufweist, d.h. bei einem
Hochschalten des Pegels der Versorgungsspannung von VSS (also Masse)
aus auf den jeweiligen Nominalwert VDD, bei dem die Schaltungen
des IC betrieben werden, stellt sich immer der Zustand Z' = VDD, ZN = VSS,
also der „Alarmzustand" ein. Diese Eigenschaft
bedeutet eine, verglichen mit symmetrisch dimensionierten „Angriffszielen" wie SRAM-Zellen,
deutlich erhöhte
Empfindlichkeit der digitalen Detektorschaltung gegenüber so genannten
Spike-Angriffen mittels starker Schwankungen von VDD-VSS.
-
Der
durch einen der oben beschriebenen Angriffe herbeigeführte „Alarm"-Zustand Z' = VDD, ZN = VSS
wird nach außen
angezeigt durch das aus ZN über
den aus TP5 und TN6 bestehenden Inverter gebildete Ausgangssignal
Z, welches dann den Pegel VDD annimmt.
-
Der
Einsatz von digitalen Detektorschaltungen zur Erkennung von den
oben näher
beschriebenen Angriffen auf Set-Up- und Hold-Zeiten sowie der Testmodus
eines Systems von digitalen Detektorschaltungen werden nun anhand
von 2 näher
erläutert.
-
2 zeigt
eine Kette von n+1 digitalen Detektorschaltungen I<j> mit j = 0..n, die
auch als „Fault Attack
Detection Standard Cell" bezeichnet
werden. Dabei werden die T- und RN-Eingänge
von I<1>, .. I<n> durch UND- und ODER-Gatter
AND<1>, .. AND<n> bzw. OR<1>, .. OR<n> angesteuert, wobei die
Eingänge
von AND<j> und OR<j> jeweils mit dem Z-Ausgang
von I<j-1> und dem RN-Eingang
RN der Gesamtschaltung verbunden sind. Die Eingänge von I<0> werden
angesteuert durch den T- und RN-Eingang
T bzw. RN der Gesamtschaltung.
-
Für den Rücksetzzustand
der Gesamtschaltung gilt T = VSS, RN = VSS, so dass zunächst der Z-Ausgang
von I<0> auf VSS zu liegen
kommt, was bedeutet, dass die T- bzw. RN-Eingänge von I<1> über AND<1> und OR<1> ebenfalls jeweils
den Wert VSS annehmen, also auch den Z-Ausgang von I<1> auf VSS setzen. Dies
wiederum bedeutet, dass auf analoge Weise danach auch die Z-Ausgänge von I<2>, .. I<n> nacheinander auf VSS
zu liegen kommen, so dass also alle I<j>,
j = 0, .., n nacheinander rückgesetzt
werden, und schließlich
der Z-Ausgang Z der Gesamtschaltung auf VSS rückgesetzt wird.
-
Das
Ergebnis dieses Rücksetzzustandes
ist Anfangszustand für
den Testmodus, in dem zunächst RN
deaktiviert, also gleich VDD gesetzt wird, wodurch am RN-Eingang
von I<0> und, über die
OR<j>, j = 1, .., n, auch
an den RN-Eingängen
aller I<j> die Pegel VDD zu liegen
kommen. Dann wird T aktiviert, also von VSS auf VDD angehoben. Dadurch
wird zunächst
I<0> wie oben beschrieben
gesetzt, der Z-Ausgang von I<0> nimmt also den Wert
VDD an. Dadurch aber kommt auch am T-Eingang von I<1> der Pegel VDD zu liegen,
wodurch I<1> gesetzt wird, also
auch der Z-Ausgang von I<1> auf VDD zu liegen kommt.
Dies wiederum bedeutet, dass danach auf analoge Weise auch die Z-Ausgänge von
I<2> .. I<n> nacheinander auf VDD
zu liegen kommen, so dass also alle I<j>,
j = 0 .. n nacheinander gesetzt werden, und schließlich der
Z-Ausgang Z der Gesamtschaltung auf VDD gesetzt wird.
-
Mit
diesem Testmodus kann die korrekte Funktion aller I<j> sowie die Integrität der Verbindungen
zwischen ihnen geprüft
werden, und zwar zu jeder vom jeweiligen System vorgegebenen bzw.
vom Anwender gewünschten
Zeit.
-
Nach
einem weiteren Rücksetzen
der I<j> wie oben beschrieben
befinden sich. die Z-Ausgänge aller
I<j> auf dem Pegel VSS
und RN möge
wieder deaktiviert sein, also auf VDD liegen, T bleibe aber deaktiviert,
also auf VSS-Pegel. In diesem Modus, als "Statische Fehlerangriffserkennung" bezeichnet, sind
nun alle I<j> empfindlich für Fehlerangriffe,
und sobald in einem der I<j> der Z-Ausgang durch
einen Fehlerangriff wie oben beschrieben auf VDD angehoben wird,
propagiert dieser Wert über
alle AND<j+1>, .. AND<n> bzw. I<j+1>, .. I<n> bis zum Ausgang Z der
Gesamtschaltung, wodurch ein erkannter Fehlerangriff angezeigt wird.
-
Ein
weiterer möglicher
Modus, als "Dynamische
Fehlerangriffserkennung" bezeichnet,
besteht in einem periodischen Setzen und Rücksetzen der Z-Ausgänge aller
I<j> wie oben beschrieben,
wobei dies mit einem geeigneten Taktsignal folgendermaßen gekoppelt
werden kann: mit der steigenden Taktflanke wird der oben als Testmodus
bezeichnete Ablauf in Gang gesetzt, d.h. nacheinander werden alle I<j> gesetzt so dass schließlich Z
auf VDD zu liegen kommt. Mit der fallenden Taktflanke wird dann
das oben beschriebene Rücksetzen
durchgeführt,
d.h. nacheinander werden alle I<j> rückgesetzt so dass schließlich Z
auf VSS zu liegen kommt, wenn dieser Vorgang schnell genug abläuft, d.h.
vor der nächsten steigenden
Taktflanke abgeschlossen ist (es wird dabei angenommen, dass Z mit
der steigenden Taktflanke in ein (nicht in 2 eingezeichnetes)
Register eingetaktet wird)). Sollte dies jedoch nicht der Fall sein,
wird mit Z auf VDD-Pegel (bzw. am Ausgang besagten Registers) ein
erkannter Fehlerangriff angezeigt, der nun nicht nur auf eine einzelne
der Zellen I<j>, sondern auch wie
oben beschrieben auf die Versorgungsspannung und/oder das Taktsignal
durchgeführt
worden sein kann, um kritische Pfade und die diesen zugeordneten
Signallaufzeiten zu manipulieren bzw. Set-Up- und Hold-Zeiten zu
verletzen. Angriffe auf Set-Up-
bzw. Hold-Zeiten werden dabei von geeignet langen bzw. kurzen Ketten
von digitalen Sensorzellen erkennbar.
-
Man
beachte, dass alle Gatter AND<j> und OR<j> weggelassen werden
können,
wenn dieser Modus der "Dynamischen
Fehlerangriffserkennung" nicht
implementiert werden soll oder muss, z.B. um Energie und Fläche zu sparen.
Andererseits kann, wenn es vor allem auf den Energieverbrauch ankommt,
dieser Modus jeweils nur dann aktiviert werden, wenn z.B. sicherheitskritische
Abläufe
und Daten geschützt
werden sollen. Da letzteres üblicherweise
nur für
einen sehr kleinen Teil der Aktivität eines Sicherheits-IC's der Fall ist, kann
dann der zusätzliche
Energieverbrauch vernachlässigt
werden.
-
3 zeigt
eine digitale Detektorschaltung in einer Version, die für Full-Custom-Implementierung
geeignet ist, also in eine Full-Custom-Schaltung, beispielsweise
in ein SRAM oder einen Full-Custom Datenpfad, integriert werden
kann. Diese Schaltung geht aus der Schaltung von 1 durch
Weglassen der aus TP1 und TN1 sowie TP5 und TN6 gebildeten Inverter
hervor.
-
Da
der aus TP1 und TN1 gebildete Inverter von 1 in der
Schaltung von 3 weggelassen wird, ist nun
R ein Eingangssignal. Da R mit den Sources der n-Kanal-Transistoren
TN2 und TN3 verbunden ist, wurde für die Standardzellenvariante
von 1 der aus TP1 und TN1 gebildete Inverter hinzugefügt, um einfachere
und zuverlässigere
Charakterisierbarkeit des RN-Eingangs zu gewährleisten.
-
Weiter
stimmt der Ausgang Z von 3 überein mit dem Signal Z' von 1,
denn der aus TP5 und TN6 gebildete Inverter von 1 zur
Entkopplung der Knoten ZN (und Z')
von der Kapazität am
Ausgang Z von 1 wurde in der Schaltung von 3 weggelassen,
da in Full-Custom Strukturen volle Kontrolle besteht über die
jeweiligen Knotenkapazitäten.
-
4 zeigt
eine mögliche
Verknüpfung
der Detektorschaltung von 3 innerhalb
einer Full-Custom Schaltung. Gegenüber 2 wurden wie
oben schon bemerkt, alle UND und ODER Gatter zwischen den Elementen
I<j> der Kette von Detektorschaltungen
weggelassen, so dass diese Anordnung nicht zur Detektion von Angriffen
auf Set-Up- und Hold-Zeiten geeignet ist.
-
Über die
Detektorschaltungen von 1 und 3 hinaus
sind weitere Varianten und Verknüpfungen
möglich,
z.B. eine Zelle, bestehend aus
- – eingangsseitig
einer ersten Schaltung wie in 1, jedoch
ohne den Inverter aus TP5 und TN6, und mit Z' = Z als Signalausgang;
- – darauf
folgend eine zweite Schaltung wie in 3, deren
R-Eingang mit dem Signal R der ersten Schaltung verbunden ist, und
deren T-Eingang mit dem Ausgang Z der ersten Schaltung verbunden
ist;
- – ausgangsseitig
eine dritte Schaltung wie in 3, jedoch
mit einem Inverter am Ausgang zur Inversion des Signals ZN wie in 1,
deren R-Eingang mit dem Signal R der ersten Schaltung verbunden
ist, und deren T-Eingang mit dem Ausgang Z der zweiten Schaltung
verbunden ist.
-
Gegenüber einer
Kette wie in 2 können damit Transistoren bzw.
Fläche
gespart werden. Eine solche oder ähnliche Schaltung kann z.B.
innerhalb einer „regulären" Schaltung eingesetzt
werden, um streifenförmige
Bereiche zur Erkennung von Fehlerangriffen zu realisieren.
-
5 zeigt
ein Speicherfeld mit einer Vielzahl von Speicherzellen 3 und
einer Vielzahl dazwischen angeordneter Detektorzellen 2,
die schraffiert dargestellt sind. Das Verhältnis der Anzahl der Detektorzellen
zur Anzahl der Speicherzellen beträgt 1/4. In der gezeigten schematischen
Darstellung sind die Detektorzellen gleichmäßig über das Speicherfeld verteilt.
Es könnte
aber auch eine ungleichmäßige Verteilung
vorgesehen werden. Der Abstand zwischen zwei Detektorzellen ist
vorzugsweise so klein, dass es nicht möglich ist, mit einem fokussierten Lichtstrahl
auf eine Speicherzelle einzuwirken, ohne dabei eine benachbarte
Detektorzelle mit zu bestrahlen. Somit ist sichergestellt, dass
bei jedem Manipulationsversuch der Angriff detektiert wird.
-
Die
Speicherzellen werden konventionell durch einen Zeilendekodierer 4 und
einen Spaltendekodierer 5 angesteuert bzw. ausgelesen.
Die Ansteuerung der Speicherzellen wird durch eine Steuervorrichtung 6 gesteuert.
-
Die
Detektorzellen werden, wie bereits aus den 2 und 4 entnehmbar
ist, jeweils mit zwei Signalen angesteuert, nämlich dem Setz-Signal T und
dem Rücksetz-Signal
RN bzw. R. Das Rücksetz-Signal
RN bzw. R wird allen Detektorzellen parallel zugeführt, wie
in 6 dargestellt ist. Das Setz-Signal T wird von
einer in einer Kette von Detektorzellen vorgeschalteten Detektorzelle
bezogen. Daher ist ein Eingang einer Detektorzelle mit jeweils einem
Ausgang einer anderen Detektorzelle verbunden. Das Ausgangssignal
wird am Ende der Kette von der letzten Detektorzelle bereitgestellt.
Der Verdrahtungsaufwand ist durch die diese verkettete Anordnung
sehr gering.
-
Weitere
Ausgestaltungen erfindungsgemäßer Schaltungen
liegen im Ermessen des Fachmanns. Die Erfindung ist nicht auf die
gezeigten Ausführungsbeispiele
beschränkt.
Insbesondere sind auch Elemente der gezeigten Ausführungsbeispiele miteinander
kombinierbar.
-
- 1
- Speicherfeld
- 2
- Detektorzelle
- 3
- Speicherzelle
- 4
- Zeilendekoder
- 5
- Spaltendekoder
- 6
- Steuervorrichtung
- TN1
.. TN6
- n-Kanal-Transistoren
- TP1
.. TP5
- p-Kanal-Transistoren
- R,
RN
- Rücksetz-Signal
- T
- Setz-Signal
- Z
- Ausgangssignal
- Z'
- Latch-Knoten
- ZN
- Latch-Knoten
- VDD
- erstes
Versorgungsspannungspotential
- VSS
- zweites
Versorgungsspannungspotential