-
Die
vorliegende Erfindung bezieht sich allgemein auf integrierte Schaltungschips
für elektronische
Datenverarbeitungssysteme und richtet sich insbesondere darauf,
eine Inspektion und/oder Modifikation von sicheren Daten zu verhindern,
die innerhalb eines sicheren Bereiches eines integrierten Schaltungschips
gespeichert oder verarbeitet werden.
-
Integrierte
Schaltungschips, die sichere Daten verarbeiten und speichern, beinhalten
einen sicheren Bereich, welcher Schaltungselemente für Verarbeitung
und Speicherung sicherer Daten enthält, sowie einen unsicheren
Bereich, der Schaltungselemente für Verarbeitung und Speicherung
unsicherer Daten und Steuersignale enthält. Ein integrierter Schaltungschip
enthält
eine Halbleiterschicht, die Diffusionen enthält, welche Komponenten von
Schaltungselementen definieren, sowie eine erste leitende Schicht,
die mit der Halbleiterschicht gekoppelt ist, um die Komponenten
zu verbinden und dadurch die Schaltungselemente zu definieren. Sämtliche
modernen integrierten Schaltungschips weisen eine oder mehrere leitende
Schichten auf, typischerweise, um die Schaltungselemente und deren Komponenten
zu verbinden. Im allgemeinen werden diese Schichten sowohl für die Steuersignal-
als auch Leistungssignal-Verteilung in einer Art und Weise benutzt,
die darauf abzielt, die Signal-Verknüpfungsdichte zu maximieren
und die Fläche
zu verringern, die für
diese Verknüpfungen
erforderlich ist.
-
Der
sichere Bereich enthält
ferner Schaltungselemente für
die Übertragung
nicht sicherer Daten und Steuersignale auf einen Datenbus innerhalb des
sicheren Bereiches für
die Verarbeitung mit den sicheren Daten durch Datenverarbeitungs-Schaltungselemente
innerhalb des sicheren Bereiches. Logische Schaltungselemente innerhalb
des sicheren Bereiches ermöglichen es,
die nicht sicheren Daten und die Steuersignale zwischen dem nicht
sicheren Bereich und dem Datenbus innerhalb des sicheren Bereiches
in Abhängigkeit
von Steuersignalen zu übertragen,
die durch die Datenverarbeitungs-Schaltungselemente innerhalb des
sicheren Bereiches generiert werden.
-
Nichtsdestoweniger
ist es, obgleich die sicheren Daten bei einem solchen integrierten
Schaltungschip nicht einfach vom sicheren Bereich zum nicht sicheren
Bereich übertragen
werden können, möglich, zu
sicheren Daten Zugang zu erhalten, welche innerhalb des sicheren
Bereiches gespeichert oder verarbeitet werden, indem man den sicheren Bereich
mit solchen diagnostischen Werkzeugen inspiziert wie ein Rasterelektronenmikroskop
(SEM) oder eine Tastspitze, die ein Oszilloskop mit einem gegebenen
Kontenpunkt innerhalb des sicheren Bereiches koppelt, von dem auf
die sicheren Daten zugegriffen werden kann. Auch kann es durch Zuführung geeigneter
Steuersignale zu den logischen Schaltungselementen innerhalb des
sicheren Bereiches mittels einer Einrichtung wie einer Tastspitze möglich sein
zu bewirken, daß die
logische Schaltung die Übertragung
von sicheren Daten auf den nicht sicheren Bereich von einem Datenbus
innerhalb des sicheren Bereiches freigibt, der sowohl nicht sichere als
auch sichere Daten führt,
um sie durch die Datenverarbeitungs-Schaltungselemente innerhalb
des sicheren Bereiches freizugeben oder zu ermöglichen, daß die sicheren Daten, die im
sicheren Bereich gespeichert sind, durch geheime Daten ersetzt werden, die
es ermöglichen
würden,
daß die
beabsichtigte Sicherheit des Chips preisgegeben wird.
-
Die
EP-A- 221 341 beschreibt einen integrierten Schaltungschip, bei
dem eine leitende Schicht Schaltungselemente bedeckt, um einen sicheren
Bereich zu definieren, in dem die Schaltungselemente gegen Einsichtnahme
abgeschirmt sind. Die leitende Schicht ist auch mit den Schaltungselementen
gekoppelt, um den Schaltungselementen ein vorbestimmtes Signal zuzuleiten,
das für
eine gewünschte
Funktion der Schaltungselemente essenti ell ist, wodurch das Entfernen
der leitenden Schicht verhindert, dass das vorbestimmte Signal den
Schaltungselementen geliefert wird und dadurch die gedachte Funktion
verhindert wird.
-
Die
EP-A 172 108 beschreibt einen integrierten Schaltungschip, bei dem
ein Sicherungselement mit abgeschirmten Schaltungselementen gekoppelt ist,
so dass eine irreversible Änderung
des Zustandes des Sicherungselementes einige Funktionen des Chip
verhindert. Das Sicherungselement ist in der freien Luft an der
erwarteten Bruchstelle gehalten.
-
Die
vorliegende Erfindung stellt einen integrierten Schaltungschip zur
Verfügung,
der einen sicheren Bereich enthält,
in dem sichere Daten verarbeitet und/oder gespeichert werden, mit:
einer
Halbleiterschicht, die Diffusionen enthält, welche Komponenten von
Schaltungselementen definieren;
einer ersten leitenden Schicht,
die mit der Halbleiterschicht gekoppelt ist, um die Komponenten
zu verbinden, um dadurch Schaltungselemente für Verteilung, Speicherung,
Verarbeitung und/oder das Beeinträchtigen der Verarbeitung von
sicheren Daten zu definieren;
einer zweiten leitenden Schicht,
die über
den Schaltungselementen liegt, um dadurch einen sicheren Bereich
zu definieren, in dem die Schaltungselemente gegen eine Einsichtnahme
abgeschirmt sind, und die mit den Schaltungselementen gekoppelt
ist, um den Schaltungselementen ein vorbestimmtes Signal zuzuleiten,
das für
eine beabsichtigte Funktion der Schaltungselemente essentiell ist,
wobei das Entfernen der zweiten leitenden Schicht verhindert, dass das
vorbestimmte essentielle Signal den Schaltungselementen geliefert
wird, und dadurch die beabsichtigte Funktion verhindert,
dadurch
gekennzeichnet, dass die geschirmten Schaltungselemente ferner aufweisen:
ein
Sicherungselement, das einen Ausgangszustand und einen irreversiblen
Zustand aufweist, und
ein Mittel, das mit dem Sicherungselement
gekoppelt ist, um den Zustand des Sicherungselementes in Abhängigkeit
von einem vorbestimmten Steuersignal irreversibel zu ändern;
wobei
das Sicherungselement mit einem der definierten Schaltungselemente
so gekoppelt ist, dass das irreversible Ändern des Zustandes des Sicherungselementes
eine gewisse Funktion des Chip verhindert.
-
Die
Erfindung wird nun beispielhaft unter Bezugnahme auf die Zeichnungen
beschrieben, in denen:
-
1 eine Blockdarstellung
eines integrierten Schaltungschips ist, die für das Verständnis der vorliegenden Erfindung
nützlich
ist;
-
2 ein Querschnitt ist, der
die Abschirmung von MOS-Schaltungselementkomponenten in einem integrierten
Schaltungschip darstellt;
-
3 eine Draufsicht ist, die
die Benutzung einer darüberliegenden
leitenden Schicht zum Abschirmen von Schaltungselementkomponenten
und zum Weiterleiten eines vorbestimmten Signales zu abgeschirmten
MOS-Schaltungselementen zeigt;
-
4 ein Querschnitt ist, der
die Abschirmung bipolarer Schaltungselementkomponenten in einem
integrierten Schaltungschip zeigt;
-
5 ein Querschnitt ist, der
die Verwendung einer darüberliegenden
leitenden Schicht zum Abschirmen von Schaltungselementen und zur
Weiterleitung von Energie zu den abgeschirmten Schaltungselementen
zeigt;
-
6 eine Blockdarstellung
ist, die ein alternatives Beispiel zum Abschirmen einer Mehrzahl flüchtiger
Speicher zeigt;
-
7 eine Draufsicht ist, die
die Verwendung einer darüberliegenden
leitenden Schicht zum Führen
eines Signales zeigt, das für
die Funktion eines Schaltungselementes wesentlich ist;
-
8 eine Blockdarstellung
eines integrierten Schaltungschips gemäß der vorliegenden Erfindung
ist, wobei jedoch das Takt erzeugende Mittel der vorliegenden Erfindung
nicht gezeigt ist;
-
9 eine Blockdarstellung
eines alternativen, bevorzugten Ausführungsbeispieles eines Systems
in dem sicheren Bereich des Chips ist, um eine Änderung sicherer Daten in einem
vorbestimmten Speicherplatz zu verhindern, und
-
10 eine Blockdarstellung
eines Systems in dem sicheren Bereich des Chips ist, um einzugrenzen,
wann auf den sicheren Bereich zum Prüfzweck zugegriffen werden kann.
-
Bezüglich 1 beinhaltet ein integrierter Schaltungschip
einen sicheren Bereich 11 und einen nicht sicheren Bereich 12.
Der Chip 10 ist ein VLSI (Very Large Scale Integrated)-Schaltungschip.
Innerhalb des sicheren Bereiches 11 definiert der Chip 10 die
folgenden Schaltungselemente: einen Mikroprozessor 10 zur
Verarbeitung sicherer Daten, eine Mehrzahl von Speichern M1, M2, Mn zur
Speicherung sicherer Daten, einen sicheren Datenbus 16,
einen sicheren Adressenbus 17, eine logische Tansferschaltung 18 sowie
sichere Takt- und Leistungssteuerungsschaltungen 20. Der
Chip 10 braucht nicht auf eine derartige spezielle Mischung
von Schaltungselementen beschränkt
zu sein, sondern kann jedwede Mischung aus Schaltungselementen enthalten,
worin sichere Daten entweder gegen unerlaubte Angriffe des Auslesens
oder gegen die Abänderung
sicherer Daten und/oder Befehle geschützt werden müssen. Die
Speicher M1, M2,
Mn können
von jedwedem Typ sein, nämlich:
RAM (Direktzugriffspeicher), ROM (Festwertspeicher), EPROM (elektrisch
programmierbarer Festwertspeicher), EEPROM (elektrisch löschbarer,
programmierbarer Festwertspeicher) und weitere, wie Registerdateien,
FIFO (first-in/first-out)-Puffer usw.
-
Eine
leitende Schicht CN2 bedeckt die Schaltungselemente 14,
M1, M2, Mn, 16, 17, 18, 20,
um diese Schaltungselemente gegen eine Inspektion abzuschirmen,
und bildet dadurch den sicheren Bereich 11.
-
Innerhalb
des nicht sicheren Bereiches 12 definiert der Chip 10 die
folgenden Schaltungselemente: einen Speicher 24, eine logische
Schaltung 26 und einen nicht sicheren Datenbus 28.
-
Bei
einem Chip 10, der MOS-Schaltungselemente enthält, wie
es in 2 und 3 dargestellt ist, beinhaltet
der Chip eine halbleitende Substratschicht SC, eine erste dielektrische
Schicht DE1, eine erste leitende Schicht
CN1, eine zweite dielektrische Schicht DE2, eine zweite leitende Schicht CN2, eine nte dielektrische Schicht DEn sowie eine nte leitende Schicht CNn. Diffusionen S und D in der halbleitenden Substratschicht
SC definieren Quellen und Senken, die mit Steuerungsleitern G kombiniert
und durch die erste leitende Schicht CN1 miteinander
verbunden sind, um komplementäre
MOS-Feldeffekttransistoren zu definieren, die so gruppiert sind,
daß sie
die Schaltungselemente des Chips 10 definieren. Die erste
leitende Schicht CN1 ist mit einer Quelle
S und einer Senke D mittels leitender Kontakte 30 durch
Löcher in
der ersten dielektrischen Schicht DE, hindurch gekoppelt. Die zweite
leitende Schicht CN2 ist mit der ersten
leitenden Schicht CN1 mittels eines Kontaktes 31 durch
ein Loch in der zweiten dielektrischen Schicht DE2 hindurch
gekoppelt, um den Schaltungslementen ein vorbestimmtes Signal zuzuleiten,
das für
eine beabsichtigte Funktion der abgeschirmten Schaltungselemente
wesentlich ist.
-
Das
Entfernen der zweiten leitenden Schicht CN2 verhindert,
daß das
vorbestimmte, wesentliche Signal den Schaltungselementen geliefert
wird und verhindert dadurch die beabsichtigte Funktion. Die zweite
leitende Schicht CN2 liegt über den
Schaltungselementen, um dadurch den sicheren Bereich 11 zu
defineren, in dem Schaltungselemente gegen eine Einsichtnahme abgeschirmt
sind.
-
Bei
einem Chip 10, der bipolare Schaltungselemente beinhaltet,
wie in 4 dargestellt,
enthält der
Chip eine halbleitende Substratschicht SC, eine erste dielektrische
Schicht DE1, eine erste leitende Schicht
CN1, eine zweite dielektrische Schicht DE2, eine zweite leitende Schicht CN2, eine nte dielektrische Schicht DEn und eine nte leitende Schicht CNn. Diffusionen C, B und E in der halbleitenden
Schicht SC definieren Kollektoren, Basen und Emitter, die mittels
der ersten leitenden Schicht CN1 miteinander verbunden
sind, um bipolare Transistoren zu definieren, die so gruppiert sind,
daß sie
die Schaltungselemente des Chips 10 definieren. Die erste
leitende Schicht CN-1 ist mit einem Kollektor C und einer Basis
B durch leitende Kontakte 32 durch Löcher in der ersten dielektrischen
Schicht DE, hindurch gekoppelt, um den Schaltungselementen ein vorbestimmtes
Signal zuzuleiten, das für
eine beabsichtigte Funktion der abgeschirmten Schaltungselemente wesentlich
ist. Die zweite leitende Schicht CN2 ist
mit der ersten leitenden Schicht CN1 durch
einen Kontakt 33 durch ein Loch in der zweiten dielektrischen Schicht
DE2 hindurch gekoppelt, um den Schaltungselementen
ein vorbestimmtes Signal zuzuführen,
das für
eine beabsichtigte Funktion der abgeschirmten Schaltungselemente
wesentlich ist.
-
Das
Entfernen der zweiten leitenden Schicht CN2 verhindert,
daß das
vorbestimmte wesentliche Signal den Schaltungselementen geliefert
wird und verhindert dadurch die beabsichtigte Funktion. Die zweite
leitende Schicht CN2 liegt über den
Schaltungselementen, um dadurch den sicheren Bereich 11 zu
definieren, in dem die Schaltungselemente gegen eine Einsichtnahme
abgeschirmt sind.
-
Sämtliche
Schaltungselemente des Chips 10, die sichere Daten verteilen,
speichern, verarbeiten oder deren Verarbeitung beeinträchtigen,
nutzen leitende Schichten, wie die Verbindungsschicht CN1, welche vorausgehend hergestellt sind und
unter der leitenden Schicht liegen, beispielsweise der Schicht CN2, die als Abschirmung wirkt und dadurch
die Grenzen des sicheren Bereiches 11 definiert.
-
Die
zweite leitende Schicht CN2 wirkt sowohl als
Abschirmung gegen mechanisches und rasterelektronenmikroskopisches
Sondieren als auch als eine ein vorbestimmtes, wesentliches Signal
führende
Schicht, die nicht entfernt werden kann, ohne die darunterliegenden
Schaltungselemente betriebsunfähig
zu machen. Das vorbestimmte wesentliche Signal kann entweder ein
Leistungssignal oder ein Steuersignal sein, beispielsweise ein Befehl.
Wenn das vorbestimmte wesentliche Signal ein Leistungssignal ist,
führt die
Entfernung der abschirmenden Schicht CN2 mittels
mechanischer, chemischer oder anderer Mittel zwecks Inspektion dazu,
daß die
Energieversorgung von den darunterliegenden Schaltungselementen
weggenommen wird, was sie betriebsunfähig macht und auch möglicherweise
erzwingt, daß die gleichen
Schaltungselemente sämtliche
Daten oder logischen Zustände
verlieren, die in ihnen gespeichert sind.
-
Diese
Technik ist besonders wirksam, um sichere Daten zu schützen, die
in einem flüchtigen Speicher
gespeichert sind, beispielsweise einem flüchtigen RAM. Bei einem Ausführungsbeispiel
des Chips 10, bei dem die Speicher M1 und
M2 flüchtige Speicher
sind, ist jeder dieser Speicher M1, M2 durch die zweite leitende Schicht CN2 bedeckt, um die Speicher M1,
M2 gegen Einsichtnahme abzuschirmen, und
ein Leistungssignal wird gesondert jedem der Speicher M1,
M2 von demjenigen Teil der zweiten leitenden
Schicht CN2 zugeteilt, der über dem
betreffenden Speicher M1, M2 liegt.
Diese Verteilung ist in 5 gezeigt,
in der die zweite leitende Schicht CN2 durch
einen Kontakt 34 mit der Quelle S eines Transistors verbunden
ist, der in einem flüchtigen
Speicher enthalten ist, um Energie für den Speicher zu liefern.
Das Entfernen des darüberliegenden
Teiles der zweiten leitenden Schicht CN2,
um eine Inspektion des betreffenden Speichers M1,
M2 zu ermöglichen, führt dazu, daß die Energieversorgung
des betreffenden Speichers M1, M2 weggenommen wird. Da der Speicher M1, M2 flüchtig ist,
führt die
Unterbrechung der Energiezufuhr zur Zerstörung der darin gespeicherten
sicheren Daten. Daher ist ein Versuch, die Inhalte der Speicher
M1, M2 zu inspizieren,
indem lediglich der Teil der zweiten leitenden Schicht CN2 entfernt wird, der über dem betreffenden Speicher
liegt, nutzlos.
-
Bei
einer in 6 gezeigten
alternativen Anordnung werden Leistungssignale Vcc von
der zweiten leitenden Schicht CN2 an eine
Mehrzahl flüchtiger Speicherelemente
M in einer Weise zugeteilt, die weniger Platz beansprucht als bei
dem oben beschriebenen Ausführungsbeispiel,
bei dem die Energie gesondert jedem der Speicherelemente M von lediglich demjenigen
Teil der zweiten leitenden Schicht zugeteilt wird, der über diesem
Speicherelement M liegt. Bei dieser Anordnung erhält jede
Reihe von Speicherelementen M Energie von der darüberliegenden zweiten
leitenden Schicht CN2 über eine gesonderte, darunterliegende,
erste leitende Schicht CN1. Die zweite leitende
Schicht CN2 ist mit den betreffenden ersten
leitenden Schichten CN1 über leitende Kontakte 35 verbunden.
Obgleich diese Anordnung etwas an Sicherheit zugunsten von Flächenausnutzung aufgibt,
würde ein
Versuch, diese Speicherelemente M zu inspizieren, ohne eine Datenzerstörung durch Energieunterbrechung
zu bewirken, die durch Entfernung der zweiten leitenden Schicht
CN2 entsteht, eine Entfernung der zweiten
leitenden Schicht CN2 mit außerordentlich
hoher Auflösung
erfordern, bei der sämtliche
zwischen den Schichten befindlichen leitenden Kontakte 35 und
der Teil der zweiten leitenden Schicht CN2,
der die Energie an diese Kontakte 35 zuteilt, intakt gelassen
würde.
-
Jedwede
Kombination von leitenden Schichten kann bei dieser Anordnung verwendet
werden. Die Anwendung von leitenden Schichten, die innerhalb der
vertikalen Abmessung des Chips am höchsten liegend eingebettet
sind, als abschirmende leitende Schichten, ergibt die größte Sicherheit.
-
Es
wird wiederum auf 1 Bezug
genommen. Innerhalb des nicht sicheren Bereiches 12 verarbeiten
und speichern die logischen Elemente 26 und der Speicher 24 nicht
sichere Daten und Steuersignale. Die nicht sicheren Daten und Steuersignale werden
von dem nicht sicheren Datenbus 28 auf den sicheren Datenbus 16 in
dem sicheren Bereich 11 mittels der logischen Transferschaltung 18 übertragen.
Die logische Transferschaltung 18 überträgt die nicht sicheren Daten
und Steuersignale auf den sicheren Datenbus 16 innerhalb
des sicheren Bereiches 11 für die Verarbeitung mit den
sicheren Daten mittels des Mikroprozessors 14. Die logische
Transferschaltung 18 gibt die Übertragung der nicht sicheren
Daten und der Steuersignale zwischen dem nicht sicheren Datenbus 28 und
dem sicheren Datenbus 16 in Abhängigkeit von Steuersignalen
frei, die durch den Mikroprozessor 14 generiert werden
und die anzeigen, wenn nicht sichere Daten auf dem sicheren Datenbus 16 vorhanden
sind. Der Mikroprozessor 14 überwacht den Zustand der Datensignale
auf dem sicheren Datenbus 16 und generiert die Steuersignale, die
es ermöglichen,
daß die
logische Schaltung 18 Datensignale und Steuersignale zwischen
dem nicht sicheren Datenbus 28 und dem sicheren Datenbus 16 lediglich
während
solcher Zeiträume überträgt, wo nicht
sichere Daten auf dem sicheren Datenbus 16 vorhanden sind.
-
Wie
oben beschrieben, liegt die leitende Schicht CN2 über der
logischen Transferschaltung 18, um die logische Transferschaltung
gegen Einsichtnahme abzuschirmen. Die leitende Schicht CN2 leitet auch ein Leistungssignal an die
logische Transferschaltung 18 weiter, wodurch das Entfernen
der leitenden Schicht CN2 zum Zweck der
Einsichtnahme der logischen Transferschaltung 18 dazu führt, daß die Energieversorgung
der logischen Transferschaltung 18 unterbunden wird und
verhindert wird, daß die
logische Transferschaltung 18 irgendwelche Daten oder Steuersignale
zwischen dem sicheren Datenbus 16 und dem nicht sicheren
Datenbus 28 überträgt. In gleicher
Weise ist eine Entfernung der leitenden Schicht CN2,
um zu ermöglichen,
daß Steuersignale
der logischen Transferschaltung 18 etwa vermittels einer
Prüfsonde
geliefert werden, um zu ermöglichen,
daß sichere
Daten von dem sicheren Bereich 11 auf den nicht sicheren
Bereich 12 des Chips übertragen
werden, nutzlos, weil eine solche Entfernung der ab schirmenden leitenden
Schicht CN2 auch die Energieversorgung der
logischen Transferschaltung 18 unterbricht.
-
Diese
Technik kann zur entgegengesetzten Richtung ausgedehnt werden, so
daß geheime
Daten nicht aus dem nicht sicheren Bereich 12 in einen sicheren
Speicher M1, M2,
Mn eingeschrieben werden können. Der
Mikroprozessor 14 stellt eine logische Speicherzugriffsschaltung
zur Verfügung,
die ermöglicht,
daß Daten
auf dem sicheren Datenbus 16 in den Speichern M1, M2, Mn gespeichert
werden können,
und die abschirmende, leitende Schicht CN2 führt ein
Leistungssignal dem Mikroprozessor 14 zu. Ein Entfernen
der abschirmenden, leitenden Schicht CN2,
um Steuersignale der logischen Speicherzugriffsschaltung des Mikroprozessors 14 zuzuführen, die
es ermöglichen
würden,
geheime Daten in den Speichern M1, M2, Mn für die sicheren
Daten zu substituieren, um dadurch die gewünschte Sicherheit des Chips
in Frage zu stellen, wäre
daher zwecklos, weil das Entfernen der abschirmenden, leitenden Schicht
CN2 die Energiezufuhr zum Mikroprozessor 14 unterbricht
und dadurch verhindert, daß die
darin befindliche logische Speicherzugriffsschaltung ermöglicht,
daß Daten
in den Speichern M1, M2,
Mn gespeichert werden.
-
Bei
einem Ausführungsbeispiel
ist jede der abgeschirmten logischen Schaltungen 14, 18 in
dem sicheren Bereich gesondert mit lediglich demjenigen Teil der
abschirmenden, leitenden Schicht CN2 gekoppelt,
der über
dieser logischen Schaltung 14, 18 liegt, um ein
Leistungssignal lediglich von diesem darüberliegenden Teil der abschirmenden,
leitenden Schicht CN2 zu erhalten.
-
Bei
einem in 7 gezeigten
Beispiel wird ein sicheres Signal in einer leitenden Schicht CN1 zugeteilt, die unter den abschirmenden
Schichten CN2 und CNn liegt,
und Abschirmsignale (beispielsweise wesentliche Steuer- oder Leistungssignale)
werden in den darüberliegenden,
abschirmenden Schichten CN2 bzw. CNn zugeteilt. Die Grenzen einer abschirmenden,
lei tenden Schicht CNn sind in der Zeichnung durch
ausgezogene Linien gezeigt, die Grenzen der anderen, abschirmenden
leitenden Schicht CN2 sind in der Zeichnung
durch gestrichelte Linien gezeigt, und die darunterliegende leitende
Schicht CN1 ist in der Zeichnung durch Schattierung
gezeigt. Die darunterliegende leitende Schicht CN1 ist
vollständig durch
entweder die eine oder die andere der abschirmenden, leitenden Schichten
CN2 und CNn abgeschirmt,
und ein Teil der darunterliegenden leitenden Schicht CN1 ist
durch beide der abschirmenden, leitenden Schichten CN2 und
CNn abgeschirmt.
-
Ein
Versuch, durch die Abschirmschichten CN2 und
CNn mit Chemikalien oder üblichen
Lasern oder Mikrosonden hindurch zu schneiden, um Zugriff auf das
sichere Signal in der leitenden Schicht CN1 zu
erhalten, führt
entweder dazu, daß die
leitende Schicht CN1 mit den Abschirmschichten
CN2 und CNn verbunden
(kurzgeschlossen) wird oder daß eine Stromkreisunterbrechung
in den Schaltungswegen erzeugt wird, die durch die leitenden Schichten
CN1, CN2 und CNn definiert sind, was dadurch die Zuteilung
des sicheren Signales und des wesentlichen Signales unterbricht
und die beabsichtigten Funktionen der Schaltungselemente verändert, die
mit den leitenden Schichten CN1, CN2 und CNn verbunden
sind, um dadurch die beabsichtigte Funktion des Chips 10 zu
beeinträchtigen.
-
Von
kritischer Wichtigkeit ist es, daß bestimmte sichere Daten,
die in dem Chip 10 während der
Herstellung eines Erzeugnisses, welches den Chip beinhaltet, gespeichert
werden, nicht nach der Speicherung dieser sicheren Daten verändert werden.
Um diesen Zweck zu erreichen, beinhaltet der Chip 10 ein
System zur Verhinderung der Änderung sicherer
Daten, die in einem vorbestimmten Speicherplatz gespeichert sind.
Alternative Ausführungsbeispiele
eines solchen Verhinderungssystems sind in den 8 und 9 gezeigt.
-
Das
System von 8 beinhaltet
einen Speicher M, eine logische Speichersteuerschaltung 38,
einen Dekoder 40, ein Sicherungselement 42 und eine
Sicherung-Änderungsvorrichtung 44.
Dieses System ist anwendbar auf den und beinhaltet als den Speicher
M jeden der Speicher M1, M2,
Mn, in denen sichere Daten gespeichert sind.
-
Der
Speicher M weist eine Mehrzahl von Speicherplätzen auf, wobei ein vorbestimmter
Platz für
die Speicherung unveränderbarer
sicherer Daten vom Datenbus 16 vorgesehen ist.
-
Die
logische Speichersteuerschaltung 38 ist mit dem Speicher
M über
einen Adressenbus 46 gekoppelt, um zu veranlassen, daß Daten
in Plätzen des
Speichers M gespeichert werden, welche durch Adressensignale angegeben
sind, die auf dem Adressenbus 46 geliefert werden, wenn
ein "Schreib"-Signal auf der Leitung 47 von
der logischen Speichersteuerschaltung 38 dem sicheren Speicher M
geliefert wird.
-
Das
Sicherungselement 42 weist einen Ausgangszustand und einen
irreversibel geänderten
Zustand auf. Der Ausdruck "Sicherungselement" bezieht sich sowohl
auf Sicherungen als auch auf Anti-Sicherungen. Sicherungselemente
werden in dem Chip 10 durch die Kombination einer metallischen, leitenden
Schicht und einer leitenden Polysiliziumschicht gebildet. Anti-Sicherungselemente
können
in dem Chip durch metallische, leitende Schichten, leitende Polysiliziumschichten
oder eine Kombination beider gebildet werden. Anti-Sicherungselemente sind
durch P+/N+ Halbleitersperrschichtdioden und P–/N- Halbleitersperrschichtdioden
in einer halbleitenden Schicht des Chips mittels Leiter/Oxid Leiterstrukturen
oder durch Leiter/amorphes Silizium/Leiterstrukturen in dem Chip
gebildet.
-
Die
Sicherung-Änderungsvorrichtung 44 ist mit
dem Sicherungselement 42 gekoppelt, um den Zustand des
Sicherungselementes 42 irreversibel in Abhängigkeit
von einem vorbestimmten Steuersignal zu ändern, das auf der Leitung 48 von
einem Anschluß 50 erhalten
wird, der sich außerhalb
des sicheren Bereiches 11 befindet. Alternativ wird das Steuersignal
auf der Leitung 48 von einem Anschluß (nicht gezeigt) erhalten,
der sich innerhalb des sicheren Bereiches 11 befindet.
-
Der
Dekoder 40 ist mit dem Sicherungselement 42, der
Speichersteuerschaltung 38 und dem Adressenbus 46 gekoppelt,
um den Zustand des Sicherungselementes 42 und die Adressensignale
auf dem Adressenbus 46 zu überwachen und um zu verhindern,
daß die
Speichersteuerschaltung 38 veranlaßt, daß Daten in dem vorbestimmten
Speicherplatz des Speichers M gespeichert werden, nachdem der Zustand
des Sicherungselementes 42 irreversibel geändert worden
ist, wann immer der vorbestimmte Speicherplatz durch ein Adressensignal
auf dem Adressenbus 46 angegeben wird.
-
Die
zweite leitende Schicht CN2 schirmt den Speicher
M, die Speichersteuerschaltung 38, den Dekoder 40 und
das Sicherungselement 42 gegen unmittelbaren äußeren Zugriff
ab.
-
Der
Speicher M, die logische Speichersteuerschaltung 38 und
der Dekoder 40 sind sämtliche mit
der zweiten leitenden Schicht CN2 gekoppelt,
um durch das Leistungssignal mit Energie versorgt zu werden, das über die
zweite leitende Schicht CN2 geführt wird.
-
Das
System von 8 wird benutzt,
um die Änderung
sicherer Daten zu verhindern, die anfänglich in den vorbestimmten
Plätzen
des Speichers M gespeichert wurden. Wenn der Zustand des Sicherungselementes 42 irreversibel
geändert
ist, verhindert der Dekoder 40 das Einschreiben jeglicher
weiterer Daten in die vorbestimmten Speicherplätze, die durch die Adressensignale
auf dem Adressenbus 46 angegeben werden.
-
Das
Sicherungselement 42 in dem System von 8 kann auch mit anderen abgeschirmten Schaltungselementen
(nicht gezeigt) verbunden sein, die bestimmte, vorausgehende Verarbeitungsfunktionen
sicherer Daten durchführen
oder beeinträchtigen,
welche lediglich anwendbar sind, bevor das Erzeugnis, welches den
Chip beinhaltet, an die Verwender des Erzeugnisses ausgeliefert
wird, wie beispielsweise ein vorausgehendes Verarbeiten der sicheren
Daten oder das Laden von Befehlen für das Verarbeiten der sicheren
Daten. Mittel, wie der Dekoder 40, sind mit dem Sicherungselement 42 und
anderen derartigen abgeschirmten Schaltungselementen gekoppelt,
um den Zustand des Sicherungselementes zu überwachen und die beabsichtigte
Funktion dieser anderen abgeschirmten Schaltungselemente zu verhindern,
nachdem der Zustand des Sicherungselementes irreversibel geändert worden
ist.
-
Viele
Schmelz-Technologien erlauben das Schmelzen lediglich bei einem
Gießen
während
des Herstellungsverfahrens des sicheren, integrierten Schaltungschips.
Beispielsweise können
bestimmte Gießprozesse
es erfordern, daß Oxid über einem
Polysiliziummaterial (oder einem anderen Sicherungsmaterial) anwächst, nachdem
die Sicherung durchgebrannt wurde, um eine bessere Langzeitverläßlichkeit
der Vorrichtung zu erreichen. Das System von 9 ermöglicht
es, daß ein
gesonderter Hersteller sichere Daten in den sicheren Speicher M
laden kann, nachdem das Gußschmelzen
erfolgt ist, verhindert aber weiterhin die Veränderung der Inhalte des Speichers
M.
-
Das
System von 9 beinhaltet
einen Speicher M, einen löschbaren
Speicher 52, etwa einen EPROM oder einen EEROM (elektrisch
löschbaren
ROM) eine logische Speichersteuerschaltung 54, eine Freigabeschaltung 55,
ein Sicherungselement 56, ein UND-Gatter 57 und
eine Sicherung-Änderungsvorrichtung 58.
Die logische Speichersteuerschaltung 54 beinhaltet ein
UND-Gatter 60 und N-Verbindungen, einschließlich Verdrahtung
und Inverter 62, die das UND-Gatter 60 mit dem
löschbaren Speicher 52 koppeln.
Die Inverter 62 sind zwischen ausgewählte Eingänge des UND-Gatters 60 und ausgewählte Speicherplätze im löschbaren
Speicher 52 ein geschaltet, um ein vorbestimmtes Datenmuster
in dem löschbaren
Speicher 52 zu definieren, das vorhanden sein muß, um das
UND-Gatter 60 freizugeben.
-
Der
Speicher M weist eine Mehrzahl von Speicherplätzen auf, wobei ein vorbestimmter
Platz für
die Speicherung unveränderbarer
sicherer Daten vorgesehen ist.
-
Die
Freigabeschaltung 55 gibt ein Datenmuster für die Speicherung
im löschbaren
Speicher 52 frei, wenn ein Einschreib-Freigabesignal auf
der Leitung 63 der Freigabeschaltung 55 zugeführt wird.
-
Die
logische Speichersteuerschaltung 54 koppelt den Speicher
M mit dem löschbaren
Speicher 52 in der Weise, daß bewirkt wird, daß Daten
in dem vorbestimmten Speicherplatz des ersten Speichers M in Abhängigkeit
von einem Schreibsignal gespeichert werden, das auf der Leitung 64 zum
UND-Gatter 60 zugeführt wird,
wann immer der löschbare Speicher 52 ein
vorbestimmtes Datenmuster enthält.
-
Die
Inhalte des löschbaren
Speichers 52 können
gelöscht
werden, indem man ein "Lösch"-Steuersignal an
einem Löschanschluß 66 zur
Verfügung
stellt, der außerhalb
des sicheren Bereiches 11 des Chips 10 gelegen
ist.
-
Das
Sicherungslement 56 weist einen Ausgangszustand und einen
irreversibel geänderten
Zustand auf. Die Sicherung-Änderungsvorrichtung 58 ist
mit dem Sicherungselement 56 gekoppelt, um den Zustand
des Sicherungselementes 56 in Abhängigkeit von einem vorbestimmten
Steuersignal irreversibel zu ändern,
das auf der Leitung 67 von einem Anschluß 68 erhalten
wird, der sich außerhalb
des sicheren Bereiches 11 befindet. Alternativ wird das Steuersignal
auf der Leitung 67 von einem Anschluß (nicht gezeigt) erhalten,
der sich innerhalb des sicheren Bereiches 11 befindet.
-
Ein
Datenmuster wird an einem Datenanschluß 69 zur Verfügung gestellt
und in den löschbaren
Speicher über
das UND-Gatter 57 eingegeben. Das UND-Gatter 57 ist
mit einem Eingang mit dem Sicherungselement 56 verbunden,
um zu ermöglichen,
daß Daten
in den löschbaren
Speicher 52 lediglich eingeschrieben werden können, während sich das
Sicherungselement 56 in seinem Ausgangszustand befindet.
-
Das
Sicherungselement 56 ist auch mit der Freigabeschaltung 55 gekoppelt,
um zu ermöglichen, daß das vorbestimmte
Datenmuster in dem löschbaren
Speicher 52 nur gespeichert werden kann, bevor der Zustand
des Sicherungselementes 56 irreversibel geändert ist.
-
N-Bits
des löschbaren
Speichers 52 sind erforderlich. Beim Gießen wird
das vorbestimmte Muster aus Einsen und Nullen, das dem Muster von
Invertern 62 entspricht, welche den löschbaren Speicher 52 mit
dem UND-Gatter 60 koppeln, in den löschbaren Speicher 52 geladen,
um zu ermöglichen, daß das UND-Gatter 60 ein "Schreib"-Steuersignal auf
der Leitung 64 an den Speicher M weiterleitet. Nachdem
das vorbestimmte Muster aus Einsen und Nullen in den löschbaren
Speicher 52 geladen ist, wird der Zustand des Sicherungselementes 56 irreversibel
geändert,
so daß das
vorbestimmte Muster nicht verändert
werden kann. An diesem Punkt kann die Bearbeitung und Verpackung
des integrierten Schaltungschips 10 fortgesetzt werden,
vorausgesetzt, daß die
endgültigen
Bearbeitungs- und Verpackungsschritte das gespeicherte, vorbestimmte
Muster in dem löschbaren
Speicher 52 nicht stören.
-
Nachdem
der Chip 10 an einen gesonderten Hersteller versandt ist,
können
sichere Daten in dem sicheren Speicher M gespeichert werden, da
das in dem löschbaren
Speicher 52 gespeicherte vorbestimmte Muster zu dem vorbestimmten
Muster paßt, das
durch die Inverter 62 als Hartverdrahtung in die logische
Speichersteuerschaltung 54 eingebaut ist.
-
Wenn
die sicheren Daten in dem sicheren Speicher M gespeichert sind,
wird ein "Lösch"-Signal dem Löschanschluß 66 zugeführt, um
die Inhalte des löschbaren
Speichers 52 zu löschen
und dadurch eine Veränderung
der sicheren Daten zu verhindern, die in dem sicheren Speicher M
gespeichert sind.
-
Die
zweite leitende Schicht CN2 schirmt den Speicher
M, den löschbaren
Speicher 52, die logische Speichersteuerschaltung 54,
die Freigabeschaltung 55 und das Sicherungselement 56 gegen direkten
Zugriff von außen
ab.
-
Diese
Technik macht das System von 9 sicher
gegen jeglichen Angriff, abgesehen von einem extrem präzisen Röntgenstrahl
oder anderem komplexen Mittel, das benutzt werden kann, um eine Fern-Neuprogrammierung
des löschbaren
Speichers 52 durch die Deckschichten des Chips 10 hindurch vorzunehmen.
Die Sicherheit dieser Technik stützt sich
auf die Tatsache, daß es
schwierig ist, eine Fern-Neuprogrammierung der Inhalte eines EEROM oder
EPROM vorzunehmen oder einen Neuanschluß eines durchgebrannten Sicherungselementes
vorzunehmen. Wenn eine unfokussierte oder diffuse Röntgenstrahlung
hoher Energie oder ein anderes Mittel die Inhalte des EEROM oder
EPROM im wesentlichen stochastisieren könnte, dann könnte ein
Angreifer wiederholte Versuche unternehmen, um zu dem Freigabemuster
zu gelangen. Für
die Sicherheit kann es daher auch erforderlich sein, daß die EEROM- oder
EPROM-Zellen so ausgelegt werden, daß sie hinsichtlich ihres Zustandes
vorgeprägt
sind, in anderen Worten gesagt, zu einem bevorzugten Muster hin vorgespannt
sind, bei dem alles EINSEN oder NULLEN sind. Somit würde jede
unfokussierte Strahlung mit hoher Wahrscheinlichkeit die Inhalte
in das bevorzugte Muster überführen und
nicht in das vorbestimmte Muster, das es ermöglicht, daß Daten in dem Speicher M gespeichert
werden können.
Die Sicherheit läßt sich
auch erhöhen,
indem ein längeres
vorbestimmtes Muster mit einer größeren Anzahl N von Bits benutzt
wird.
-
Der
Speicher M, der löschbare
Speicher 52, das UND-Gatter 60 und die Freigabeschaltung 55 sind
alle mit der zweiten leitenden Schicht CN2 gekoppelt,
um durch das Leistungssignal mit Energie versorgt zu werden, das
durch die zweite leitende Schicht CN2 geführt wird.
-
Das
Sicherungselement 56 bei dem System von 9 kann auch mit anderen abgeschirmten Schaltungselementen
(nicht gezeigt) verbunden sein, die bestimmte vorausgehende Verarbeitungsfunktionen
sicherer Daten durchführen
oder beeinträchtigen,
welche lediglich anwendbar sind, bevor das Erzeugnis, welches den
Chip beinhaltet, an die Anwender des Erzeugnisses ausgeliefert wird,
etwas das vorausgehende Verarbeiten der sicheren Daten oder das
Laden von Befehlen für
die Verarbeitung der sicheren Daten. Das Sicherungselement 56 ist
mit derartigen anderen abgeschirmten Schaltungselementen gekoppelt,
um die beabsichtigte Funktion dieser weiteren abgeschirmten Schaltungselemente lediglich
freizugeben, bevor der Zustand des Sicherungselementes irreversibel
geändert
ist.
-
Die
Systeme zur Verhinderung der Veränderung
sicherer Daten gemäß 8 und 9 sind Gegenstand des am 4. Januar 1990
von der Anmelderin angemeldeten europäischen Patentes EP-A-0378307 mit
dem Titel "Prevention
of Alteration of Data Stored in Secure integrated Ciruit Chip Memory".
-
Die
Herstellung komplizierter integrierter Schaltungschips erfordert
den vollständigen
Zugriff auf die inneren Schaltungselemente während Testvorgängen, um
sicherzustellen, daß sämtliche
vorhandenen Schaltungselemente richtig arbeiten. Gute Zugänglichkeit
für Testzwecke
bedeutet jedoch allgemein eine Sicherheitsschwäche für Chips, die sichere Daten
enthalten oder Daten, die nicht verändert werden sollten.
-
10 zeigt ein System für dauerndes
Sperren von Testsignalpfaden, nachdem Testvorgänge abgeschlossen sind, so
daß kein
weiterer Zugriff auf in nere Schaltungselemente von den äußeren Anschlüssen des
Chips her möglich
ist. Dieses System beinhaltet ein Sicherungselement 70,
erste und zweite Inverter 72, 74, einen Widerstand 75,
erste und zweite NICHTUND-Gatter 76, 78 und
eine Sicherung-Änderungsvorrichtung 79.
-
Das
Sicherungselement 70 besitzt einen Ausgangszustand und
einen irreversibel geänderten Zustand.
Die Sicherung-Änderungsvorrichtung 79 ist mit
dem Sicherungselement 70 gekoppelt, um den Zustand des
Sicherungselementes 70 in Abhängigkeit von einem vorbestimmten
Steuersignal irreversibel zu ändern,
das auf der Leitung 80 von einem Anschluß 81 erhalten
wird, der sich außerhalb
des sicheren Bereiches 11 befindet. Alternativ wird das Steuersignal
auf der Leitung 80 von einem Anschluß (nicht gezeigt) erhalten,
der sich im sicheren Bereich 11 befindet.
-
Das
Sicherungselement 70 ist mit dem ersten und dem zweiten
NICHTUND-Gatter 76, 78 gekoppelt, um zu ermöglichen,
daß die
sicheren Bereiche des Chips 10 für Testzwecke lediglich zugänglich sind,
bevor der Zustand des Sicherungselementes 70 irreversibel
geändert
ist.
-
Das
Sicherungselement 70 und die Inverter 72, 74 sind,
in Reihe geschaltet, mit einem Eingang des ersten NICHTUND-Gatters 76 verbunden.
Der Ausgang des ersten NICHTUND-Gatters 76 ist auf einen äußeren Ausgangsanschluß 82 für Testdaten
gelegt.
-
Das
Sicherungselement 70 und die Inverter 72, 74 sind
auch, in Reihe geschaltet, mit einem Eingang des zweiten NICHTUND-Gatters 78 verbunden.
-
Das
zweite NICHTUND-Gatter 78 leitet ein Teststeuersignal von
einem äußeren Teststeuerungs-Eingangsanschluß 84 zu
einem Teststeuerungs-Eingangsknoten 86 innerhalb
des sicheren Bereiches 11 des Chips 10 weiter.
Testdaten werden am inneren Testdaten-Ausgangsknoten 88 innerhalb des sicheren
Bereiches 11 des Chips 10 in Abhängigkeit von
einem Teststeuerungs-Eingangssignal zur Verfügung gestellt, das dem inneren
Teststeuerungs-Eingangsknoten 86 geliefert wird. Auf die
am inneren Testdaten-Ausgangsanschluß vorhandenen
Testdaten kann von den sicheren Schaltungselementen des Chips 10 her
zugegriffen werden, etwa von den Schaltungselementen 14, M1, M2, Mn, 16, 17, 18, 20 (1).
-
Die
Testdaten werden von dem inneren Testdaten-Ausgangsknoten 88 über das
erste NICHTUND-Gatter 76 dem äußeren Testdaten-Ausgangsanschluß 82 lediglich
geliefert, während
sich das Sicherungselement 70 in seinem Ausgangszustand
befindet.
-
Auch
wird das Teststeuerungs-Eingangssignal vom äußeren Teststeuerungs-Eingangsanschluß 84 zu
dem inneren Teststeuerungs-Eingangsknoten 86 lediglich
geliefert, während
die Sicherung in ihrem Ausgangszustand ist.
-
Die
zweite leitende Schicht CN2 schirmt das Sicherungselement 70,
die Inverter 72, 74, den Widerstand 75 und
die NICHTUND-Gatter 76, 78 gegen unmittelbaren
Zugriff von außen
ab.
-
Die
Inverter 72, 74, der Widerstand 75 und die
NICHTUND-Gatter 76, 78 sind alle mit der zweiten
leitenden Schicht CN2 gekoppelt, um durch
das Leistungssignal mit Energie versorgt zu werden, das durch die
zweite leitende Schicht CN2 geführt wird.
-
Ein
zusätzlicher
Schutz wird gewährleistet, indem
man die Signalpfade vom Sicherungselement 70 zum ersten
und zum zweiten NICHTUND-Gatter 76 und 78 so tief
wie möglich
in den Chip 10 hinein versenkt, um Prüfspitzenangriffe stärker auszuschließen. Daher
sind die Signalpfade vom Sicherungselement 70 zum ersten
und zweiten NICHTUND-Gatter 76 und 78 hauptsächlich in
einer N+ oder P+ Diffusion verteilt.
Polysilizium und andere leitende Schichten können auch verwendet werden,
bei verringerter Si cherheit. Die Verwendung der obersten leitenden Schichten
CNn CNn–1 sollte
vermieden werden.