-
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.
-
EP 0314148 lehrt eine Chipkarte
mit einem Mikrocomputer, bei der die Bearbeitungszeit vom Empfangen
eines Befehls, den die Chipkarte von einem Terminal empfängt, bis
zum Senden einer Antwort an das Terminal unabhängig von der Art des Verarbeitungsbefehls
und des Ergebnisses des Verarbeitungsvorgangs ist. Dabei empfängt der
Mikrocomputer auf der Chipkarte zuerst von einem Terminal einen
Verarbeitungsbefehl. Der Mikrocomputer setzt daraufhin einen Zähler auf
einen vorbestimmten Wert. Danach führt er den Verarbeitungsbefehl
aus, während
der Zähler
das Zählerregister
beim Durchlaufen jedes Befehlzyklus der CPU um 1 erhöht. Der Zähler erhöht den Wert
in dem Zählerregister
so lange, bis ein vorbestimmter Wert überschritten wird. Der Zeitraum,
bis der vorbestimmte Wert überschritten
wird, ist dabei länger
als die längste
Zeit zur Bearbeitung eines Verarbeitungsbefehls.
-
Wenn
der Wert im Zählerregister
den vorbestimmten Wert überschreitet,
wird ein Interrupt in der CPU ausgelöst. Der ausgelöste Interrupt
veranlasst die CPU, die ursprünglich begonnene
Routine zu unterbrechen, um eine Interrupt-Routine auszuführen. Bei
der Interrupt-Routine überträgt die CPU
eine Antwort an das Terminal. Anschließend kehrt sie zu dem unterbrochenen
Verfahren zurück
und setzt dieses fort.
-
Die
DE 3638505 C2 zeigt
einen Datenträger mit
einem integrierten Schaltkreis, der bei kleinen abbuchbaren Einheiten
und einem vergleichsweise hohen Anfangswert eines abbuchbaren Betrags
mit einem kleinen Speichervolumen auskommt. Der integrierte Schaltkreis
weist eine Taktleitung, eine Sicherheitslogik, einen nicht-flüchtigen
Speicher und einen flüchtigen
Dualzähler
auf.
-
In
einer ersten Phase wird ein Inhalt des nicht-flüchtigen Speichers in den Zähler übertragen. In
einer zweiten Phase wird der Inhalt des nicht-flüchtigen Speichers durch Taktimpulse,
die z. B. von einem Telefonapparat stammen, dekrementiert. In einer
dritten Phase erfolgt ein Löschen
des nichtflüchtigen
Speichers, nach einem Ablauf einer bestimmten Anzahl von Taktimpulsen,
woraufhin in einer vierten Phase ein Zählerstand des Zählers in
den nicht-flüchtigen
Speicher übertragen
wird.
-
Der
flüchtige
Dualzähler
weist eine Mehrzahl von Flip-Flops auf, deren Ausgänge auf
ein ODER-Glied geführt
werden, das an seinem Ausgang einen logischen Null-Pegel hat, wenn
an allen Eingängen
ein logischer Null-Pegel anliegt. Wenn der Zählerstand den Wert 0 einnimmt,
wird ein UND-Gatter gesperrt, so dass keine weiteren Taktimpulse
an den Zähler
gelangen können.
Somit wird sichergestellt, dass nur ein Zählerstand von null in den Speicher übertragen
wird.
-
Die
DE 19831884 C2 zeigt
ein Verfahren zum Schutz gegen ein analytisches Ausspähen von geheimen
Informationen. Ein Ausgangszustand eines Zählers verfügt über einen definierten Ausgangswert,
wobei ein Wert des Zählers
bei jedem Auftreten eines definierten Ereignisses, wie z. B. einem
Benutzen eines Schlüssels,
um einen bestimmten Wert erhöht
wird, so dass sich ein Zustand des Zählers verändert. Wenn der Zählerwert
durch den Eintritt eines Ereignisses einen bestimmten definierten
Maximalwert überschreitet,
so wird der Zugriff auf den Schlüssel
gesperrt. Somit ist eine Funktion, die durch den Schlüssel geschützt ist,
nicht mehr ausführbar.
Zugleich existiert für
jeden Schlüssel
ein definiertes Ereignis, das den Zähler in den Ausgangszustand
zurücksetzt.
Wenn das Ereignis, das den Zähler
in den Ausgangszustand zurücksetzt,
eintritt, bevor der Zähler
den Maximalwert erreicht hat, wird der Zähler in den Ausgangszustand
automatisch zurückgesetzt.
-
In
einer Ausführungsvariante
eines in der
DE1983184
C2 erläuterten
Ausführungsbeispiels kann
das definierte Ereignis, das den Zähler in den Ausgangszustand
zurücksetzt,
den Zugriff auf den Schlüssel
wieder freigeben. Das Ereignis besteht in einer erfolgreichen Authentisierung
mit einem anderen Schlüssel.
-
Die
EP 0614159 A1 lehrt
eine IC-Karte. Die IC-Karte weist eine Zugriffseinrichtung, eine
Zeitanzeige-Einrichtung, eine Beurteilungseinrichtung und eine Mitteilungs-Einrichtung
auf. Die Zugriffseinrichtung ermöglicht
einen Zugriff auf in einem Speicher auf der IC-Karte abgespeicherte
Daten, wobei die Zeitanzeige-Einrichtung jedes Mal zurückgesetzt wird,
wenn ein normales Zugriffsverfahren beendet wird und dann ausgehend
von einem Anfangswert ein neues Zählverfahren startet. Die Beurteilungs-Einrichtung
ermittelt, ob ein von der Zeitanzeige-Einrichtung gezählter Wert
eine vorbestimmte Zeitgrenze überschreitet
oder nicht. Wenn innerhalb einer vorbestimmten Periode kein Zugriffsverfahren ausgeführt wird,
teilt die Mitteilungs-Einrichtung, die mit der Beurteilungs- Einrichtung verbunden
ist, einem externen Gerät
dies mit. Somit kann das externe Gerät erkennen, dass ein Kartenbenutzer
die Umgebung des externen Geräts
verlassen hat und kann daraufhin einer weiteren Person, die nicht
berechtigt ist, auf die Karte zuzugreifen, einen Zugriff auf die Karte
versagen bzw. einen Zugriff auf die Karte durch diese Person unterbinden.
-
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 4 und
ein Verfahren gemäß Anspruch
10, 11 oder 12 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 E2 PROMs
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