Verfahren zum Schutz eines tragbaren Datenträgers
Die Erfindung betrifft ein Verfahren zum Schutz eines tragbaren Datenträgers gemäß dem Oberbegriff des Anspruchs 1.
In tragbaren Datenträgern sind häufig geheime Daten gespeichert und/ oder geheime Algorithmen implementiert. Diese können beispielsweise dazu verwendet werden, den Datenträger gegenüber einem Endgerät als echt auszuweisen, d. h. eine Authentifizierung des Datenträgers durchzuführen. Weiterhin werden die geheimen Daten bzw. die geheimen Algorithmen für eine Authentifizierung des Endgeräts durch den Datenträger benötigt. Schließlich können die geheimen Daten bzw. Algorithmen zur Prüfung einer Geheimzahl oder eines biometrischen Merkmals herangezogen werden, um festzustellen, ob ein Benutzer zur Verwendung des Datenträgers berechtigt ist, d. h. es wird eine Authentifizierung des Benutzers durchgeführt. Um ein Ausspähen der beim Authentifizierungsvorgang eingesetzten geheimen Daten oder Algorithmen zu verhindern, ist es bereits bekannt, die Anzahl der Authentifizierungsversuche durch einen Fehlbedienungszahler zu begrenzen. Der Fehlbedienungszahler wird bei jedem Authentifizierungsversuch inkrementiert und bei einem erfolgreichen Authentifizierungsversuch zurückgesetzt. Überschreitet der Fehlbedienungszahler einen Schwellwert, so wird kein weiterer Authentifizierungsversuch mehr zugelassen.
Aus der DE 43 39460 CI ist ein Challenge-and-Response- Verfahren zur Au- thentifizierung bekannt, die im Rahmen einer Aufladung eines Wertespeichers eines tragbaren Datenträgers durchgeführt wird. Dabei wird im Datenträger eine Sperre eingerichtet, die nur durch Verändern eines Fehlerzähler- standes aufgehoben werden kann. Danach wird der Fehlerzählerstand geändert und damit die Sperre aufgehoben. Mittels einer Zufallszahl eines End- geräts und mittels geheimer Schlüsseldaten werden sowohl im Endgerät als auch im Datenträger Authentifikationsparameter ermittelt und im Datenträ-
ger miteinander verglichen. Bei einer Übereinstimmung wird die Sperrvorrichtung deaktiviert, so dass der Wertespeicher wieder aufladbar ist und der Fehlerzähler rücksetzbar ist.
Der Erfindung liegt die Aufgabe zugrunde, den Sicherheitsstandard bei tragbaren Datenträgern weiter zu erhöhen und insbesondere den unbefugten Aufruf von kryptographischen Funktionen einzuschränken.
Diese Aufgabe wird durch ein Verfahren mit der Merkmalskombination des Anspruchs 1 gelöst.
Die Erfindung geht aus von einem Verfahren zum Schutz eines tragbaren Datenträgers, wobei ein Fehlbedienungszahler vorgesehen ist, mit dem die Anzahl der Aufrufe einer Aktion des Datenträgers erf asst wird und wobei eine Durchführung der Aktion nur dann zugelassen wird, wenn der Fehlbedienungszahler unterhalb eines vorgebbaren Schwellwerts liegt.
Weiterhin wird bei der Erfindung von der Erkenntnis Gebrauch gemacht, dass von einem tragbaren Datenträger in der Regel auch Aktionen durchge- führt werden, die nicht auf die übliche Weise direkt mit einem Fehlbedienungszahler abgesichert werden können, bei deren beliebig häufiger Ausführung aber dennoch die Gefahr einer Preisgabe geheimer Daten oder Algorithmen besteht. Dies rührt daher, dass für den Einsatz eines Fehlbedienungszahlers im herkömmlichen Sinn nur Aktionen in Frage kommen, bei deren Durchführung Daten auf ihre Korrektheit geprüft werden. Abhängig vom Ergebnis der Prüfung wird der bei jedem Aufruf der Aktion inkremen- tierte Fehlbedienungszahler zurückgesetzt oder nicht. Die auf herkömmliche Weise mit einem Fehlbedienungszahler abgesicherten Aktionen sind zwar in der Regel besonders kritisch im Hinblick auf ein potentielles Ausspähen, da
von ihnen beispielsweise die weitere Durchführung der Anwendung oder der Zugriff auf Daten abhängt. Es sind aber keineswegs die einzigen Aktio- - nen, bei deren Ausführung geheime Daten oder Algorithmen potentiell ausgespäht werden können, da auch bei anderen Aktionen, die nicht auf her- kömmliche Weise mit einem Fehlbedienungszahler abgesichert werden können, beispielsweise Zufallszahlen erzeugt oder Verschlüsselungen von Informationen durchgeführt werden. Bei einer beliebig häufigen Wiederholung dieser ungesicherten Aktionen könnte beispielsweise versucht werden, Rückschlüsse auf die verwendeten Prozeduren zur Generierung der Zufalls- zahlen oder auf die verwendeten Schlüssel bzw. Verschlüsselungsalgorithmen zu ziehen. Um dies zu verhindern, wird der Fehlbedienungszahler erfindungsgemäß mehreren Aktionen des Datenträgers zugeordnet, indem ein Inkrementieren des Fehlbedienungszahlers bei einem Aufruf einer ersten Aktion und ein Rücksetzen des Fehlbedienungszahlers bei einer erf olgrei- chen Durchführung einer zweiten Aktion erfolgt. Dies hat den Vorteil, dass sich beliebige Aktionen des Datenträgers mit einem Fehlbedienungszahler gegen f ortwährend wiederholtes Aufrufen absichern lassen. Dabei ist es insbesondere vorteilhaft, dass für den Einsatz der Erfindung bei einem Datenträger keine Veränderung der Spezifikation erforderlich ist.
Beim erfindungsgemäß en Verfahren können die erste Aktion und die zweite Aktion in eine Sequenz eingebunden sein, so dass bei einem ordnungsgemäßen Betrieb des Datenträgers bei einer Ausführung der ersten Aktion stets auch die zweite Aktion ausgeführt wird. Dadurch wird sichergestellt, dass bei einem ordnungsgemäßen Betrieb des Datenträgers nach einem Inkrementieren des Fehlbedienungszahlers stets die Möglichkeit besteht, den Fehlbedienungszahler zurückzusetzen. Zwischen der ersten Aktion und der zweiten Aktion kann wenigstens eine weitere Aktion ausgeführt werden.
Dies hat den Vorteil, dass die weitere Aktion ebenfalls mit dem Fehlbedienungszahler abgesichert werden kann.
In einem bevorzugten Ausführungsbeispiel wird zu Beginn der ersten Akti- on überprüft, ob der Fehlbedienungszahler unterhalb eines Schwellwerts liegt und eine Durchführung der ersten Aktion nur dann zugelassen, wenn die Überprüfung ein positives Ergebnis liefert. Weiterhin wird der Fehlbedienungszahler vorzugsweise zu Beginn der ersten Aktion inkrementiert. Die Inkrementierung kann dabei unmittelbar vor oder unmittelbar nach der Überprüfung erfolgen. Die frühzeitige Ausführung dieser Sicherheitsmaßnahmen ermöglicht einen besonders guten Schutz vor Manipulationen.
Mit dem erfindungsgemäßen Verfahren werden insbesondere erste Aktionen abgesichert, die so ausgebildet sind, dass bei deren Durchführung geheime Daten verarbeitet und/ oder geheime Algorithmen angewendet werden. Die erste Aktion kann beispielsweise in einer Erzeugung einer Zufallszahl, einer Verschlüsselung einer Zeichenfolge, einer Berechnung einer Prüfsumme oder einer Erzeugung einer digitalen Signatur bestehen. Dabei ist die erste Aktion in der Regel so ausgebildet, dass bei deren Durchführung vom Da- tenträger nicht geprüft wird, ob eine autorisierte Benutzung des Datenträgers vorliegt. Die zweite Aktion ist dagegen in der Regel so ausgebildet, dass bei deren Durchführung eine dem Datenträger übermittelte Information geprüft wird und der Fehlbedienungszahler zurückgesetzt wird, wenn die Prüfung erfolgreich verläuft.
Die Erfindung wird im folgenden anhand der in der Zeichnung dargestellten Ausführungsbeispiele näher erläutert. Die Ausführungsbeispiele beziehen sich jeweils auf eine Anwendungssituation, bei der einem tragbaren Datenträger von einem Endgerät Kommandos übermittelt werden. Der Datenträ-
ger, der beispielsweise als Chipkarte ausgebildet sein kann, arbeitet die Kommandos ab und übermittelt gegebenenfalls ein Ergebnis an das Endgerät. Um ein Ausspähen der bei der Abarbeitung der Kommandos eingesetzten Daten und/ oder Algorithmen zu verhindern, wird die Ausführung von in dieser Hinsicht kritischen Kommandos mittels des erfindungsgemäßen Verfahrens durch einen Fehlbedienungszahler abgesichert. Dies wird an Hand einiger typischer Kommandosequenzen beispielhaft erläutert.
Es zeigen
Fig. 1 ein Flußdiagramm für eine Kommandosequenz, die mit dem erfindungsgemäßen Verfahren abgesichert wird,
Fig. 2 ein Flußdiagramm für eine weitere Kommandosequenz, die ebenfalls mit dem erfindungsgemäßen Verfahren abgesichert wird und
Fig. 3 ein Flußdiagramm für eine nochmals andere Kommandosequenz, die wiederum mit dem erfindungsgemäßen Verfahren abgesichert wird.
In Fig. 1 ist ein Flußdiagramm dargestellt, anhand dessen die Absicherung eines Kommandos erläutert wird, das als INTERNAL AUTHENTICATE bezeichnet wird. Bei der Durchführung dieses Kommandos verschlüsselt der Datenträger eine Zufallszahl oder eine Zeichenfolge, die ihm zu diesem Zweck vom Endgerät als Klartext übermittelt wurde, und gibt das Ergebnis der Verschlüsselung an das Endgerät aus. Ein potentieller Angreifer könnte dem Datenträger dieses Kommando ausführen lassen und dadurch den zu einem vorgegebenen Klartext zugehörigen verschlüsselten Text ermitteln. Durch eine fortwährende Ausführung des Kommandos mit einer systematischen Variation des Klartextes ließen sich aus dem jeweils ermittelten ver-
schlüsselten Text möglicherweise Rückschlüsse auf das Verschlüsselungsverfahren und den verwendeten Schlüssel ziehen. Wie groß die Erfolgsaussichten eines derartigen Angriffs sind, hängt unter anderem von der Stärke des Verschlüsselungsverfahrens, von der verwendeten Schlüssellänge und von der Anzahl der Aufrufe des Kommandos ab. Mit der im folgenden erläuterten Vorgehensweise kann die Anzahl der Aufrufe des Kommandos auf einige wenige begrenzt werden, so dass der geschilderte Angriff auch bei einem relativ schwachen Verschlüsselungsverfahren und einem kurzen Schlüssel nahezu aussichtslos ist.
Der Durchlauf des Flußdiagramms beginnt mit einem Schritt Sl, der bei einem Aufruf des Befehls INTERNAL AUTHENTICATE als erstes ausgeführt wird und bei dem abgefragt wird, ob der Fehlbedienungszahler FBZ kleiner als ein vorgebbarer Schwellwert MAX ist. Falls diese Bedingung nicht erfüllt ist, ist der Durchlauf des Flußdiagramms beendet, d. h. es werden weder die beim Befehl INTERNAL AUTHENTICATE vorgesehene Verschlüsselung noch irgendwelche anderen Befehle des Flußdiagramms ausgeführt. Falls die Abfrage im Schritt Sl erfüllt ist, d. h. der Fehlbedienungszahler FBZ kleiner als der Schwellwert MAX ist, schließt sich an Schritt Sl ein Schritt S2 an, bei dem der Fehlbedienungszahler FBZ inkrementiert wird. Danach folgt ein
Schritt S3, bei dem die eigentliche Abarbeitung des Kommandos INTERNAL AUTHENTICATE durchgeführt wird, d. h. insbesondere die Verschlüsselung erfolgt. Die Zugehörigkeit der Schritte Sl, S2 und S3 zu dem Kommando INTERNAL AUTHENTICATE wird durch eine gestrichelt dargestellte Umrahmung veranschaulicht.
An Schritt S3 schließt sich ein Schritt S4 an, in dem ein mit INITIALISE bezeichnetes Kommando ausgeführt wird. Bei diesem Kommando werden Initialisierungen durchgeführt, wobei die Details hierzu für die Erfindung
nicht relevant sind. Auf Schritt S4 folgt mit einem Schritt S5 die Ausführung eines Kommandos PURCHASE, bei dem mit dem Datenträger ein Zahlungsvorgang innerhalb einer Börsenanwendung durchgeführt wird. Wie durch eine gestrichelte Umrahmung angedeutet ist, schließt die Ausführung des Kommandos PURCHASE auch einen Schritt S6 und einen Schritt S7 mit ein. Im Schritt S6, der unmittelbar auf Schritt S5 folgt, wird abgefragt , ob die Durchführung des Kommandos PURCHASE gemäß Schritt S5 erfolgreich verlaufen ist. Falls dies der Fall ist, wird als nächstes der Schritt S7 ausgeführt, bei dem der Fehlbedienungszahler FBZ zurückgesetzt wird. Mit der Ausführung des Schrittes S7 ist der Durchlauf des Flußdiagramms beendet. Ist die Abfrage des Schrittes S6 nicht erfüllt, so wird der Durchlauf des Flußdiagramms ohne Rücksetzung des Fehlbedienungszahlers FBZ beendet.
Insgesamt ergibt sich somit, dass eine Ausführung des Kommandos INTERNAL AUTHENTICATE nur dann möglich ist, wenn der Fehlbedienungszahler FBZ noch nicht den Schwellwert MAX erreicht hat und dass der Fehlbedienungszahler FBZ bei jeder Ausführung des Kommandos inkrementiert wird. Ein Rücksetzen des Fehlbedienungszahlers FBZ erfolgt nur dann, wenn das Kommando PURCHASE gemäß Schritt S5 erfolgreich ausgeführt wurde, so dass ohne eine erfolgreiche Ausführung des Kommandos
PURCHASE die Anzahl der Ausführungen des Kommandos INTERNAL AUTHENTICATE auf Werte unterhalb des Schwellwerts MAX begrenzt wird. Alternativ zur Darstellung der Fig. 1 ist es auch möglich, das Rücksetzen des Fehlbedienungszahler FBZ an eine erfolgreiche Ausführung des Kommandos INITIALISE zu knüpfen.
Fig. 2 zeigt ein Flußdiagramm für eine weitere Kommandosequenz, bei der wiederum das Kommando INTERNAL AUTHENTICATE abgesichert wird. Diese Kommandosequenz zeichnet sich dadurch aus, dass die Rücksetzung
des Fehlbedienungszahlers FBZ im Rahmen einer PIN-Prüfung erfolgt, bei der ermittelt wird, ob eine Geheimzahl richtig eingegeben wurde. Die Ausführungen zu Fig. 1 gelten für diese Kommandosequenz entsprechend und auch der Verfahrensablauf ist analog ausgebildet. Die Schritte S8, S9 und S10 folgen in dieser Reihenfolge aufeinander und stimmen identisch mit dem Schritten Sl, S2 und S3 der Fig. 1 überein. An Schritt S10 schließt sich ein Schritt Sll an, in dem die PIN-Prüfung durchgeführt wird. In einem darauffolgenden Schritt S12 wird abgefragt, ob die PIN-Prüfung erfolgreich verlief. Wenn dies der Fall ist, wird anschließend in einem Schritt S13 der Fehlbe- dienungszähler FBZ zurückgesetzt und der Durchlauf des Flußdiagramms ist beendet. Andernfalls wird der Durchlauf des Flußdiagramms ohne Zurücksetzen des Fehlbedingungszählers FBZ beendet. Bei diesem Ausführungsbeispiel ist die Zugehörigkeit der Schritte S8, S9 und S10 zum Kommando INTERNAL AUTHENTICATE sowie der Schritte Sll, S12 und S13 zur PIN-Prüfung jeweils durch eine gestrichelte Umrahmung dargestellt.
Fig. 3 zeigt ein Flußdiagramm für eine nochmals andere Kommandosequenz, wobei ein Kommando GET CHALLENGE abgesichert wird. Bei diesem Kommando wird eine Zufallszahl von Datenträger beispielsweise mit einem Kryptoalgorithmus erzeugt. Durch die Anwendung des erfindungsgemäßen Verfahrens soll die Generierungsprozedur gegen beliebig viele Aufrufe geschützt werden. Auch für die Kommandosequenz der Fig. 3 haben die Ausführungen zu Fig. 1 in entsprechender Weise Gültigkeit. Gemäß dem Flußdiagramm der Fig. 3 wird zunächst ein Schritt S14 und dann ein Schritt S15 ausgeführt, die den Schritten Sl und S2 der Fig. 1 identisch entsprechen. Auf Schritt S15 folgt ein Schritt S16, der die eigentliche Durchführung des Kommandos GET CHALLENGE repräsentiert, d. h. die Erzeugung der Zufallszahl. Durch eine gestrichelte Umrahmung ist verdeutlicht, dass die Schritte S14, S15 und S16 dem Kommando GET CHALLENGE zuzuordnen sind. An
Schritt S16 schließt sich ein Schritt S17 an, in dem ein Kommando ausgeführt wird, für das sich durch den Datenträger nachprüfen lässt, ob die Ausführung autorisiert war. Um welches Kommando es sich dabei im einzelnen handelt, ist zweitrangig. Als nächstes wird in einem Schritt S18 geprüft, ob das Kommando erfolgreich ausgeführt wurde, d. h. ob die erforderliche Autorisierung vorlag. Die Autorisierung wird in der Regel anhand einer dem Datenträger übermittelten Information überprüft. Falls die Prüfung positiv verläuft, schließt sich ein Schritt S19 an, bei dem der Fehlbedienungszahler FBZ zurückgesetzt wird. Damit ist der Durchlauf des Flußdiagramms been- det. Ergibt die Prüfung in Schritt S18, dass das Kommando nicht erfolgreich durchgeführt wurde, wird der Durchlauf des Flußdiagramms ohne Rücksetzung des Fehlerzählers FBZ beendet.
Mit dem erfindungsgemäßen Verfahren lassen sich nicht nur die explizit ge- nannten Kommandos gegen ein beliebiges Aufrufen absichern, sondern beispielsweise auch ein Kommando CALCULATE MAC, bei dem eine Prüfsumme berechnet wird oder ein Kommando SIGN, bei dem eine digitale Signatur erstellt wird usw. Das Prüfen und Inkrementieren des Fehlbedienungszahlers FBZ findet dabei jeweils bevorzugt vor der eigentlichen Aus- führüng des Kommandos statt, um potentielle Manipulationen möglichst zu erschweren.
Seitens des Endgeräts sind für den Einsatz des erfindungsgemäßen Verfahrens keine Änderungen erforderlich, d. h. es können unverändert die übli- chen Kommandos an den Datenträger übermittelt werden. Beim Einsatz des erfindungsgemäßen Verfahrens ändert sich lediglich die interne Abarbeitung der Kommandos im Datenträger.