-
Die
vorliegende Erfindung betrifft das Speichern eines unveränderlichen
Binärcodes
in einer integrierten Schaltung. Die Erfindung eignet sich insbesondere
zum Einschreiben eines unveränderlichen Codes
in die Schaltung bei deren Herstellung, mit der Bestimmung, dass
der Code bei der Anwendung der integrierten Schaltung zur Identifikation
der Schaltung, oder genauer einer Familie von Schaltungen, gelesen
werden kann.
-
Ein
Anwendungsbeispiel der vorliegenden Erfindung ist die Authentifizierung
oder Berechtigungsbestätigung
eines eine derartige integrierte Schaltung enthaltenden Elements
oder elektronischen Aggregats (beispielsweise eine Chipkarte mit oder
ohne Kontakte) bei der Ausführung
von Transaktionen oder Informationsaustauschvorgängen mit einem anderen Element
(beispielsweise einem Kartenleseterminal). In derartigen Anwendungen
muss gewährleistet
werden, dass die integrierte Schaltung authentisch-berechtigt und
nicht eine Piraterieschaltung oder simulierte Schaltung ist. Insbesondere
auf dem Gebiete der Chipkarten bereitet derzeit der Kampf gegen
Piraterie in großem
Umfang Schwierigkeiten, die in der Herstellung von mit den echten
Karten identischen Pirateriekarten (Klonen) be steht, d. h. die dieselben
Schaltungen enthalten und aus ähnlichen
Fertigungstechnologien hervorgegangen sind. Innerhalb dieser Anwendungen
betrifft die Erfindung insbesondere diejenigen, bei denen man einen
mehreren Schaltungen gemeinsamen unveränderlichen Code einzuschreiben
wünscht.
Es handelt sich beispielsweise um ein Identifikationsmittel des
Herstellers, um ein Identifikationsmittel des Anfangsbetrags einer
Karte mit vorausbezahlten Einheiten (Karten mit Telefoneinheiten)
usw.
-
Heutzutage
benutzt man Speicher oder in die integrierte Schaltung eingebettete
Register, um diesen Code oder diese Codes zu speichern. Der Code ist
in unveränderlicher
Weise bei oder nach der Herstellung in das Speicherelement eingeschrieben.
-
Ein
Nachteil einer derartigen Technik ist, dass sie eine sichtbare Programmierung
erfordert, welche den Code beim Betrieb der Schaltung feststellbar
macht. Tatsächlich
sind, ob der Code bei der Herstellung oder durch spätere definitive
Programmierung eingeschrieben wird, die für diesen Einschreibvorgang
verwendeten Elemente vom Schmelztyp dann visuell identifizierbar.
Die Fortschritte auf dem Gebiete der optischen Analyse der integrierten
Schaltungen ermöglichen
dann eine Code-Piraterie.
-
Ein
anderer Nachteil einer derartigen Technik ist, dass die spätere Authentifizierung
der Schaltung, bei ihrer Verwendung, einen Prozess zum Lesen des
Speicherelements erfordert, was Zeit benötigt.
-
Die
Erfindung bezweckt die Schaffung einer neuen Lösung für das Speichern eines Binärcodes in einer
integrierten Schaltung.
-
Die
Erfindung bezweckt insbesondere die Ermöglichung der Speicherung eines
Codes, der nicht visuell feststellbar bzw. detektierbar und de-chiffrierbar
ist, selbst mit leistungsstarken optischen De-tektionsmitteln.
-
Die
Erfindung bezweckt auch die Schaffung einer Lösung, bei welcher der gespeicherte
Code ohne Durchlaufen eines Verfahrens vom Typ des Lesens eines
Speichers verfügbar
ist, und zwar fast augenblicklich.
-
Die
Erfindung bezweckt auch die Schaffung einer Lösung, welche keine Programmierung
der Schaltung nach der Herstellung erfordert.
-
Die
Erfindung bezweckt des weiteren die Schaffung einer besonders einfach
ausführbaren
Lösung.
-
Zur
Erreichung dieser Ziele sieht die vorliegende Erfindung vor die
Schaffung einer Schaltung zum Speichern eines Binärcodes in
einem integrierten Schaltungschip, wobei die Schaltung umfasst:
- – einen
Eingangsanschluss zum Anlegen eines Signals zum Auslösen bzw.
Triggern eines Lesevorgangs des Codes, zur Ausgabe des genannten Binärcodes geeignete
Ausgangsanschlüsse,
- – erste
elektrische Pfade, welche jeweils individuell den genannten Eingangsanschluss
mit jedem Ausgangsanschluss ver binden, wobei jeweils jeder Pfad
eine bei der Herstellung der integrierten Schaltung festgelegte
Verzögerung
einführt,
sowie
- – Mittel
zur gleichzeitigen Berücksichtigung
der an den Ausgängen
der elektrischen Pfade anliegenden binären Zustände.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung ist vorgesehen, dass jeweils jeder erste
elektrische Pfad aus einem Verzögerungselement
und einer Kippschaltung besteht, von welcher ein Eingangsanschluss
mit dem Ausgang des entsprechenden Verzögerungselements verbunden ist und
von welcher ein Ausgangsanschluss einen der Ausgangsanschlüsse der
Schaltung bildet.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung ist vorgesehen, dass die genannten Mittel
zur Berücksichtigung
der Binärzustände einen
zweiten elektrischen Pfad umfassen, welcher eine Verzögerung einführt, die
im Bereich der durch die genannten ersten Pfade eingeführten Verzögerungen
liegt, und dass der genannte zweite Pfad zwischen dem genannten
Eingangsanschluss und einem Anschluss zum Auslösen bzw. Triggern der Berücksichtigung
der genannten Binärzustände zwischengeschaltet
ist.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung ist vorgesehen, dass die Takteingänge der
verschiedenen Kippschaltungen sämtlich mit
dem genannten Auslöse-
bzw. Triggeranschluss verbunden sind.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung sind die ersten elektrischen Pfade so
gewählt,
dass sie Verzögerungen
einführen,
welche kleiner oder größer als
die Verzögerung des zweiten
Pfades sind, ungeachtet eventueller technologischer Abweichungen.
-
Diese
und weitere Ziele, Gegenstände,
Eigenschaften, Merkmale und Vorteile der vorliegenden Erfindung
werden in der folgenden nicht-einschränkenden Beschreibung spezieller
Ausführungsbeispiele
im einzelnen auseinandergesetzt, in Verbindung mit den beigefügten Zeichnungsfiguren;
in diesen zeigen:
-
1 eine
Ausführungsform
einer integrierten Speicherschaltung gemäß der vorliegenden Erfindung,
sowie
-
2A und 2B in
Form von Zeitdiagrammen die Arbeits- und Wirkungsweise der Schaltung aus 1,
für zwei
verschiedene Codes.
-
Aus
Gründen
der Übersichtlichkeit
sind in den Zeichnungsfiguren nur die für das Verständnis der Erfindung notwendigen
Elemente wiedergegeben und im folgenden beschrieben. Insbesondere sind
die Bestimmung und die jeweilige Verwendung des gespeicherten Binärcodes nicht
im einzelnen dargelegt und bilden nicht Gegenstand der Erfindung.
-
Ein
charakteristisches Merkmal der vorliegenden Erfindung ist die Speicherung
eines Binärcodes
mit Hilfe physikalischer Parameter der integrierten Schaltung selbst.
Näherhin
ist gemäß der Erfindung
vorgesehen, dass ein und dasselbe Eingangssignal (logisches Signal,
das wenigstens eine Flanke umfasst) mehrere verschiedene, von bestimmten
elektrischen Pfaden herrührende
Verzögerungen
erfährt.
-
Ein
anderes charakteristisches Merkmal der Erfindung besteht darin,
dass man einen direkten Vergleich der durch die verschiedenen Pfade
eingeführten
Verzögerungen
relativ bezüglich
einer mittleren Verzögerung
vorsieht, um die Verzögerungen des
Codes unempfindlich für
technologische Abweichungen und/oder Abweichungen des Herstellungsverfahrens
zu machen.
-
1 zeigt
das elektrische Schaltbild einer Ausführungsform einer integrierten
Speicherschaltung gemäß der vorliegenden
Erfindung.
-
In
diesem Beispiel weist die Schaltung 1 einen einzigen Eingangsanschluss 2 zum
Empfang eines digitalen Signals E zum Auslösen bzw. Triggern eines Code-Lesevorgangs
auf. Gemäß der Erfindung reicht
das Signal E als solches allein aus, damit der Code ausgegeben wird.
Zur Anwendung der Erfindung muss das Signal E, wie im weiteren Verlauf
in Verbindung mit den 2A und 2B ersichtlich wird,
wenigstens eine Flanke je Auslösung
bzw. Triggerung eines Lesevorgangs aufweisen.
-
Die
Schaltung 1 liefert einen Binärcode B1, B2, ..., Bi–1,
Bi, ..., Bn–1,
Bn auf einer vorgegebenen Bit-Zahl. Jedes
Bit Bi wird jeweils an einem Anschluss 31 , 32 ,
..., 3i–1 , 3i , ..., 3n–1 , 3n der Schaltung 1, der ihm vorbehalten
ist, geliefert. Die Schaltung 1 liefert den Binärcode somit
in paralleler Form.
-
Gemäß der Erfindung
ist jedem Bit Bi des Codes ein elektrischer
Pfad P1, P2, ...,
Pi, ..., Pn zugeordnet,
welcher den gemeinsamen Eingangsanschluss 2 mit einem Anschluss 3i vom selben Rang verbindet.
-
Man
erkennt somit bereits, dass infolge der verschiedenen durch die
elektrischen Pfade eingeführten
Verzögerungen
die auslösende
oder Trigger-Flanke des Eingangssignals E an den verschiedenen Ausgängen zu
verschiedenen Zeitpunkten reproduziert wird.
-
Gemäß der Erfindung
ist vorgesehen, die Lektüre
der an den verschiedenen Ausgängen
der Schaltung 1 vorliegenden Information in synchroner Weise
vorzunehmen. Vorzugsweise wählt
man einen Zeitpunkt, der näherungsweise
einem mittleren Zeitpunkt zwischen den durch die verschiedenen elektrischen
Pfade eingeführten
extremen Verzögerungen entspricht.
-
Näherhin ist
gemäß der in 1 veranschaulichten
bevorzugten Ausführungsform
der Erfindung ein elektrischer Pfad 4 (C0) vorgesehen,
um den Zeitpunkt der Lektüre,
ausgehend vom Auftreten der Auslöse-
bzw. Trigger-Flanke des Eingangssignals E, festzulegen. Dieser elektrische
Pfad der Auslösung
bzw. Triggerung ist so gewählt,
dass er eine innerhalb dem Bereich der durch die den Code bildenden
Pfade bewirkten Verzögerungen
liegende Verzögerung
einführt.
Beispielsweise handelt es sich um die mittlere Verzögerung.
-
Beispielsweise
verbindet der Pfad 4 den Eingang 2 der Schaltung 1 mit
den Anschlüssen
Ck der Kippstufen 51 , 52 , ..., 5i , ..., 5n , die einen Teil der betreffenden elektrischen
Pfade P1, p2, ...,
pi,..., Pn bilden
und deren entsprechende Ausgänge 4 die
Ausgangsanschlüsse 31 , 32 ,
..., 3i , ..., 3n der
Schaltung 1 bilden. Gemäß dieser
Ausführungsform
weist jeweils jeder elektrische Pfad Pi ein
Verzögerungselement 61 (C1), 62 (C2),
..., 6i (Ci), ..., 6n (Cn) auf, das den Eingang 2 der
Schaltung mit dem Eingang D der entsprechenden Kippschaltung des
Pfads verbindet. Die Verzögerungselemente 6i sind Elemente, die gemäß der vorliegenden
Erfindung jeweils voneinander verschiedene Verzögerungen aufweisen. Tatsächlich sind
die Kippstufen 5i vorzugsweise
in gleicher Weise aufgebaut. Sie nehmen jedoch an der dem Eingangssignal
bis zu den entsprechenden Ausgangsanschlüssen der Schaltung 1 erteilten
Verzögerung
relativ bezüglich
der durch das Element 4 eingeführten Verzögerung C0 teil.
-
Sieht
man an dem Eingangssignal E eine Flanke vor, so trifft diese Flanke
an den entsprechenden Eingängen
D der Kippschaltungen zu unterschiedlichen Zeitpunkten ein. Die
Lektüre
bzw. Auslesung des Eingangszustandes der verschiedenen Kippschaltungen
wird durch die diesmal durch das Element 4 verzögerte Flanke
des Signals E synchronisiert. Vor allem aus diesem Grund wählt man
vorzugsweise eine Verzögerung
C0, die annähernd
der mittleren Verzögerung
der verschiedenen Elemente 6i entspricht.
-
Im
Beispielsfall von 1 sind die verschiedenen Ausgänge 3i der Schaltung 1 jeweils individuell
mit dem Eingang eines Registers 7 zur Speicherung des erhaltenen
Binärcodes
verbunden, wobei jeweils jedes Bit Bi einem
der Ausgänge
der Schaltung entspricht. Die Einzelheiten der Schaltverbindung und
des Aufbaus des Registers 7 sind nicht dargestellt und
bilden nicht Gegenstand der vorliegenden Erfindung. Sobald der erhaltene
Binärcode
einmal in dem Register vorliegt, hängt seine Verwertung von der
jeweiligen Anwendung ab, und seine Anwendung liegt im Bereich des
fachmännischen
Könnens.
-
Die 2A und 2B veranschaulichen
in Form von Zeitdiagrammen und ohne Rücksicht auf Maßstabstreue
die Arbeits- und Wirkungsweise einer Speicherschaltung gemäß der Erfindung.
Die 2A und 2B geben
Beispiele des Verlaufs des Signals E sowie der Ausgangssignale der
verschiedenen Verzögerungselemente
wieder. Im Beispielsfall der 2A und 2B ist
der Fall eines Binärcodes auf
vier Bits angenommen. Die Zeitdiagramme sind mit C0, C1, C2, C3
und C4 bzw. C'0,
C'1, C'2, C'3 und C'4 bezeichnet, zur
Veranschaulichung, dass die betreffenden Verzögerungselemente verschieden
sind.
-
Der
Unterschied zwischen den 2A und 2B veranschaulicht
den Unterschied zwischen zwei integrierten Schaltungen 1 mit
Pfaden C0 bis C4, welche unterschiedliche Verzögerungen einführen.
-
In 2A ist
angenommen, dass man in einem Zeitpunkt t5 eine aufsteigende oder
Vorderflanke an dem Signal E auslöst. Diese Flanke erscheint an
den verschiedenen Eingängen
der Kippstufen D (entsprechend den Ausgängen der Verzögerungselemente
C1, C2, C3 und C4) zu jeweils entsprechend verschiedenen Zeitpunkten
t1, t2, t3 und t4. Im übrigen
führt das
Element 4 (C0) eine Verzögerung ein, welche die Lektüre bzw.
Auslesung der Daten am Eingang der Kippstufen in einem Zeitpunkt
t0 auslöst bzw.
triggert. Alle Pfade, die eine Verzögerung größer als die Verzögerung C0
erzeugen, liefern ein Bit im Zustand 0, insoferne die Vorderflanke
des Signals E noch nicht bis zu ihnen gelangt ist. Alle Pfade, die eine
Verzögerung
kleiner als die Verzögerung
C0 erzeugen, liefern ein Bit im Zustand 1, insoferne die Vorderflanke
des Signals E vor dem Ablauf der Verzögerung C0 am Eingang der entsprechenden
Kippschaltung eintrifft. Im Beispiel von 2A erhält man im
Zeitpunkt t0 den Code 1010.
-
2B veranschaulicht
eine gleichartige Schaltung, in welcher die Pfade C0' bis C4' verschieden sind.
Der erhaltene Code y ist verschieden. Beispielshalber handelt es
sich um den Code 0010. In 2B ist
willkürlich
ein Zeitpunkt t5 identisch mit dem Fall von 1 eingetragen.
Hingegen sind die Zeitpunkte t'0,
t'1, t'2, t'3 und t'4, in denen die Vorderflanke
des Signals E den Durchlauf der entsprechenden Pfade C'0, C'1, C'2, C'3 und C'4 beendet hat, von dem
Fall von 2A verschieden.
-
Vorzugsweise
sind die durch die verschiedenen Pfade eingeführten Verzögerungen hinreichend unterschiedlich
von einander gewählt
worden, um unempfindlich für
technologische Abweichungen und Abweichungen des Herstellungsverfahrens
zu werden. Auf diese Weise wird gewährleistet, dass sämtliche
Schaltungen einer Familie tatsächlich
ein und denselben Code liefern. Vorzugsweise sind im Falle von mehr
als zwei Pfaden diese voneinander verschieden, selbst wenn sie dasselbe
Ergebnis (0 oder 1) liefern müssen.
Dies macht eine visuelle Unterscheidung zwischen den Pfaden noch
weniger auswertbar.
-
Um
einen von einer Schaltung zu einer anderen unterschiedlichen Code
zu verleihen, kann man die elektrischen Pfade so verändern, dass
sie unterschiedliche Verzögerungen
einführen,
oder man kann die Zuordnung der verschiedenen Pfade zu verschiedenen
Kippschaltungen verändern,
was die Ordnung der Bits in dem Code verändert. Man könnte schließlich auch
mit der mittleren Verzögerung
C0 arbeiten, um den Auslöse-
bzw. Triggerzeitpunkt der Kippschaltungen zu verschieben. In diesem
Fall muss man darauf achten, dass sämtliche Pfade jeweils Verzögerungen
einführen,
die jeweils bezogen aufeinander unabhängig von technologischen Abweichungen
sind.
-
Gemäß einer
Ausführungsform
der Erfindung ist der zu speichernde Code vor der Herstellung der
Schaltung vorgegeben. In diesem Fall bemisst man die Verzögerungselemente
C1 bis Cn und/oder das Element C0 so, dass die Schaltung diesen
Code ergibt.
-
Gemäß einer
anderen Ausführungsform
ist der Code bei der Konzeption der Schaltung noch unbekannt. Er
wird dann nach Herstellung durch eine Auslösung bzw. Triggerung der Lektüre des Codes einer
der Schaltungen der Schaltungsfamilie identifiziert. Dieser Code
ist sämtlichen
Schaltungen der Familie (die mit denselben Masken hergestellt sind)
gemeinsam. Er kann dann in der Folge verwendet werden, beispielsweise
als Code zur Identifizierung des Schaltungstyps.
-
Man
kann auch die Codes jedes Chips ein und desselben Wafers individuell
bestimmen, sei es, indem man die Masken oder deren Äquivalente
individuell bestimmt, oder indem man für technologische Abweichungen
empfindliche Verzögerungen
vorsieht.
-
Ein
Vorteil der vorliegenden Erfindung ist, dass der gespeicherte Code
nicht visuell herausgefunden oder dechiffriert werden kann. Tatsächlich muss
man, damit der Code erscheint, ein elektrisches Signal am Eingang
der erfindungsgemäßen Schaltung
anlegen.
-
Ein
anderer Vorteil der vorliegenden Erfindung ist, dass es nicht erforderlich
ist, einen Lesevorgang zu organisieren, um den Code herauszufinden, wie
dies bei einem herkömmlichen
Speicher der Fall ist. Gemäß der Erfindung
reicht es aus, dem Signal E eine Flanke aufzuprägen, um mit einer von der mittleren
Verzögerung
abhängigen
Verzögerung
den Code an den Ausgangsanschlüssen
erscheinen zu lassen. Somit spart man Zykluszeit des Systems, in dem
die integrierte Schaltung verwendet wird.
-
Ein
weiterer Vorteil der vorliegenden Erfindung ist, dass die Identifizierung
besonders genau und zuverlässig
ist. Indem der Rückgriff
auf eine Messung (Lektüre
eines Speichers) entfällt,
entledigt man sich insbesondere eventueller Genauigkeitsprobleme.
-
Ein
anderer Vorteil der Erfindung ist, dass der Code sehr rasch verfügbar ist.
Tatsächlich
werden durch Abweichungen der Herstellungsverfahren oder technologische
Abweichungen häufig
Unterschiede in der Größenordnung
von höchstens
100 Pikosekunden eingeführt.
Somit reichen Pfade, welche Verzögerungen
in einem Bereich von einigen hundert Pikosekunden einführen, zur
Herstellung eines Codes aus. Die Zeit zur Verfügbarmachung des Codes kann
dann in der Nanosekunden-Größenordnung
liegen.
-
Ein
weiterer Vorteil der vorliegenden Erfindung besteht darin, dass
im Falle einer zeitlichen Abdrift einer der von den Elementen eingeführten Verzögerungen
dies die Ergebnisse der Schaltung nicht beeinträchtigt. Da sämtliche
Verzögerungselemente vorzugsweise
von gleicher Konstitution sind, wird die Abweichung bzw. Auswanderung
für sämtliche
Elemente (Pfade) im gleichen Sinn liegen.
-
Zur
Realisierung der Verzögerungselemente der
elektrischen Pfade der Erfindung kann man beliebige integrierte
Elemente verwenden. Beispielsweise kann es sich um Reihen von Widerständen und/oder von
Kondensatoren oder um einfache Pfade handeln. Bei Widerständen kann
man Widerstände
hinsichtlich der Dicke der integrierten Schaltung verwenden, vorzuziehen
ist jedoch die Verwendung von Widerständen aus polykristallinem Silizium,
deren Betrag von der Geometrie abhängt und die den Vorteil einer
geringeren Temperaturabhängigkeit
haben.
-
Erfindungsgemäß wird eine
Phase der Lektüre
bzw. Auslesung durch eine Flanke des Eingangssignals E ausgelöst bzw.
getriggert. Die Anzahl von Phasen hängt von der jeweiligen Anwendung und
der Bestimmung der Identifizierungsschaltung ab. Wenn es sich um
eine Chipkarte handelt, kann man beispielsweise eine Identifizierung
bei jeder zwischen dieser Karte und einer äußeren Vorrichtung bewirkten Änderung
vorsehen, selbst im Verlauf der betreffenden Transaktion.
-
Die
vorliegende Erfindung ist verschiedenen Änderungen und Abwandlungen
zugänglich,
die sich für
den Fachmann ergeben. Insbesondere kann die praktische Realisierung
der Verzögerungselemente der
Erfindung unterschiedliche Formen annehmen.
-
Des
weiteren hängt
die jeweilige Wahl des Bereichs von Veränderungen der durch die verschiedenen
Elemente eingeführten
Verzögerungen
von der betreffenden Anwendung und der gewünschten Empfindlichkeit ab.
Diese Wahl liegt auf der Grundlage der zuvor gegebenen funktionellen
Hinweise im Bereich des fachmännischen
Könnens.
-
Im übrigen ist
ersichtlich, dass die Bit-Zahl des durch die erfindungsgemäße Schaltung
gelieferten Codes ebenfalls von der Anwendung und von dem gewünschten
Sicherheitsgrad abhängt.
Je größer die
Bit-Zahl, um so schwieriger wird die Unterscheidung zwischen zwei
unterschiedliche Codes speichernden Schaltungen.
-
Des
weiteren kann man unterschiedliche Elemente der Auswertung des Binärcodes bei
der Anwendung der Schaltung vorsehen. Statt den Code in einem Register
zu speichern, kann er beispielsweise direkt zur Validierung oder
Invalidierung einer Funktion der Schaltung, in welcher er integriert
ist, ausgewertet werden, beispielsweise zur Einschaltung bzw. Stromspeisung
dieser Schaltung.
-
Schließlich ist
zwar gemäß einer
bevorzugten Ausführungsform
ein einziges Signal E zur Auslösung
bzw. Triggerung eines Lesevorgangs vorgesehen, jedoch können, insbesondere
im Fall einer Schaltung, in welcher mehrere Codes zusammengefasst
sind, mehrere Auslöse-
bzw. Triggersignale Anwendung finden. In einem derartigen Fall können sich die
verschiedenen Codes in ein und dieselbe Verzögerung C0 teilen oder auch
nicht.
-
Unter
den Anwendungen der vorliegenden Erfindung kann die Verwendung des
Codes zur Identifizierung des Schaltungstyps für eine automatische Platzierung
der Chips durch einen Roboter, der sie zuvor nach ihrem Code identifiziert,
dienen.