-
Die
vorliegende Erfindung bezieht sich auf Chips und insbesondere auf
Schutzeinrichtungen von Chips, um den uneingeschränkten Zugang
auf diese zu unterbinden.
-
Die
Schutzkonzepte der heutigen Chips sind so ausgelegt, daß sie nur
die Anzahl der Authentifizierungsversuche bzw. Authentifizierungen
bestimmen. Unter Chips versteht man in der vorliegenden Anmeldung
eine Halbleitervorrichtung mit einer integrierten Schaltungsanordnung,
während
Chipkarten sich hier aus dem Chip und einem Träger, wie z.B. einem Plastikträger, zusammensetzen.
Beispielsweise ist in einer heutigen GSM SIM-Karte die Zahl der möglichen
Authentifizierungsversuche auf drei begrenzt. Ein Programm in einer
Verarbeitungseinheit in einer GSM SIM-Karte bestimmt mittels eines
Zählers
die Anzahl der Authentifizierungsversuche und vergleicht, ob der
Zählwert
den maximalen Wert überschreitet.
Ist dies der Fall, wird die Karte gesperrt.
-
6 zeigt eine solche GSM
SIM-Karte. Sie umfasst einen Taktanschluss 1, einen Versorgungsspannungsanschluss 2,
einen Datenbusanschluss 6, eine Verarbeitungseinheit 16,
einen Speicher 26, einen Zähler 11 und einen
nicht-flüchtigen
Speicher 36. Der Taktanschluss 1 und der Datenbusanschluss 6 sind
an die Verarbeitungseinheit 16 und den Speicher 26 angeschlossen.
Ein Ausgang der Verarbeitungseinheit 16 ist an den Eingang
des Zählers 11 angeschlossen,
ein Ausgang des Zählers 11 ist
an einen Eingang der Verarbeitungseinheit 16 angeschlossen. Somit
besteht eine bidirektionale Verbindung zwischen der Verarbeitungseinheit 16 und
dem Zähler 11.
Ein weiterer Ausgang des Zählers
ist mit dem Eingang eines nichtflüchtigen Speichers 36 verbunden und
ein Ausgang des nichtflüchtigen
Speichers 36 mit einem Eingang des Zählers 11. Somit besteht wiederum
eine bidirektionale Verbindung zwi schen dem Zähler 11 und dem nicht-flüchtigen
Speicher 36. Die Verarbeitungseinheit 16 ist zur
Durchführung
von Operationen geeignet. Diese Operationen können in dem Auslesen von Inhalten
des Speichers 26, dem Weiterverarbeiten dieser Inhalte
und dem anschließenden
Schreiben von Inhalten in den Speicher 26 bestehen. In
Abhängigkeit
eines bestimmten Befehls oder bestimmter Befehle zur Anweisung eines
Authentifizierungsversuches signalisiert die Verarbeitungseinheit
dem Zähler,
seinen Zählerstand
um eins zu inkrementieren. Der Zähler 11 speichert
seinen aktuellen Zählerstand
in dem nichtflüchtigen
Speicher 36. Wird nun die Versorgungsspannung an dem Versorgungsspannungsanschluss 2 abgeschaltet,
so behält
der nicht-flüchtige
Speicher 36 den letzen Stand des Zählers 11. Wird nun
eine Versorgungsspannung an dem Versorgungsspannungsanschluss 2 wieder
angelegt, so liest der Zähler 11 seinen
Ausgangszählerwert
aus dem nicht-flüchtigen
Speicher 36 aus, bevor er weitere Signale von der Verarbeitungseinheit 16 empfangen
kann. Erreicht der Zähler 11 einen
bestimmten Wert, beispielsweise 3, so wird ein bestimmtes Zugriffsverfahren
auf den Chip, sprich weitere Authentifizierungsversuche über die Eingabe
einer vierstelligen Identifizierungsnummer (PIN-Nummer) unterbunden.
Damit lässt
die GSM SiM-Karte keine weiteren Authentifizierungsversuche mehr
auf diesem Weg zu. Der Chip kann dann nur mehr über die Eingabe einer sehr
langen Identifizierungsnummer, die dem Kunden vom Mobilfunkbetreiber
bei Vertragsabschluss mitgeteilt wird, entsperrt werden.
-
Dieses
Verfahren verhindert jedoch nicht, daß ein möglicher Angreifer, über eine
unbeschränkte
Zeit oder über
eine uneingeschränkte
Anzahl an Taktzyklen hinweg Stromanalysen, Spikeangriffe und ähnliche
Attacken auf dem Chip ausführt.
Durch diese Verfahren kann der mögliche
Angreifer wertvolle Informationen über den Aufbau, die Struktur
und den Inhalt der Speicherelemente auf dem Chip gewinnen und dadurch
an geheime Daten gelangen. Eine Authentifizierung ist für diese
Angriffe nicht erforderlich, weshalb der Schutzmechanismus scheitert.
-
Das
Problem bei dem Versuch weitere Angriffe, die keine Authentifizierung
notwendig machen, zu verhindern, besteht darin, dass bei den heutigen Chiptestern
mit Mikrocontrollern und Sicherheitsspeichern wie eine Smartcard,
keine Uhr vorhanden ist, so daß der
Betrieb nicht zeitlich begrenzbar ist. Es fehlt eine Zeitreferenz,
zur Erfassung der Zeitdauer, innerhalb der ein Angreifer versucht,
Informationen über
den Chip zu gewinnen.
-
Bisher
wurde die zeitliche Kopplung nur auf Sicherheitsmodulen typischerweise
in remote access Anwendungen wie z.B. Zugangsberechtigungsmodulen
für Firmeneinrichtungen
wie z.B. für
Secure Token in mit einer Echtzeituhr implementiert, die eine Batteriepufferung
und eine Quarz-Takterzeugung benötigt.
Diese Elemente sind aufgrund ihrer Dicke in den heute weit verbreiteten
Chipkarten nicht einsetzbar.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, einen Chip zu
schaffen, so dass ein zeitlich uneingeschränktes Betreiben des Chips erschwert
wird.
-
Diese
Aufgabe wird durch einen Chip gemäß Anspruch 1, 2 oder 3, und
ein Verfahren gemäß Anspruch
8 oder 9 gelöst.
-
Der
Kerngedanke der vorliegenden Erfindung besteht darin, einer Verarbeitungseinrichtung des
Chips bereitgestellten Takt für
Zeitreferenz heranzuziehen, indem ein Zähler ansprechend auf diesen
Takt einen Zählerwert
de- oder inkrementiert. Erfüllt
der Zählerwert
eine vorbestimmte Bedingung, kann eine entsprechende Einheit auf
dem Chip signalisieren, daß dieser
Wert erreicht bzw. überschritten
ist, so daß der
Chip diese Operation nicht mehr ausführt. Oder der Zählerwert
wird stets nicht-flüchtig gespeichert,
so daß dieser
Wert beispielsweise von einem externen Gerät ausgelesen werden kann, um zu überprüfen, ob
der Chip noch betrieben werden dürfte.
Der Takt, der herangezogen wird, kann durch ein externes Gerät erzeugt
oder aus einem solchen abgeleitet sein, wie z.B. einem Terminal.
-
Ein
Vorteil der vorliegenden Erfindung besteht darin, daß ein Chip
damit über
eine Zeitreferenz bzw. Taktzahlreferenz verfügt, die der Verarbeitungseinrichtung
oder einem mit derselben kommunizierenden externen Gerät ermöglicht,
bei Überschreiten einer
bestimmten Zeit bzw. Anzahl an Takten, vorbestimmte Operationen
zu unterbinden.
-
Wird
der Zählerwert
in einem nicht-flüchtigen Speicher
gespeichert, ermöglicht
das der Verarbeitungseinheit zudem, bestimmte Operationen abhängig von
einer Vorgeschichte des Chips zu unterbinden, die zeitlich vor der
letzten bzw. aktuellen Inbetriebnahme und der damit verbundenen
Versorgung des Chips mit der Betriebsspannung liegen.
-
Insbesondere
wäre im
Falle des nicht-flüchtigen
Speichers der Chip in der Lage, Informationen über die Zeitdauer möglicher
Attacken zu speichern und diese einem externen Gerät zu signalisieren. Dies
ermöglicht
beispielsweise die Verwendung von Chipkarten über eine gewisse Betriebszeit
hinaus zu unterbinden.
-
Zusätzlich kann
im Falle des nicht-flüchtigen Speichers
und der Kommunikation mit einem externen Gerät wie z.B. einem Terminal die
Verfolgung der Manipulation von Chipkarten erleichtert werden. Manipuliert
beispielsweise ein Verbrecher nach langen Tests und Analysen einen
Chip dahingehend, daß dieser
unberechtigterweise mit zusätzlichen
Geldbeträgen
aufgeladen wird, so kann das Terminal z.B. eine Kasse in einem Geschäft bei der
Benutzung der Karte diese Informationen über die Dauer der Tests und
Analysen auslesen und sie zur Überführung des Verbrechers
an die Polizei übermitteln.
-
Darüber hinaus
bietet die vorliegende Erfindung die Möglichkeit, wenn der Chip in
einer Set-Top-Box kontinuierlich getaktet wird, vorbestimmte Operationen
nach Ablauf einer definierten Betriebszeit zu unterbinden. Hierdurch
können Chipkarten
hergestellt werden, die den Empfang von Programmen nach Ablauf einer
festen Zeitspanne wie z.B. Pay-TV-Karten sperren.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockschaltbild eines Chips gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
2 ein
Blockschaltbild eines Chips gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
3 ein
Blockschaltbild eines Chips gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
4 ein
Blockschaltbild eines Chips gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
5 ein
Blockschaltbild eines Chips gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung; und
-
6 ein
Blockschaltbild eines herkömmlichen
Chips.
-
1 zeigt
ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung. Das Blockschaltbild umfasst einen Taktanschluss 1,
einen Versorgungsspannungsanschluss 2, einen Datenbusanschluss 6,
einen Zähler 11,
einen nicht-flüchtigen
Speicher 36, eine Verarbeitungseinheit 16, einen
Speicher 26, und eine Überwachungseinheit 21.
Der Taktanschluß 1 ist
mit einem Eingang des Zählers 11,
einem Eingang der Verarbeitungseinheit 16 und einem Eingang
des Speichers 26 verbunden.
-
Der
Datenanschluss 6 ist mit der Verarbeitungseinheit 16 oder
dem Speicher 26 verbunden, wobei die Verbindung über einen Verarbeitungsdatenbus
ausgeführt
sein kann, der entweder in Form einer Leitung oder in Form mehrerer
Leitungen vorliegt. Diese Leitungen können sich dann wieder in Leitungen
für Adressen
und/oder Daten und/oder Chipselect- und/oder Befehlssignale beispielsweise untergliedern.
Der Datenbusanschluss 6 ist an die Verarbeitungseinheit 16 und
an den Speicher 26 angeschlossen. Ein Ausgang des Zählers 11 ist
mit einem Eingang des nicht-flüchtigen
Speichers 36 verbunden, während ein Ausgang des nicht-flüchtigen Speichers 36 mit
einem Eingang des Zählers 11 verbunden
ist. Es besteht somit eine bidirektionale Verbindung zwischen dem
Zähler 11 und
dem nicht-flüchtigen
Speicher 36. Ein weiterer Ausgang des Zählers 11 ist mit einem
Eingang der Überwachungseinheit 21 verbunden.
Der Ausgang der Überwachungseinheit 21 ist
an einen Eingang der Verarbeitungseinheit 16 angelegt.
-
Selbstverständlich kann
der Chip jede Anzahl an weiteren Einheiten wie weitere Verarbeitungseinheiten,
weitere Speichereinheiten oder eine beliebige Anzahl an Schaltungsmodulen
(A/D-Wandler, Komparatoren etc.) enthalten. Diese können selbstverständlich auch
an den Taktanschluss 1 und an den Datenbusanschluss 6 angebunden
sein. Außerdem
kann die Überwachungseinheit 21 in
der Verarbeitungseinheit 16 integriert sein, oder die Verarbeitungseinheit 16 kann
deren Funktionalität übernehmen.
Auch der nicht-flüchtige
Speicher 36 kann selbstverständlich in dem Speicher 26,
wenn dieser als nichtflüchtig
ausgelegt ist, integriert sein. Der Taktanschluss 1 und
der Datenbusanschluss 6 dienen als externe Anschlüsse zur
Kommunikation mit einem externen Gerät, wie z.B. einem Terminal,
um von demselben Takt und Daten zu erhalten bzw. Daten an denselben
abzugeben. Sie können
als Kontaktschnittstelle ausgelegt sein, wenn es sich bei dem Chip
um ein Schaltungsmodul in einer kontaktlosen Chipkarte handelt.
-
Ein
Takt oder eine vordefinierte Taktfolge am Taktanschluß 1 taktet
die Verarbeitungseinheit 16 und den Speicher 26.
Diese kommunizieren über
den Datenbus entweder untereinander, wobei die Verarbeitungseinheit 16 aus
dem Speicher 26 Daten ausliest, diese verarbeitet und anschließend in
dem Speicher 26 wieder ablegt, oder ein externes Gerät kommuniziert über den
Datenanschluss 6 mit der Verarbeitungseinheit 16 oder
dem Speicher 26 über den
Datenbus. Natürlich
kann die Verarbeitungseinheit 16 auch auf die von einem
externen Gerät
empfangenen Daten hin bestimmte Befehle ausführen, oder ein externes Gerät dazu veranlassen
bestimmte Befehle auszuführen.
Somit kann ein externes Gerät Informationen über die
Daten in dem Speicher 26 gewinnen, diese ggf. verändern oder
neue Daten in den Speicher 26 schreiben. Ein Takt am Taktanschluß 1 inkrementiert
oder dekrementiert mit jedem Taktpuls den Zählerstand eines Zählers 11.
Der Zählerstand des
Zählers 11 wird
in vorbestimmten Abständen,
wie z.B. nach Ablauf einer vorbestimmten Anzahl von Takten an einen
nichtflüchtigen
Speicher 36 und an eine Überwachungseinheit 21 weitergeleitet.
Die Aufgabe des nicht-flüchtigen
Speichers 36 besteht darin, diesen Zählerwert auch beim Abschalten
der Versorgungsspannung am Versorgungsspannungsanschluss 2 des
Chips in diesem Ausführungsbeispiel weiterhin
zu behalten. Wird nun die Spannung am Versorgungsspannungsanschluss 2 für den Chip
in dem Ausführungsbeispiel
abgeschaltet, so hält
der nicht-flüchtige
Speicher 36 den aktuellen Zählerstand fest. Wird die Versorgungspannung
am Versorgungsspannungsanschluss 2 anschließend wieder
angelegt, so liest der Zähler 11 zuerst
den Zählerstand
aus dem nicht-flüchtigen
Speicher 36 in seine internen Register (nicht gezeigt)
ein. Er beginnt dann mit diesem Wert seinen Zählerstand in Abhängigkeit
von den Pulsen am Taktanschluss 1 weiter zu de- oder inkrementieren.
Somit ermöglicht
der nicht-flüchtige Speicher 36,
daß der
Zählerstand
des Zählers 11 stets
von der Gesamtzahl der am Taktanschluss 1 über die
gesamte Betriebsdauer anliegenden Takte abhängt, unabhängig davon, ob die Versorgungsspannung
abgeschaltet worden ist oder nicht. Der Zählerstand des Zählers 11 wird
an die Überwachungseinheit 21 weitergeleitet,
die ein Überschreiten
oder Unterschreiten eines bestimmten Werts durch den Zählerstand überwacht
und im Falle des Über-
oder Unterschreitens ein Signal zu der Verarbeitungseinheit 16 kommuniziert.
Die Verareitungseinheit 16 registriert dieses Signal und
unterbindet, falls dasselbe registriert wird, eine oder mehrere
bestimmte Operation zu deren Durchführung die Verarbeitungseinheit 16 in
der Lage ist, und die von ihr sonst durchgeführt werden würden. Diese
bestimmten Operationen können
Operationen sein, die nicht unbedingt von der Verarbeitungseinheit
allein ausgeführt
werden, sondern z.B. auch in Zugriffen auf die Speichereinheit 26 oder
im Zusammenwirken mit anderen Schaltungsmodulen bestehen.
-
Versucht
nun ein Angreifer in einem Testlabor Informationen über den
Aufbau, die Struktur, die Schaltungselemente oder die Daten auf
dem Chip zu gewinnen, wie z.B. in einer DPA-Differential Power Analysis-Analyse,
so ist hierfür
das Takten des Chips am Taktanschluss 1 über einen
Zeitraum hinweg erforderlich. Dieser Zeitraum des Testens und der
Analyse ist typischerweise lang in Relation zu der Zeitdauer, in
der der Chip normalerweise betrieben wird. Der Zähler 11 registriert
weiterhin diese Takte am Taktanschluss 1 während des
Testens und Analysieren des Chips durch einen Angreifer. Ab einem
bestimmten Wert des Zählers 11 erkennt
die Überwachungseinheit 21,
dass ein kritischer Schwellwert über-
oder unterschritten worden ist. Diesen Zustand signalisiert sie
anschließend
der Verarbeitungseinheit 16. Die Verarbeitungseinheit 16 erkennt
damit, dass ein Angriff auf den Chip stattgefunden hat, und unterbindet
weitere vorbestimmte Operationen auf dem Chip. Selbst wenn der Angreifer
die Versorgungsspannung abschaltet, so wird der letzte Stand des
Zählers 11 in
dem nicht-flüchtigen
Speicher 36 gespeichert. Der Zähler beginnt dann mit diesem
abgelegten Wert seinen Zählerstand
weiter zu de- oder inkrementieren. Ein Angreifer kann daher den Schutzmechanismus
des Zählers 11 durch
ein Abschalten der Versorgungsspannung nicht umgehen. Der Chip kann
folglich nach einem Ablauf einer bestimmten Anzahl an Taktzyklen
am Taktanschluss 1, die wiederum einer bestimmten Betriebsdauer
des Chips entspricht, die Operationen, wie sicherheitskritische
Operationen, Abbuchungsfunktionen, kryptographische Algorithmen,
Authentifizierungen und Operationen an geheimen Daten, die von der
Verarbeitungseinheit 16 ausgeführt werden, unterbinden. Dies
schützt
den Chip vor Manipulationen von einem Angreifer, der in einem Testlabor über einen
typischerweise langen Zeitraum im Verhältnis zur Betriebsdauer des
Chips hinweg Informationen über den
Aufbau, die Struktur, die Schaltungsmodule und/oder die gespeicherten
Daten auf einem Chip gewonnen hat.
-
In
einem weiteren Ausführungsbeispiel
gemäß 2 werden
im Gegensatz zu dem Ausführungsbeispiel
gemäß 1 ein
Ausgang oder mehrere Ausgänge
der Überwachungseinheit 21 an
einen Signalbusanschluss 31 angelegt. Der Unterschied gegenüber dem
Ausführungsbeispiel
von 1 besteht nun darin, daß hier die Überwachungseinheit 21 über den
Signalbusanschluss 31 mit einem externen Gerät kommuniziert,
um diesem das Unterschreiten oder Überschreiten eines vordefinierten Zählerstands
zu signalisieren. Das externe Gerät kann beispielsweise ein Geldkartenautomat,
ein Kartenleser an einer Kaufhauskasse oder ein öffentliches Telefon sein, die über die
Betriebsdauer des Chips und damit über mögliche Manipulationen an diesem
informiert werden. Sie können
daraufhin Operationen wie das Telefonieren oder das Abheben von
Geld unterbinden, und darüber
hinaus der Polizei Daten über
die Manipulation an dem Chip zur Verfügung stellen.
-
In
einem weiteren Ausführungsbeispiel
gemäß 3 wird
im Unterschied zu der 2 das Ausgangssignal der Überwachungseinheit 21 zumindest
teilweise an den Datenbusanschluss 6 angelegt. Die Überwachungseinheit 21 kann
auf diesem Weg Informationen an die Verarbeitungseinheit 16,
den Speicher 26 oder an ein externes Gerät, wie z.B.
einen Geldkartenautomaten, senden. Diese Kommunikationen können selbstverständlich auch
bidirektional ausgeführt
werden, und die Verarbeitungseinheit 16 könnte damit
beispielsweise von der Überwachungseinheit 21 vorbestimmte
Werte oder Informationen anfordern, wie z.B. den Zählerstand.
Basierend auf den Signalen oder Informationen aus der Überwachungseinheit 21 kann
die Verarbeitungseinheit 16 oder ein externes Gerät vordefinierte
Operationen unterbinden. Selbstverständlich können diese Informationen, die
von der Überwachungseinheit stammen,
erst in einem Speicher 26 abgelegt werden und dort von
der Verarbeitungseinheit 16 oder einem externen Gerät ausgelesen
werden. Somit erhalten die Verarbeitungseinheit 16 oder
ein externes Gerät über den
Datenbusanschluss 6 Informationen über die Betriebsdauer bzw.
die Anzahl der Takte, die an dem Chip über seine gesamte Lebensdauer
unabhängig
vom An- und Abschalten der Versorgungsspannung anlagen. Beispielsweise
kann hier wieder ein Geldautomat, wenn dieser das externe Gerät ist, nach
einer übermäßig hohen
Betriebsdauer des Chips, die wahrscheinlich auf eine Manipulation
bzw. versuchte Manipulation zurückzuführen ist,
diese Karte einbehalten. Ein weiterer Anwendungsfall wäre denkbar,
dass die Verarbeitungseinheit 16 bereits auf das Signalisieren
dieser übermäßig hohen
Betriebsdauer hin ein Auslesen geheimer Daten, wie z.B. verschlüsselter
Identifizierungsnummern in einer GSM-Karte unterbindet. Ein weiterer Vorteil
des Ausführungsbeispiels
gemäß 3 gegenüber dem Ausführungsbeispiel
gemäß 2 besteht
dann, wenn der Chip in sogenannten kontaktlosen Karten eingesetzt
wird. In diesen gibt es nicht die Möglichkeit den Signalbus über einen
weiteren Anschluss herauszuführen.
-
Beispielsweise
kann die Verarbeitungseinheit 16 auf einem Chip, die als
eine Sicherheitsverarbeitungseinheit entworfen ist, und ihr Programm
aus dem Speicher 26 ausliest, über die Überwachungseinheit 21 den
Zählerwert
abfragen und den Wert der bisherigen Laufzeit in regelmäßigen Abständen in dem
Speicher 26, der in diesem Fall nicht-flüchtig ist, ablegen.
Hierbei ist es vorteilhaft Abstände
zu wählen,
die den Speicher nicht übermäßig belasten,
wie Minuten oder Stunden. Je nach Anwendung können die Maximalwerte der Betriebsdauer
frei gewählt
werden. Ein Anwendungsfall wäre
eine Pay-TV-Karte mit einem Chip wie in 3 mit fester
Lebensdauer. Die Karte wird in der Set-Top Box ständig mit
Takt und Strom versorgt; nach z.B. einem Jahr wird die Karte automatisch
gesperrt.
-
In
einem Ausführungsbeispiel
gemäß 4 wird
im Unterschied zu 1 der nicht-flüchtige Speicher 36 weggelassen.
Die Überwachungseinheit 21 überwacht
den Zählerstand 11 und
signalisiert der Verarbeitungseinheit 16 beim Überschreiten
oder Unterschreiten eines vordefinierten Werts dieses Ereignis.
Die Verarbeitungseinheit 16 unterbindet daraufhin wiederum
vordefinierte Operationen. Ein Anwendungsfall für dieses Ausführungsbeispiel
könnte eine
Einmalkarte für
ein Pay-TV Programm sein, die z.B. das einmalige Ansehen eines Films über zwei Stunden
ermöglicht.
In dieser Anordnung gehen sämtliche
Informationen über
Ereignisse, die vor einem Anlegen der Versorgungsspannung an dem Chip
stattfinden verloren. Das Weglassen des nicht-flüchtigen Speichers ermöglicht dem
Chip aber auf beschreibbare nicht-flüchtige Speichertechnologien
zu verzichten, und damit die Kosten für den Herstellungsprozess zu
senken.
-
5 veranschaulicht
das Blockschaltbild eines Chips gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung. Diese Fig. umfaßt im Unterschied zu 1 noch
einen Teiler 41, der an dem Taktanschluß 1 angelegt ist und
sein Ausgangssignal an den Zähler 11 sendet.
Der Teiler 41 erzeugt nach einer Folge von N Takten ein
Taktsignal für
den Zähler 11.
Der Zähler
ermittelt wiederum die Anzahl der Takte an seinem Eingang und teilt
diese der Überwachungseinheit 21 mit.
Stellt die Überwachungseinheit 21 fest,
daß der
Zählerstand
einen bestimmten Wert über-
oder unterschreitet, so veranlasst sie die Verarbeitungseinheit 16 bestimmte
Operationen zu unterbinden. Hierbei ist auch eine Konfiguration
denkbar, in der beispielsweise in dem Teiler 41 ein bestimmter
Teilerfaktor N von der Verarbeitungseinheit 16 eingestellt
wird. Vorteilhaft ist, wenn dieser Teilungsfaktor während des
Betriebs nicht verändert
wird. Das Einfügen
des Teilers 41 kann die Komplexität des Zählers 11 und auch
des nicht-flüchtigen
Speichers 36 erheblich verringern. Der nicht-flüchtige Speicher 36 muss
dann nämlich
nur eine erheblich niedrigere Anzahl an Taktzyklen des Zählers 11 abspeichern
und kommt daher mit deutlich weniger Speicherzellen aus.
-
Hierdurch
lässt sich
auch die Betriebsdauer einer Telefonkarte begrenzen. Da es sich
bei dieser um eine synchrone Karte handelt, ist die Anzahl der maximalen
Taktzyklen plus Sicherheitswert, falls die Karte in einem Taschenleser
betrieben wird, genau bekannt. Die Taktsignale werden in dem Chip
dem Teiler zugeführt,
der nach N Taktzyklen ein Signal an den Zähler 11 sendet, der
wiederum seinen Zählerstand
dekrementiert und den neuen Wert im nicht-flüchtigen Speicher ablegt. Ist
der Zählerstand null,
so kann der Chip auf der Karte nicht mehr zum Bezahlen der Gebühren verwendet
werden. Die Gebühreneinheiten
sind weiterhin lesbar, aber nicht mehr gültig.
-
Obige
Ausführungsbeispiele
zeigen, wie ein Chip den von außen
anliegenden Takt zur Messung der Betriebszeit der Karte nutzt. Über einen
Taktteiler werden die Taktsignale in verwertbare Zeiteinheiten geteilt,
welche in regelmäßigen Abständen (N
Takte) im Speicher der Chipkarte dauerhaft abgelegt werden. Somit
werden keine zusätzlichen
Komponenten benötigt.
-
In
diesen Ausführungsbeispielen
wird erläutert,
wie die Messung der abgelaufenen Clock-Taktsignale oder Taktzyklen
mittels eines Zählers
(vorteilhaft bei sogenannten Secure-Memories) oder Timers (vorteilhaft bei
Security-Controllern) und die kumulative Speicherung der so gewonnenen
Zeitinformation der nicht-flüchtigen
Speicher der Karte erfolgt.
-
Ein
Beispiel für
die Anwendung der in den Ausführungsbeispielen
erläuterten
Prinzipien in einer Memory-Karte ist eine Telefonkarte, bei der
die Betriebsdauer begrenzt werden soll. Da es sich um eine synchrone
Karte handelt, ist die Anzahl der maximalen Taktzyklen plus Sicherheitswert
(falls Betrieb im Taschenkarteleser etc.) genau bekannt. Die Clock-Signale bzw. Taktzyklen
werden in der Karte einem Zähler
zugeführt,
der nach „N" Clockzyklen oder Taktzyklen
die Dekrementierung eines nicht-flüchtigen Speicherwerts auslöst. Ist
der Speicherwert Null, so kann die Karte nicht mehr verwendet werden.
Die Gebühreneinheiten
sind weiterhin lesbar, aber nicht mehr gültig.
-
Ein
weiteres Beispiel für
die Anwendung der in den Ausführungsbeispielen
erläuterten
Prinzipien ist eine mit einem Security-Controller versehene Chipkarte,
die mit einem Timer ausgestattet ist. Ein residentes Programm (im
ROM) des Controllers fragt den Timer ab, und speichert den Wert
der bisherigen Laufzeit in regelmäßigen Abständen im nicht-flüchtigen
Speicher.
-
Die
Verarbeitungseinheit 16 kann beispielsweise als Prozessorkern
oder als Logik ausgeführt sein.
Obwohl im vorhergehenden die Einrichtung zum Bereitstellen des Takts
ein externer Taktanschluss war, kann derselbe stattdessen durch
einen intern im Chip gebildeten Oszillator ausgeführt sein. Der
nicht-flüchtige
Speicher kann unter anderem in Form eines E2PROMs
oder eines FLASH-Speichers vorliegen. Zusätzlich zum Unterbinden der
bestimmten Operationen können
auch Sicherheitsdaten gelöscht
werden.
-
- 1
- Taktanschluß
- 2
- Versorgungsspannungsanschluß
- 6
- Datenbusanschluß
- 11
- Zähler
- 16
- Verarbeitungseinheit
- 21
- Überwachungseinheit
- 26
- Speicher
- 31
- Signalbusanschluß
- 36
- nicht-flüchtiger
Speicher
- 41
- Teiler