-
Die
Erfindung betrifft eine Schaltungsanordnung mit komplementären Datenleitungen,
insbesondere Datenleitungen eines Dual-Rail-Datenbus oder bei einer
Speicherschaltung mit einer Vielzahl von Speicherzellen, die mit
komplementären
Datenleitungen verbunden sind, wobei in einer regulären Betriebsphase
die komplementären
Datenleitungen komplementäre
Signale führen
und in einer Vorladephase die komplementären Datenleitungen einen gleichen
logischen Zustand oder das gleiche elektrische Potential annehmen,
und einer Einrichtung zur Erkennung von Manipulationsversuchen.
Außerdem betrifft
die Erfindung ein Verfahren zur Erkennung von Manipulationsversuchen
bei einer Schaltungsanordnung, die komplementäre Datenleitungen aufweist,
wobei in einer regulären
Betriebsphase die komplementären
Datenleitungen komplementäre
Signale führen
und in einer Vorladephase die Signale auf den komplementären Datenleitungen
in einen gleichen logischen Zustand gebracht werden. Außerdem betrifft
die Erfindung ein Verfahren zur Erkennung von Manipulationsversuchen
bei einer Schaltungsanordnung, die komplementäre Datenleitungen aufweist.
-
Bei
vielen Schaltungen sind Maßnahmen vorgesehen,
um zu verhindern, dass Daten aus bestimmten Speicherbereichen 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. Die 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.
-
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 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 Spikesensoren, 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.
-
Es
ist eine Aufgabe der Erfindung, eine Schaltungsanordnung anzugeben,
bei der eine Einrichtung zur Erkennung von Manipulationsversuchen einfach,
in ihrer Wirkung aber dennoch effizient ausgestaltet ist. Dabei
sollen insbesondere Strahlungsangriffe auf Speicherschaltungen,
insbesondere RAM- und ROM-Speicher,
sowie auf Datenbusse erkannt werden. Gleichzeitig soll die Schaltung
einen reduzierten Energieumsatz aufweisen. Darüber hinaus soll ein entsprechendes
Verfahren angegeben werden.
-
Diese
Aufgabe wird erfindungsgemäß durch einen
Schaltungsanordnung der eingangs genannten Art gelöst, die
dadurch gekennzeichnet ist, die Einrichtung zur Erkennung von Manipula tionsversuchen eine
Detektorschaltung umfasst, die bei dem Auftreten eines gleichen
logischen Zustands auf beiden Datenleitungen in der regulären Betriebsphase
ein Alarmsignal ausgibt. Bei dem Auftreten eines gleichen logischen
Zustands auf beiden Datenleitungen in der Vorladephase wird in einer
vorteilhaften Ausgestaltung einer erfindungsgemäßen Schaltungsanordnung ebenfalls
ein Alarmsignal ausgegeben, wenn der logische Zustand entgegengesetzt
zu dem Vorladezustand ist.
-
Bei
der erfindungsgemäß ausgestalteten Schaltungsanordnung
wird ausgenutzt, dass auf den Bit-Leitungen komplementäre Signalzustände anliegen,
wenn es sich um ein gültiges
Datum handelt. Bei Angriffen auf die Schaltungsanordnung mit ionisierender
Strahlung werden die Signalzustände
derart geändert,
dass eine ungültige
Kombination von Signalzuständen
entsteht.
-
Dabei
kann vorgesehen werden, dass die Ansteuerschaltungen der Bitleitungspaare
von RAM- und ROM-Speichern sowie Busstrukturen mit digitalen Schaltungen
ausgestaltet oder kombiniert werden, die empfindlich sind gegenüber der
Wirkung ionisierender Strahlung. Dadurch wird die Wahrscheinlichkeit
erhöht,
dass bei einem Angriff mit ionisierender Strahlung ein ungültiger Signalzustand
auf den komplementären
Datenleitungen entsteht, so dass mit erhöhter Wahrscheinlichkeit ein
Manipulationsversuch erkannt wird. Für die Erkennung eines Angriffs
mit ionisierender Strahlung wird dabei derselbe physikalische Effekt
ausgenutzt wie für
den Angriff selbst. Bei in Sperrrichtung gepolten pn-Übergängen erfolgt
eine Ladungstrennung und dadurch ein Kurzschluss, wenn diese ionisierender,
also Elektron-Loch-Paare erzeugender Strahlung wie Photonen oder
Alpha-Teilchen ausgesetzt sind, Mittels der erfindungsgemäßen Maßnahmen
können
Busstrukturen sowie RAM- und ROM-Speicher kleiner bis mittlerer
Größe, das
heißt
bis zu einigen kByte, mit Anforderungen an die Zugriffszeit im Bereich
ab etwa 5 ns bis zu einigen 10 ns betrieben werden, wobei gleichzeitig
mit einer auf einige 100 mV reduzierten Potentialdifferenz zwischen
komplementären
Bitleitungen gearbeitet werden kann, ohne dabei „teure" Analogschaltungen einsetzen zu müssen.
-
Ein
weiterer Effekt der erfindungsgemäßen Maßnahmen besteht in kürzeren Zugriffszeiten,
da weniger Ladung umgesetzt werden muss. Der Grund dafür ist, dass
wie unten ausgeführt
der Equalize-Transistor vorgesehen ist und über den Pass-Gate-Transistoren eine
Einsatzspannung abfällt,
die die auszugleichende Ladung verringert. Zudem wird eine erhöhte Empfindlichkeit
der digitalen Schaltungen zur Erkennung von Strahlungsangriffen erreicht.
Eine weitere deutliche Erhöhung
dieser Empfindlichkeit wird erreicht, indem das zuletzt gelesene
oder geschriebene Datum zwischen je zwei Zugriffen auf den komplementären Elementen
eines Bitleitungspaares gehalten und nicht, wie üblich, auf VDD vorgeladen wird.
-
Bezüglich des
Verfahrens wird die Aufgabe durch ein Verfahren der eingangs genannten
Art gelöst,
das gekennzeichnet ist durch die Schritte: Vergleichen der Signalzustände auf
den komplementären
Datenleitungen und Erzeugen eines Alarmsignals, wenn in der regulären Betriebsphase
gleiche logische Signalzustände,
die entgegengesetzt zu dem Vorladezustand sind, festgestellt werden.
-
Die
Erfindung wird nachfolgend anhand von Ausführungsbeispielen näher beschrieben.
Es zeigt:
-
1 eine
SRAM-Bitslice,
-
2 eine
Lese-Schreib-Schaltung,
-
3 eine
detaillierte Darstellung der zwischengeschalteten Steuerschaltung
des SRAM-Bitslice,
-
4 ein
Signaldiagramm für
die Schaltung nach den 1 bis 3,
-
5 eine
alternative zwischengeschaltete Steuerschaltung des SRAM-Bitslice
mit einer Vorlade- und Alarmfunktion,
-
6 bis 8 weitere
Ausführungsbeispiele
mit einer Dual-Rail-Busstruktur.
-
1 zeigt,
von links nach rechts betrachtet, eine Lese-Schreib-Schaltung 1 für den Datentransfer beim
Schreiben vom Dateneingang di auf das externe beziehungsweise interne
Bitleitungspaar bx, bxq beziehungsweise bl, blq, sowie den Datentransfer beim
Lesen von dem Bitleitungspaar bl, blq über das Bitleitungspaar bx,
bxq zum Ausgangspin do. Diese Schaltung wird anhand von 2 näher erläutert.
-
Eine
Steuerschaltung 2 mit drei Funktionen LATCH, das heißt temporäres Speichern
der zuletzt geschriebenen oder gelesenen Daten auf dem Bitleitungspaar
bx, bxq beziehungsweise dem Bitleitungspaar bl, blq, PRECHRRGE,
das heißt
Vorladen der Bitleitungspaare bx, bxq und bl, blq unmittelbar vor einem
Lesezugriff, sowie ALARM, das heißt Ausgabe eines Alarmsignals
zur Anzeige, dass sich das Bitleitungspaar bx, bxq oder das Bitleitungspaar
bl, blq in einem Zustand befindet, der im normalen Betrieb niemals
auftreten, jedoch durch einen An griff mit ionisierender Strahlung
oder einem anderen, signalverändernden
Angriff herbeigeführt
werden kann. Diese Schaltung wird anhand von 3 näher erläutert.
-
Konventionelle
Sechs-Transistor-SRAM-Zellen 3 sind in einem Speicherzellenfeld 8 längs des Bitleitungspaares
bl, blq angeordnet. Ihre Zellenknoten b und bq können über n-Kanal-Transistoren 4..7, deren
Gate-Terminals mit den Wortleitungen wl0, wl1, ... verbundenen sind,
mit dem Bitleitungspaar bl, blq leitend verbunden werden (für hohes
Versorgungspotential VDD an wl0, wl1, ...) beziehungsweise von bl,
blq isoliert werden (für
niedriges Versorgungspotential VSS an wl0, wl1, ...).
-
Die
Steuersignale für
die Schreib-Lese-Schaltung 1, die Steuerschaltung 2 und
das Speicherzellenfeld 8 werden von einer Kontrollschaltung 9 bereitgestellt,
die innerhalb der gesamten Schaltungsanordnung in mehrere Blöcke aufgeteilt
sein kann.
-
2 zeigt
zum einen eine Vorrichtung bestehend aus den Invertern INV1 und
INV2 sowie den n-Kanal-Transistoren TN1 und TN2 zum Übertragen von
Daten am Eingangspin di auf die Bitleitungen bx, bxq. Für hohes
Versorgungspotential VDD am Steuersignal Wr sind TN1 und TN2 leitend
geschaltet, so dass eine „0", das heißt niedriges
Versorgungspotential VSS, an di über
INV1, INV2 und TN1 auf bx übertragen
wird, während
bxq über
INV1 und TN2 den Wert VDD-VTN annimmt, da über TN2 eine n-Kanal-Einsatzspannung
VTN abfällt.
Analog dazu wird durch eine „1", das heißt das Potential
VDD, an di über
INV1 und TN2 eine „0" auf bxq übertragen,
während
bx über
INV1, INV2 und TN1 den Wert VDD-VTN annimmt, da über TN1 eine n-Kanal-Einsatzspannung VTN
abfällt.
Für niedriges
Versorgungspotential VSS an Wr sind TN1 und TN2 gesperrt, so dass
keine Ver bindung von di zu den Bitleitungen bx, bxq besteht, das
heißt
die Schreibvorrichtung ist deaktiviert.
-
Zum
anderen gibt es eine Vorrichtung, bestehend aus den Gattern OrNand1,
OrNand2 und INV3, zum Übertragen
von Daten auf den Bitleitungen bx, bxq zum Ausgangspin do, sowie
zum Speichern der zuletzt gelesenen Daten, so dass an do keinerlei
unnötige
Zustandsänderungen,
so genannte „dynamische
Hazards", auftreten
können.
Diese Schaltung, ein so genanntes RS-Latch, wird aktiviert sobald
das Steuersignal RdQ den Wert VSS annimmt und wenn auf bx, bxq ein
gültiges
Datum liegt, das heißt
(0, 1) oder (1, 0). Der Precharge-Zustand (1, 1) auf den Bitleitungen
bx, bxq, der auch Vorlade-Zustand genannt wird, bedeutet also, dass
an do noch der zuvor gelesene Wert liegt, während (0, 0) auf bx, bxq einen
Zustand darstellt, der im normalen Betrieb niemals auftreten, jedoch
durch einen Angriff mit ionisierender Strahlung herbeigeführt werden
kann, und der den dann irrelevanten Wert „0" an do erzwingt, wenn RdQ gleich VSS
ist. Mit dem Übergang
von (1, 1) auf (0, 1) oder (1, 0) wird also das RS-Latch über die
Dateneingänge
bx, bxq eingeschaltet, wenn zuvor RdQ auf VSS gesetzt wurde.
-
3 zeigt
die Steuerschaltung 2 mit den Funktionen LATCH PRECHARGE
und ALARM. Die Teilfunktion "LATCH" wird durch das Latch 21 realisiert
mit den n-Kanal-Transistoren TN1, TN2, TN3 sowie den p-Kanal-Transistoren
TP1, TP2, TP3, TP4, wobei das Latch 21 über TN1 mit VSS und über TP1 und
TP4 mit VDD verbunden werden kann: nimmt das Steuersignal Lck den
Wert VDD beziehungsweise VSS an, ist "Latch" mit VSS verbunden beziehungsweise von
VSS abgetrennt; nehmen das Steuersignal LckQ sowie der Alarm-Ausgang
Alrm den Wert VSS an, ist "Latch" mit VDD verbunden,
während "LATCH" für LckQ oder
Alrm gleich VDD von VDD getrennt ist. Die Transistoren TN1, TN2
sowie TP1, TP2 realisieren die Rückkoppelung
zwischen den Bitleitungen bx und bxq beziehungsweise die Speicherfunktion,
wenn "LATCH" mit VDD und VSS verbunden
ist. Daraus ergibt sich, dass das Bitleitungspaar bx, bxq selbst
das Paar von "Latchknoten" für die zuletzt
gelesenen oder geschriebenen Daten darstellt, also zwischen zwei
Zugriffen entweder im Zustand (0, 1) oder im Zustand (1, 0) verharrt,
was die Empfindlichkeit gegenüber
Strahlungsangriffen beträchtlich
erhöht
(siehe unten).
-
Die
Teilfunktion „PRECHARGE" wird durch eine
Vorladesteuerung 22 realisiert mit den p-Kanal-Transistoren
TP5, TP6 und den n-Kanal-Transistor TN4: nimmt das Steuersignal
PrchQ den Wert VSS an, so sind die Bitleitungen bx und bxq über TP5 und
TP6 leitend mit VDD verbunden und für PrchQ gleich VDD von VDD
getrennt, während
für Eql
gleich VDD die beiden Bitleitungen bl und blq leitend miteinander
verbunden sind, was den Vorladevorgang über Ladungsausgleich zwischen
bl und blq einleitet und beschleunigt, sowie dafür sorgt, dass am Ende einer Vorladephase
beide Bitleitungen in sehr guter Näherung auf gleichem Potential
liegen, auch wenn die Einsatzspannungen der beiden n-Kanal-Transistoren TN5,
TN6 voneinander abweichen. Bei Eql gleich VSS sind bl und blq voneinander
isoliert. Letztere Transistoren verbinden bx und bl beziehungsweise bxq
und blq miteinander und sorgen dafür, dass bl und blq nur auf
VDD-VTN vorgeladen werden, da über
TN5, TN6 jeweils eine n-Kanal-Einsatzspannung
VTN abfällt.
Diese kann beispielsweise 0,5 V betragen. Diese Maßnahme führt einerseits
dazu, dass auf bl und blq weniger Ladung und damit Energie umgesetzt
wird, was wiederum kürzere
Zugriffszeiten zur Folge hat, und bedeutet andererseits, dass im
Falle eines Strahlungsangriffs auf bl und/oder blq ein geringerer
Ladungsübertrag
ausreicht, um den „Alarmzustand" bl, blq = (0, 0)
herbeizuführen,
macht also die Schaltung empfindlicher gegen detektierbare Strahlungsangriffe.
-
Reduzierter
Energieumsatz in RAM- und ROM-Speichern sowie für Datenbusse ist üblicherweise
gekoppelt mit den Forderungen nach sehr großen Speicherkapazitäten sowie
sehr kurzen Zugriffszeiten im Bereich von einer bis zu einigen wenigen Nanosekunden.
Die dafür
eingesetzten Schaltungskonzepte umfassen auf wenige 10 mV bis 100
mV reduzierte Potentialdifferenzen zwischen komplementären Bitleitungen
sowie Analogschaltungen (Leseverstärker) zum sehr schnellen Bewerten
dieser geringen Potentialdifferenzen sowie deren Wandlung auf Potentialdifferenzen
im Bereich der Differenz einer hohen und einer niedrigen Versorgungsspannung
(VDD beziehungsweise VSS) für
die weitere digitale Verarbeitung der Daten.
-
Diese
Vorgehensweise verliert allerdings ihre Effizienz für mittlere
und kleine Speichergrößen beziehungsweise
bei gemäßigten Anforderungen
an Zugriffs- beziehungsweise Datenübertragungszeiten, da analoge
Leseverstärker
und ihre Ansteuerschaltungen selbst erheblichen Flächen- und
Energiebedarf aufweisen. Ein weiterer Nachteil dieser Schaltungen
besteht – vor
allem ab 130 nm-Technologien – in
einer erhöhten
Störanfälligkeit
auf Grund der sehr geringen zu bewertenden Potentialdifferenzen
sowie den besonderen Symmetrieanforderungen und der geforderten
hohen Präzision
an die zeitliche Abfolge der Steuersignale für besagte Analogschaltungen.
-
Durch
den oben genannten Aufbau wird ein geringer Energieumsatz erreicht,
ohne dass extrem geringe Potentialdifferenzen eingesetzt werden
müssen.
-
Die
Teilfunktion „ALARM" schließlich wird durch
eine Detektorschaltung 23 realisiert mit dem NOR-Gatter
NOR, dessen drei Eingänge
verbunden sind mit bx, bxq und dem Steuersignal EnaQ, mit dem „ALARM" aktiviert (für EnaQ =
VSS) beziehungsweise deaktiviert (für EnaQ = VDD) werden kann.
Der Ausgang Alrm von NOR wird genau dann gleich "Eins" beziehungsweise
VDD, wenn bx = bxq = EnaQ = VSS ist. Für mehrere parallel angeordnete Bitleitungspaare
können
die jeweilige Alrm Signale, z.B. über ein „Wired Or", logisch ODER-verknüpft sein, so dass ein einziger
Alarmzustand auf einem der Bitleitungspaare ausreicht, um einen
detektierten Strahlungsangriff anzeigen zu können.
-
Wie
oben beschrieben, verharrt das Bitleitungspaar bx, bxq zwischen
zwei Zugriffen entweder im Zustand (0, 1) oder im Zustand (1, 0),
und nicht, wie bei konventionellen SRAMs im Vorladezustand (1, 1),
was die Empfindlichkeit gegenüber
Strahlungsangriffen beträchtlich
erhöht,
da nun nur einer der beiden Knoten bl beziehungsweise bx oder blq
beziehungsweise bxq durch ionisierende Strahlung entladen werden
muß, um
den „Alarmzustand" herbeizuführen, welche
Entladung auch dadurch sehr wahrscheinlich ist, dass längs bl und
blq im allgemeinen eine Vielzahl von n-Kanal-Transistoren und damit n+-p-Übergängen angeordnet
ist, die, von ionisierender Strahlung getroffen, für einen Übertrag
von negativer Ladung auf bl beziehungsweise blq sorgen.
-
Im
Falle eines bevorstehenden Lesezugriffs werden die Bitleitungspaare
wie oben beschrieben vorgeladen, das heißt für einige wenige Nanosekunden
werden bx und bxq auf VDD und bl und blq auf VDD-VTN zu liegen kommen,
was die Empfindlichkeit gegenüber
Strahlungsangriffen für
sehr kurze Zeit verringert, falls der Angriff genau während der Vorladephase
stattfindet und nur sehr kurzzeitigen Ladungsübertrag zur Folge hat. Letzteres
aber schränkt
die Optionen des Angreifers beträchtlich ein.
-
Im
Falle eines Schreibzugriffs wird „ALARM" kurzzeitig, das heißt für etwa eine Nanosekunde, abgeschaltet,
was mittels EnaQ = VDD erfolgt, da beim Schreiben (über TN1,
TN2 von 2) von di nach bx, bxq kurzzeitig
Pegel zwischen VSS und VDD auf bx, bxq auftreten können. Dies
bedeutet allerdings keine wesentliche Einschränkung wegen der relativ dazu großen Zeitkonstanten
für Ladungsüberträge durch Strahlungsangriffe
und deren Abklingen auf den Bitleitungen.
-
Einzelheiten
des zeitlichen Ablaufs von Schreib- und Lesezugriffen sind in 4 dargestellt. Für einen
Lesezugriff wird zunächst
Lck von VDD auf VSS gesetzt, um zu vermeiden, dass über die
Transistoren TN1, TN2, TN3 von 3 Ladung
abfließen kann,
wenn PrchQ von VDD auf VSS und Eql von VSS auf VDD schalten und
damit die Vorladephase einleiten. Nach Abschluß der Vorladephase, also sobald
PrchQ wieder auf VDD und Eql wieder auf VSS liegen, wird eine der
Wortleitungen wl der SRAM-Zellen von VSS auf VDD angehoben, um den
entsprechenden Zellinhalt auf bl, blq beziehungsweise bx, bxq auszulesen.
Parallel dazu wird RdQ aktiviert, das heißt auf VSS geschaltet, um die
Daten auf bx, bxq nach do auszugeben. Mit dem abschließenden Deaktivieren
von wl, das heißt
einem Übergang
von VDD nach VSS, und RdQ, das heißt einem Übergang von VSS nach VDD, wird
Lck von VSS auf VDD angehoben, womit das gerade gelesene Datum im „LATCH", das heißt auf den
Bitleitungen gehalten wird.
-
Für einen
Schreibzugriff werden zunächst LckQ
und EnaQ deaktiviert, das heißt
von VSS nach VDD angehoben, um zu verhin dern dass während des
folgenden Schreibvorganges Ladung durch die Transistoren TP1, TP2,
TP3, TP4 von 3 beziehungsweise das Gatter
NOR von 3 fließen kann, und um sicherzustellen,
dass für
die Dauer des Schreibvorganges kein falscher Alarm am Ausgang Alrm
von NOR auftreten kann. Unmittelbar nach den steigenden Flanken
von LckQ und EnaQ wird mit der steigenden Flanke von Wr der Schreibvorgang
eingeleitet, bei dem wie oben beschrieben bx oder bxq auf VSS und
der jeweils komplementäre
Knoten auf VDD-VTN gebracht werden, wenn nicht der zuvor auf bx
und bxq gespeicherte Wert mit dem neu zu schreibenden Datum übereinstimmt,
in welchem Fall sich die Potentiale (VSS beziehungsweise VDD) an
bx und bxq nicht ändern.
Da dieser Vorgang sehr schnell vonstatten geht, nämlich innerhalb
von Bruchteilen einer Nanosekunde bei Einsatz moderner Technologien
unterhalb von 0,25 μm
Strukturgröße, kann LckQ
kurz darauf wieder aktiviert, das heißt auf VSS geschaltet werden,
wodurch der gegebenenfalls zuvor auf VDD-VTN liegende Knoten bx
oder bxq auf vollen Pegel VDD angehoben wird. Dies aber bedeutet,
dass auch EnaQ wieder aktiviert, das heißt auf VSS geschaltet werden
kann, da nun weder Querströme
noch ein falscher Alarm zu erwarten sind. Mit der fallenden Flanke
von entweder LckQ oder EnaQ kann nun Wr wieder deaktiviert, das
heißt
auf VSS abgesenkt werden, da das geschriebene Datum nun auf bx,
bxq beziehungsweise bl, blq gespeichert ist, sowie eine der Wortleitungen
wl der SRAM-Zellen aktiviert, das heißt auf VDD angehoben werden,
womit besagtes Datum in die entsprechende SRAM-Zelle geschrieben
wird. Gleichzeitig könnte
auch RdQ aktiviert, das heißt
auf VSS abgesenkt werden, womit besagtes Datum auch auf do ausgegeben
würde, also
ein „Write
Through" von di
nach do realisiert würde.
Der Schreibzyklus wird beendet mit dem Abschalten von wl auf VSS
und gegebenenfalls dem Deaktivieren von RdQ durch Anheben auf VDD.
-
5 zeigt
eine Alternative zu der in 3 angegebenen
Steuerschaltung mit den Funktionen "LATCH", „PRECHARGE" und ALARM". Dabei fehlt in
der Schaltung von 5 die in der Schaltung von 3 vorgesehene
Teilfunktion LATCH, das heißt mit
der Schaltung von 5 wird, wie für konventionelle
SRAMs üblich,
angenommen, dass die zuletzt gelesenen oder geschriebenen Daten
nicht auf dem Bitleitungspaar (bx, bxq) gespeichert bleiben. Statt dessen
wird, wieder wie für
konventionelle SRAMs üblich,
vorausgesetzt, dass zwischen je zwei beliebigen Zugriffen (Lesen
oder Schreiben) ein Vorladen beider Bitleitungen bx und bxq auf
VDD durchgeführt wird.
-
Außerdem sind,
wieder wie für
konventionelle SRAMs üblich,
in dem Ausführungsbeispiel
von 5 die n-Kanal-Transistoren TN4, TN5, TN6 weggelassen
worden. Daher gilt bx = bl und bxq = blq, was im übrigen aber
für die
vorliegende Erfindung von untergeordneter Bedeutung ist, das heißt die im folgenden
beschriebenen Schaltungen und deren Funktion hängen nicht ab vom Vorhandensein
von TN4, TN5 und TN6. Das in 5 angegebene
Ausführungsbeispiel
zielt darauf ab, unzulässige
bzw. "Alarm"-Zustände des
Bitleitungspaares bx, bxq bzw. bl, blq zu erkennen. Zum einen wird
das bitleitungspaar bx, bxq mittels des Gatters NOR überprüft hinsichtlich
des unzulässigen
Zustandes nahe (0, 0) bzw. (VSS, VSS), welcher im Normalbetrieb
niemals vorkommen kann, mithin also nur als Resultat eines Angriffes
zustande kommen wird. Im Falle eines solchen detektierten Zustandes,
das heißt
mit Alrm1 = VDD, wird zudem über
den nun nicht-leitenden Transistor TP4 die über TP2 und TP3 zuvor bestehende Rückkoppelung
zwischen den Bitleitungen unterbrochen, was die Empfindlichkeit
der Alarmschaltung beträchtlich
erhöht.
-
Andererseits
wird mittels des Gatters AndNor auch der „Precharge"-Zustand der Bitleitungen, das heißt bx, bxq
= (1,1) bzw. (VDD, VDD), auf Gültigkeit überprüft. Mit
dem Vorladen bzw. kurz nachdem das Vorladen der Bitleitungen durch
Setzen von PrchQ auf VSS aktiviert wurde, wird auch EnaQ aktiviert,
das heißt
von VDD auf VSS geschaltet. Damit aber ist AndNor empfindlich für den „Alarmfall", das heißt dafür, dass
zumindest eine der Bitleitungen den (unzulässigen) Zustand "nahe 0" bzw. "nahe VSS" annimmt. Im Falle
eines solchen detektierten Zustandes, d.h. mit Alrm2 = VDD, wird
zudem über
den nun nicht-leitenden Transistor TP1 die über TP2, TP3 zuvor bestehende
Rückkopplung
zwischen den Bitleitungen sowie die zuvor über TP5, TP6 bestehende leitende
Verbindung der Bitleitungen mit VDD unterbrochen, was die Empfindlichkeit
der Alarmschaltung beträchtlich
erhöht.
Das Deaktivieren von PrchQ und EnaQ kann gleichzeitig erfolgen,
da unmittelbar danach ein Lese- oder
Schreibzugriff stattfindet, der durch das Gatter NOR wie oben beschrieben überwacht
wird.
-
6 zeigt
eine weitere Schaltungsanordnung, die in der erfindungsgemäßen Weise
ausgestaltet ist. Zwei Dual-Rail-Schaltungskomponenten 51 und 52 sind über einen
Dual-Rail-Datenbus 53 miteinander
verbunden. Der Datenbus 53 weist zwei komplementäre Datenleitungen 54 und 55 auf.
Darüber
hinaus ist ein OR-Gatter 56 vorgesehen, wobei zwei Eingänge dieses
OR-Gatters 56 mit jeweils einer der komplementären Datenleitungen 54 und 55 verbunden
ist. Am Ausgang des OR-Gatters 56 wird ein Alarmsignal
Alarm ausgegeben, wenn der Signalzustand auf beiden Datenleitungen 54 und 55 "0" ist. Denn während in einer Vorladephase
beide Datenleitungen 54 und 55 korrekterweise
das Signal „1" führen, ist
der Zustand mit einer "0" auf beiden Datenleitungen
ein Fehlerzustand, der nur dann auftreten kann, wenn eine die Signalzustände auf
den Datenleitungen verändernde
Manipulation durchgeführt wurde.
-
Bei
dem Ausführungsbeispiel
von 7 ist vorgesehen, dass in der Vorladephase auf
beiden Datenleitungen eine „0" liegt. In diesem
Fall würde eine „0" auf beiden Datenleitungen
nicht einen fehlerhaften Zustand beschreiben, aber eine „1" auf beiden Datenleitungen 54 und 55 wäre nicht
zulässig
und würde
auf einen Angriff hinweisen. Um bei dieser Schaltung einen Manipulationsversuch
zu erkennen, sind die beiden Datenleitungen 54 und 55 mit
einem Logik-Gatter 57 verbunden, welches ein AND-Gatter ist.
-
Selbstverständlich können die
logischen Funktionen auch durch eine Zusammenschaltung verschiedener
Gatter realisiert werden. Dies gilt nicht nur für den in den 5 und 6 gezeigten
Datenbus, sondern auch für
die in den vorangehenden Figuren gezeigte Speichervorrichtung und
andere Schaltungsanordnungen, die komplementäre Datenleitungen aufweisen.
-
Bei
dem in 8 gezeigten Ausführungsbeispiel ist vorgesehen,
dass sowohl die Zustände
(0, 0) als auch (1, 1) als Manipulationsergebnis gewertet werden.
Dies würde
dazu führen,
dass in einer Vorladephase immer ein Fehler vermutet werden würde. Um
dies zu vermeiden, ist das Vergleichergebnis auf ein zusätzliches
AND-Gatter 60 geführt,
welches das Vergleichsergebnis mit einem Aktivierungssignal Ena verknüpft. Durch
entsprechende Erzeugung des Aktivierungssignals Ena kann sichergestellt
werden, dass die Manipulationserkennung während der Vorladephase deaktiviert
ist. Diese Lösung
hat zwar einerseits den Vorteil, dass auch ein Signalzustand entsprechend
dem Vorladezustand als Manipulationsversuch erkannt werden kann,
andererseits ist während
der Vorladephase keine Manipulationserkennung möglich.
-
In
einer erweiterten Ausgestaltung des Ausführungsbeispiels von 8,
die jedoch nicht dargestellt ist, werden die Ausführungen
von 6 und 8 kombiniert. Während in
einer Normalbetriebsphase eine Manipulationserkennung gemäß 8, allerdings
ohne dass AND-Gatter 60, durchgeführt würde, könnte in einer Vorladephase
die Schaltung von 6 zum Einsatz kommen.
-
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.
-
- Alrm
- Alarmsignal
- b,
blq
- komplementäre Datenleitungen
(Bitleitungen)
- bx,
bxq
- komplementäre Datenleitungen
(Bitleitungen)
- di
- Dateneingang
- do
- Datenausgang
- EnaQ
- Steuersignal
- Eql
- Steuersignal
- INV1,
INV2, INV3
- Inverter
- Lck,
LckQ
- Steuersignal
- NOR
- Logikschaltung
- OrNand1
- Gatter
- OrNand2
- Gatter
- PrchQ
- Steuersignal
- RdQ
- Steuersignal
- TN1,
TN2, TN3, TN4, TN5
- n-Kanal-Transistoren
- TP1,
TP2, TP3, TP4, TP5, TP6
- p-Kanal-Transistoren
- VTN
- Einsatzspannung
eines n-Kanal-Transistors
- VDD
- hohe
Versorgungsspannung
- VSS
- niedrige
Versorgungsspannung
- wl,
wl0, wl1
- Wortleitungen
- Wr
- Steuersignal
- 1
- Lese-Schreib-Schaltung
- 2
- Steuerschaltung
- 3
- Speicherzellen
- 4..7
- Transistoren
- 8
- Speicherzellenfeld
- 9
- Kontrollschaltung
- 21
- Latch
- 22
- Vorladesteuerung
- 23
- Detektorschaltung
- 51
- Dual-Rail-Schaltungskomponente
- 52
- Dual-Rail-Schaltungskomponente
- 53
- Datenbus
- 54
- Datenleitung
- 55
- Datenleitung
- 56
- Detektorschaltung (NOR-Gatter)
- 57
- Detektorschaltung (AND-Gatter)
- 58
- XOR-Gatter
- 59
- Inverter
- 60
- AND-Gatter