PatentDe  


Dokumentenidentifikation DE102005055158A1 24.05.2007
Titel Schaltungsanordnung mit einer Einrichtung zur Erkennung von Manipulationsversuchen und Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Künemund, Thomas, Dr., 80809 München, DE
Vertreter Epping Hermann Fischer, Patentanwaltsgesellschaft mbH, 80339 München
DE-Anmeldedatum 18.11.2005
DE-Aktenzeichen 102005055158
Offenlegungstag 24.05.2007
Veröffentlichungstag im Patentblatt 24.05.2007
IPC-Hauptklasse G06F 12/16(2006.01)A, F, I, 20051118, B, H, DE
IPC-Nebenklasse G06F 12/14(2006.01)A, L, I, 20051118, B, H, DE   
Zusammenfassung Die Erfindung betrifft eine Schaltungsanordnung mit komplementären Datenleitungen, insbesondere Datenleitungen (54, 55) eines Dual-Rail-Datenbusses oder bei einer Speicherschaltung mit einer Vielzahl von Speicherzellen (3), die mit komplementären Datenleitungen (bx, bxq, bl, blq) verbunden sind, wobei in einer regulären Betriebsphase die komplementären Datenleitungen (bx, bxq, bl, blq; 54, 55) komplementäre Signale führen und in einer Vorladephase die komplementären Datenleitungen (bx, bxq, bl, blq; 54, 55) einen gleichen logischen Zustand oder das gleiche elektrische Potential annehmen, und einer Einrichtung zur Erkennung von Manipulationsversuchen. Die Schaltungsanordnung ist erfindungsgemäß dadurch gekennzeichnet, dass die Einrichtung zur Erkennung von Manipulationsversuchen eine Detektorschaltung (23; 56; 57; 58) umfasst, die bei dem Auftreten eines gleichen logischen Zustands auf beiden Datenleitungen (bx, bsq, bl, blq; 54, 55) in der regulären Betriebsphase ein Alarmsignal (Alrm) ausgibt. Außerdem betrifft die Erfindung ein Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung.

Beschreibung[de]

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 Manipulationsversuchen 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 Angriff 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 Verbindung 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 verhindern 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 &mgr;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


Anspruch[de]
Schaltungsanordnung mit

– komplementären Datenleitungen, insbesondere Datenleitungen (54, 55) eines Dual-Rail-Datenbus (53) oder bei einer Speicherschaltung mit einer Vielzahl von Speicherzellen (3), die mit komplementären Datenleitungen (bx, bxq, bl, blq) verbunden sind,

– wobei in einer regulären Betriebsphase die komplementären Datenleitungen (bx, bxq, bl, blq; 54, 55) komplementäre Signale führen und in einer Vorladephase die komplementären Datenleitungen (bx, bxq, bl, blq; 54, 55) einen gleichen logischen Zustand oder das gleiche elektrische Potential annehmen, und

– einer Einrichtung zur Erkennung von Manipulationsversuchen,

dadurch gekennzeichnet, dass

die Einrichtung zur Erkennung von Manipulationsversuchen eine Detektorschaltung (23; 56; 57; 58) umfasst, die

– bei dem Auftreten eines gleichen logischen Zustands auf beiden Datenleitungen (bx, bxq, bl, blq; 54, 55) in der regulären Betriebsphase ein Alarmsignal (Alrm) ausgibt.
Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Detektorschaltung bei dem Auftreten eines gleichen logischen Zustands auf beiden Datenleitungen (bx, bxq, bl, blq; 54, 55) in der Vorladephase ein Alarmsignal (Alrm) ausgibt, wenn der logische Zustand entgegengesetzt zu dem Vorladezustand ist. Speicherschaltung nach Anspruch 1, dadurch gekennzeichnet, dass die Detektorschaltung eine Logikschaltung (NOR; 56; 57; 58) umfasst, wobei jeweils ein Eingang der Logikschaltung (NOR; 56; 57; 58) mit je einer der komplementären Datenleitungen (bx, bxq, bl, blq; 54, 55) verbunden ist. Speicherschaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Detektorschaltung (23) auf den Bitleitungen (bx, bxq) Pass-Gate-Transistoren (TN5, TN6) nachgeschaltet sind und diesen nachgeschaltet Mittel (TN4) vorgesehen sind, um die Bitleitungen (bl, blq) miteinander zu verbinden. Speicherschaltung nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die Logikschaltung (NOR) eine NOR-Funktion realisiert. Speicherschaltung nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass die Logikschaltung (NOR) Signale auf den komplementären Datenleitungen und ein Aktivierungssignal (EnaQ) miteinander verknüpft, wobei durch einen ersten Zustand des Aktivierungssignals (EnaQ) die Erzeugung oder Ausgabe eines Alarmsignals (Alrm) verhinderbar ist. Speicherschaltung nach Anspruch 6, dadurch gekennzeichnet, dass bei einem Schreibvorgang während einer Zwischenphase durch den ersten Zustand des Aktivierungssignal (EnaQ) die Erzeugung oder Ausgabe eines Alarmsignals (Alrm) verhindert ist. Speicherschaltung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Speicherschaltung

– eine Lese-Schreib-Schaltung (1),

– eine dieser nachgeordnete Steuerschaltung (2) mit einem Latch (21), einer Vorladesteuerung (22) und der Detektorschaltung (23) sowie

– ein dieser nachgeordnetes Speicherzellenfeld (8) aufweist.
Speicherschaltung nach Anspruch 7, dadurch gekennzeichnet, dass das Speicherzellenfeld eine Vielzahl von SRAM-Speicherzellen aufweist. Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung, die komplementäre Datenleitungen aufweist, wobei in einer regulären Betriebsweise 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, mit den Schritten:

– Vergleichen der Signalzustände auf den komplementären Datenleitungen (bx, bxq, bl, blq; 54, 55) und

– Erzeugen eines Alarmsignals (Alrm), wenn in der regulären Betriebsphase gleiche logische Signalzustände festgestellt werden.
Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass ein Alarmsignal (Alrm) auch dann erzeugt wird, wenn in der Vorladephase gleiche Signalzustände, die entgegengesetzt zu dem Vorladezustand sind, festgestellt werden. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass in der regulären Betriebsphase ein Alarmsignal (Alrm) nur dann erzeugt wird, wenn die gleichen logischen Zustände entgegengesetzt dem Vorladezustand sind. Verfahren nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, dass ein Alarmsignal (Alrm) nur dann ausgegeben wird, wenn durch ein Aktivierungssignal (EnaQ) angezeigt wird, dass eine Erkennung von Manipulationsversuchen aktiviert sein soll. Verfahren zur Steuerung eines Schreibvorgang bei einer Speicherschaltung, die komplementäre Datenleitungen (bx, bxq, bl, blq) 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, mit den Schritten:

– Anlegen eines neuen Datums auf die komplementären Datenleitungen,

– Deaktivieren der Erkennung von Manipulationsversuchen während einer Übergangsphase,

– Aktivieren der Erkennung von Manipulationsversuchen,

– Aktivieren einer Speicherzelle über Wortleitungen, um das angelegte Datum in die aktivierte Speicherzelle zu schreiben.
Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die komplementären Datenleitungen (bx, bxq, bl, blq) zwischen zwei Zugriffen auf ein Speicherzellen (3) aufweisendes Speicherzellenfeld (8) komplementäre Signalzustände aufweisen, wenn kein Signal-verändernder Angriff erfolgt.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com