-
Die
Erfindung betrifft ein Verfahren zum Schutz eines tragbaren Datenträgers,
insbesondere einer Chipkarte, sowie einen entsprechenden tragbaren
Datenträger.
-
Um
tragbare Datenträger gegen eine unbefugte Benutzung bzw.
ein Ausspähen zu schützen, wird der Aufruf bestimmter
Kommandos mit einem Fehlbedienungszähler überwacht,
der die Anzahl an fehlerhaften Ausführungen der Kommandos
erfasst. Sollte die Anzahl an fehlerhaften Ausführungen
einen vorbestimmten Wert erreichen bzw. überschreiten, wird
eine weitere Ausführung des Kommandos nicht mehr zugelassen.
Beispielsweise werden sog. Personalisierungskommandos durch einen
Fehlbedienungszähler überwacht, wobei solche Kommandos personalisierte
und insbesondere geheime Informationen auf dem Datenträger
verarbeiten und deshalb besonders sicherheitskritisch sind. Mit
Hilfe von Personalisierungskommandos kann sich beispielsweise ein
Endgerät durch einen Datenträger authentisieren. Weiterhin
können durch Personalisierungskommandos Algorithmen zur
Prüfung einer Geheimzahl oder eines biometrischen Merkmals
durchgeführt werden, um festzustellen, ob ein Benutzer
zur Verwendung des Datenträgers berechtigt ist, d. h. es
wird eine Authentisierung des Benutzers durchgeführt.
-
In
herkömmlichen Datenträgern wird der Fehlbedienungszähler
derart verwendet, dass er vor der Ausführung eines Personalisierungskommandos inkrementiert
bzw. dekrementiert wird, wobei nur nach dem erfolgreichen Abschluss
des Kommandos eine entsprechende Dekrementierung bzw. Inkrementierung
des Fehlbedienungszählers erfolgt. Steigt die Anzahl an
Fehlversuchen, führt dies zu einem erhöhten bzw.
verminderten Wert des Fehl bedienungszählers, wobei bei Überschreiten
bzw. Unterschreiten einer Schwelle kein weiteres Personalisierungskommando
zugelassen wird.
-
Das
Dokument
WO 2004/046897
A1 zeigt einen transaktionsbezogenen Fehlbedienungszähler, der
mehreren Aktionen des Datenträgers zugeordnet wird. Der
Fehlbedienungszähler wird bei einem Aufruf einer ersten
Aktion inkrementiert und nachfolgend bei einer erfolgreichen Ausführung
einer zweiten Aktion wieder zurückgesetzt.
-
Aus
dem Dokument
US 6,711,685
B1 ist ein Verfahren zum Schutz von geheimen Informationen bekannt,
bei dem ein Zähler die Anzahl der Verwendungen einer geheimen
Information erfasst. Der Wert des Zählers wird bei jeder
Verwendung der geheimen Information hochgesetzt, wobei die Verwendung
der geheimen Information bei Erreichen eines vorbestimmten Maximalwerts
des Zählers blockiert wird. Der Zähler kann bei
Auftreten vorbestimmter Ereignisse vor bzw. nach der Blockierung
der Verwendung der geheimen Information zurückgesetzt werden.
-
Die
aus dem Stand der Technik bekannten Verfahren zum Schutz von tragbaren
Datenträgern bzw. geheimen Informationen weisen den Nachteil auf,
dass die Bedienungszähler während der Ausführung
des Verfahrens häufig verändert werden, wodurch
eine große Anzahl an Schreibzugriffen in einem entsprechenden
Datenspeicher erforderlich ist. Hierdurch kommt es zu nicht unerheblichen
Zeitverzögerungen.
-
Aufgabe
der Erfindung ist es deshalb, die Zeitverzögerung bei der
Ausführung von durch Fehlbedienungszähler überwachten
Kommandos möglichst gering zu halten.
-
Diese
Aufgabe wird durch ein Verfahren nach Anspruch 1 bzw. einen tragbaren
Datenträger nach Anspruch 13 gelöst. Weiterbildungen
der Erfindung sind in den abhängigen Ansprüchen
definiert.
-
Die
Erfindung geht von einem Verfahren zum Schutz eines tragbaren Datenträgers
aus, bei dem ein Fehlbedienungszähler vorgesehen ist, mit
dem die Anzahl von fehlerhaften Ausführungen von vorgegebenen
Kommandos erfasst wird und die Ausführung eines Kommandos
nur zugelassen wird, wenn die Anzahl von fehlerhaften Ausführungen
von vorhergehenden Kommandos gemäß dem Fehlbedienungszähler
kleiner als ein vorgebbarer Schwellwert ist. Hier und im Folgenden
wird unter Kommando immer ein Kommando verstanden, welches durch
einen Fehlbedienungszähler gegen eine zu häufige
fehlerhafte Ausführung geschützt ist. Bei der
Ausführung des Verfahrens können optional jedoch
gegebenenfalls auch noch weitere Kommandos ausgeführt werden,
welche nicht durch einen Fehlbedienungszähler überwacht
werden. In einer Folge von unterschiedlichen Kommandos werden dabei
die unterschiedlichen Kommandos der Folge durch denselben Fehlbedienungszähler
abgesichert.
-
In
dem erfindungsgemäßen Verfahren wird vor der Ausführung
eines Kommandos überprüft, ob ein Indikator in
einem ersten oder einem zweiten Zustand ist, wobei der erste Zustand
eine fehlerhafte Ausführung eines vorhergehenden Kommandos
und der zweite Zustand eine erfolgreiche Ausführung eines
vorhergehenden Kommandos anzeigt. Ergibt die Überprüfung,
dass der Indikator im ersten Zustand ist, wird der Fehlbedienungszähler
derart verändert, dass er eine zusätzliche fehlerhafte
Ausführung eines Kommandos anzeigt. Ergibt die Überprüfung
hingegen, dass der Indikator im zweiten Zustand ist, bleibt der
Fehlbedienungszähler unverändert. Das Verfahren
ist ferner derart ausgestaltet, dass der Indikator nach einer an schließenden
fehlerhaften Ausführung des Kommandos im ersten Zustand
ist und nach einer erfolgreichen Ausführung des Kommandos
im zweiten Zustand bleibt.
-
Dem
erfindungsgemäßen Verfahren liegt die Erkenntnis
zu Grunde, dass durch die Verwendung eines Indikators auf einfache
Weise angezeigt werden kann, ob ein vorhergehendes Kommando nach vorgegebenen
Kriterien erfolgreich oder nicht erfolgreich ausgeführt
wurde. In Abhängigkeit von dem Zustand des Indikators wird
dann der Fehlbedienungszähler gegebenenfalls verändert,
wobei nach einer vorhergehenden erfolgreichen Ausführung
eines Kommandos keine Veränderung des Fehlbedienungszählers
erforderlich ist. Auf diese Weise werden die Schreibvorgänge
zur Veränderung des Fehlbedienungszählers vermindert,
so dass das Verfahren zu einem deutlichen Zeitgewinn führt.
-
In
einer bevorzugten Variante des Verfahrens wird im Falle, dass die Überprüfung
des Indikators ergibt, dass dieser im ersten Zustand ist, der Fehlbedienungszähler
inkrementiert oder dekrementiert. Im Falle einer Inkrementierung
wird eine Ausführung eines Kommandos durch den Fehlbedienungszähler
nur zugelassen, wenn der Wert des Fehlbedienungszählers
kleiner als ein vorbestimmter Zählwert ist. Demgegenüber
wird bei einer Dekrementierung eine Ausführung eines Kommandos durch
den Fehlbedienungszähler nur zugelassen, wenn der Wert
des Fehlbedienungszählers größer als
ein vorbestimmter Zählwert ist. Die vorbestimmten Zählwerte
müssen dabei nicht mit dem vorgebbaren Schwellwert für
die Anzahl der fehlerhaften Kommandoausführungen übereinstimmen
und hängen insbesondere davon ab, mit welchem Wert der
Fehlbedienungszähler initialisiert wird.
-
In
einer besonders bevorzugten Variante des erfindungsgemäßen
Verfahrens wird eine Folge von Kommandos verarbeitet, wobei vor
der Ausführung des ersten Kommandos der Folge der Indikator
in dem ersten Zustand ist. Das bedeutet, dass zu Beginn des Verfahrens
bereits eine Veränderung des Fehlbedienungszählers
erfolgt, wodurch die Anzahl an maximal möglichen fehlerhaften
Ausführungen eines Kommandos vermindert werden kann.
-
In
einer besonders bevorzugten Ausführungsform wird in dem
erfindungsgemäßen Verfahren ein Fehlbedienungszähler
in einem nicht-flüchtigen Speicher des tragbaren Datenträgers,
beispielsweise in einem EEPROM, verwendet. Hierdurch bleibt die
Information über die Anzahl an Fehlbedienungen auch nach
der Verwendung des Datenträgers erhalten.
-
In
einer weiteren Ausführungsform wird als Indikator ein Flag
in einem flüchtigen Speicher des Datenträgers
(z. B. einem RAM) verwendet, wodurch eine besonders schnelle Ausführung
des erfindungsgemäßen Verfahrens erreicht wird.
Dabei kann das Flag einen ersten Zustand anzeigen, wenn es nicht gesetzt
ist, und einen zweiten Zustand, wenn es gesetzt ist. Ebenso kann
das Flag einen ersten Zustand anzeigen, wenn es gesetzt ist, und
einen zweiten Zustand, wenn es nicht gesetzt ist.
-
In
einer weiteren Ausgestaltung des erfindungsgemäßen
Verfahrens wird für zumindest einen Teil der Kommandos
nach einer Veränderung des Fehlbedienungszählers
der Indikator in den zweiten Zustand gesetzt und nur nach einer
fehlerhaften Ausführung des darauffolgenden Kommandos wird
der Indikator wieder in den ersten Zustand gesetzt. Auf diese Weise
wird sichergestellt, dass sich der Indikator nach der fehlerhaften
Ausführung des Kommandos im ersten Zustand und nach erfolgreicher
Ausführung des Kommandos im zweiten Zustand befindet. In
einer weiteren Variante wird dies dadurch gewährleistet,
dass für zumindest einen Teil der Kommandos nach einer
Veränderung des Fehlbedienungszählers der Indikator
in dem ersten Zustand verbleibt und nur nach einer erfolgreichen
Ausführung des Kommandos in den zweiten Zustand gesetzt
wird.
-
Eine Überprüfung
des Fehlbedienungszählers dahingehend, ob die Anzahl von
fehlerhaften Ausführungen von Kommandos den vorgebbaren Schwellenwert
erreicht hat, kann zu verschiedenen Zeitpunkten im Verfahren vorgenommen
werden. Insbesondere kann der Fehlbedienungszähler in dem
Zeitraum nach der erfolglosen Ausführung eines Kommandos
bis zur nächsten Überprüfung des Indikators
oder in dem Zeitraum nach dem Verändern des Fehlbedienungszählers
bis zur Ausführung des Kommandos überprüft
werden. Bei der Verwendung des letztgenannten Zeitraums wird die
Anzahl an erlaubten fehlerhaften Ausführungen eines Kommandos
vermindert. Nach der Überprüfung des Fehlbedienungszählers
wird das Verfahren beendet bzw. die Ausführung eines nachfolgenden
Kommandos verhindert, sofern der Fehlbedienungszähler anzeigt, dass
die Anzahl von vorhergehenden fehlerhaften Ausführungen
von Kommandos den vorgebbaren Schwellenwert erreicht hat.
-
Das
erfindungsgemäße Verfahren wird insbesondere für
Personalisierungskommandos verwendet, bei denen sicherheitsrelevante
personalisierte Daten verarbeitet werden. Dabei wird vorzugsweise
eine Folge von Personalisierungskommandos verarbeitet, wobei insbesondere
zumindest ein Personalisierungskommando, vorzugsweise das erste Kommando
der Folge, eine Authentisierung durch den Datenträger ist.
Bei der Ausführung der Authentisierung wird vorzugsweise
ein Authentisierungsschlüssel, beispielsweise ein symmetrischer
Schlüssel, verifiziert.
-
Neben
dem oben beschriebenen Verfahren umfasst die Erfindung ferner einen
tragbaren Datenträger, insbesondere eine Chipkarte, mit
einem Speicherbereich für einen Fehlbedienungszähler
und einem Speicherbereich für einen Indikator, wobei mit dem
Datenträger jede Variante des oben beschriebenen Verfahrens
durchführbar ist. Vorzugsweise ist dabei der Fehlbedienungszähler
in einem nicht-flüchtigen Speicher des Datenträgers
gespeichert. Demgegenüber ist der Indikator vorzugsweise
als Flag in einem flüchtigen Speicher des Datenträgers
realisiert.
-
Ausführungsbeispiele
der Erfindung werden nachfolgend anhand der beigefügten 1 detailliert beschrieben.
Diese Figur zeigt ein Ablaufdiagramm, welches die Ausführung
der Schritte einer Ausführungsform des erfindungsgemäßen
Verfahrens wiedergibt.
-
Die
nachfolgend beschriebene Ausführungsform des erfindungsgemäßen
Verfahrens wird am Beispiel einer modifizierten Personalisierung
einer sog. SECCOS-Chipkarte erläutert (SECCOS = Secure
Chip Card Operating System). Mit einer solchen Chipkarte können
personalisierte Transaktionen durchgeführt werden, wobei
zur Vermeidung von Missbrauch die Anzahl an erfolglos durchgeführten Personalisierungskommandos
mit einem Fehlbedienungszähler erfasst wird. Dieser kommandobezogene
Fehlbedienungszähler ist in der Regel im nicht-flüchtigen
Speicher der Chipkarte, beispielsweise in einem EEPROM, vorgesehen.
Bei herkömmlichen Chipkarten wird vor der Ausführung
eines aufgerufenen Personalisierungskommandos der Fehlbedienungszähler
dekrementiert und nach erfolgreicher Ausführung des Kommandos
wieder inkrementiert. Sobald der Wert des Fehlbedienungszählers
einen vorbestimmten Schwellwert erreicht hat, wird eine nochmalige
Ausführung eines Personalisierungskommandos nicht mehr
zugelassen. Auf diese Weise wird ein Ausspähen von Informationen
auf der Chipkarte durch beliebig häufiges Ausführen
von Personalisierungskommandos vermieden.
-
Die
Personalisierung mit herkömmlichen Chipkarten weist den
Nachteil auf, dass für jede erfolgreiche Ausführung
eines Personalisierungskommandos mindestens zwei Schreibvorgänge
in dem nicht-flüchtigen Speicher der Karte zur Dekrementierung
und Inkrementierung des Fehlbedienungszählers erforderlich
sind. Dieses mehrfache Schreiben im nicht-flüchtigen Speicher
nimmt eine beträchtliche Zeit während der Personalisierung
in Anspruch. Im Unterschied dazu wird in der nachfolgend beschriebenen
Ausführungsform der Erfindung ein Flag in einem flüchtigen
Speicher der Chipkarte zur Anzeige eines erfolgreichen bzw. erfolglosen
Personalisierungskommandos verwendet, wodurch auf einen zweimaligen
Schreibvorgang im nicht-flüchtigen Speicher der Karte bei
erfolgreicher Ausführung eines Personalisierungskommandos
verzichtet werden kann.
-
In
der hier beschriebenen Ausführungsform wird eine Folge
von Personalisierungskommandos ausgeführt, wobei in 1 die
für ein einzelnes Personalisierungskommando durchgeführten
Schritte wiedergegeben sind.
-
Gemäß Schritt
S1 der 1 wird ein entsprechendes Personalisierungskommando
aufgerufen. In dem Fall, dass dieses Kommando das erste Kommando
der Folge ist, ist das entsprechende Flag F im nicht gesetzten Zustand.
Wurden bereits zuvor Personalisierungskommandos durchgeführt,
ergibt sich der Zustand des Flags F aus der Verarbeitung des letzten
Personalisierungskommandos.
-
In
Schritt S2 der 1 wird zunächst überprüft,
ob das Flag F gesetzt ist. Ist dies der Fall (Zweig Y1), wird unmittelbar
das Personalisierungskommando in Schritt S3 durchgeführt,
wobei in dem Beispiel der 1 dieses
Kommando eine Authentisierung CMD ist. Sollte das Flag F nicht gesetzt
sein (Zweig N1), wird ein im nicht-flüchtigen Speicher
der Chipkarte vorgesehener Fehlbedienungszähler FBZ um
eins dekrementiert (Schritt S4), und anschließend wird
das Flag F gesetzt (Schritt S5). Da das Flag initial nicht gesetzt
ist, werden die Schritte S4 und S5 somit stets für das
erste Kommando aus der abzusichernden Folge von Kommandos ausgeführt. Schließlich
erfolgt auch die Authentisierung CMD gemäß Schritt
S3. Nach Ausführung des Schritts S3 wird in Schritt S6 überprüft,
ob die Authentisierung CMD erfolgreich war. Ist dieser der Fall
(Zweig Y2), wird gemäß Schritt S7 zu Schritt S1
zurückgegangen, d. h. es können nachfolgend weitere
Personalisierungskommandos durchgeführt werden. War die
Authentisierung CMD nicht erfolgreich (Zweig N2), wird das Flag
F in Schritt S8 gelöscht.
-
Das
Verfahren beinhaltet einen Überprüfungsschritt,
in dem der Wert des Fehlbedienungszählers FBZ mit einem
vorgegebenen Zählwert verglichen wird. Sollte der Wert
des Fehlbedienungszählers FBZ den vorgegebenen Zählwert
erreicht haben, wird hierdurch angezeigt, dass keine weitere Ausführung
eines Personalisierungskommandos mehr möglich ist. In 1 erfolgt
diese Überprüfung in Schritt S9, wobei das Verfahren
beendet wird, wenn der Fehlbedienungszähler den vorgegebenen
Zählwert erreicht hat.
-
Der
Schritt der Überprüfung des Fehlbedienungszählers
kann auch nach Ausführung des Schritts S4 oder S5 implementiert
sein. In diesem Fall wird in Schritt S9 immer zu Schritt S1 zurückgegangen.
Die Überprüfung des Fehlbedienungszählers nach
Schritt S4 bzw. S5 führt z. B. bei einer Initialisierung
des Fehlbedienungszählers vor dem erstmaligen Verarbeiten
eines Personalisierungskommandos mit dem Wert 3 und bei einem vorgegebenen
Zählwert von 0 dazu, dass bereits nach zweimaliger fehlerhafter
Ausführung eines Personalisierungskommandos keine weitere
Ausführung dieses Kommandos mehr möglich ist.
-
Wie
sich aus der vorangegangenen Beschreibung einer bevorzugten Ausführungsform
ergibt, wird die Anzahl der Schreibvorgänge in dem nicht-flüchtigen
Speicher einer Chipkarte deutlich reduziert, da eine erfolgreiche
Ausführung eines Personalisierungskommandos nicht mehr
zu einer Veränderung des Fehlbedienungszählers
führt. Die Beschreibung der obigen Ausführungsform
ist dabei lediglich beispielhaft, und es ist auch vorstellbar, dass der
Fehlbedienungszähler FBZ in Schritt S4 inkrementiert wird,
wobei Personalisierungskommandos nur dann zugelassen werden, wenn
der Wert des Fehlbedienungszählers kleiner als ein vorbestimmter Wert
ist. Ebenso kann die Abhängigkeit der Verfahrensschritte
vom Status des Flags umgekehrt sein, so dass ein gesetztes Flag
in Schritt S2 zur Ausführung von Schritt S4 führt
und eine nicht erfolgreiche Durchführung eines Personalisierungskommandos gemäß Zweig
N2 zum Setzen des Flags F in Schritt S8 führt.
-
Der
Ablauf gemäß 1 wird unabhängig von
einem Typ des Kommandos, beispielsweise eine Authentisierung (AUTHENTICATE)
oder ein Schreiben von Daten (UPDATE BINARY/PERSONALIZE), für
jedes Kommando der abgesicherten Folge von Kommandos ausgeführt.
Somit wird der Fehlbedienungszähler sowohl für
die Folge als Ganzes als auch für die einzelnen Kommandos
wirksam. Die Folge abgesicherter Kommandos umfasst zumindest zwei
unterschiedliche Kommandotypen.
-
Das
Flag F kann beispielsweise automatisch bei einem Neustart des tragbaren
Datenträgers in den nicht gesetzten Zustand versetzt werden.
Alternativ oder ergänzend hierzu kann das Flag in Antwort auf
ein vorbestimmtes Kriterium (beispielsweise ein Sicherheitszustand
oder ein Kommando wie ein Applikationswechsel (SELECT DF) oder ein
Absicherungskommando (START TRANSACTION)) in den nicht gesetzten
Zustand versetzt werden.
-
In
jeder abgesicherten Folge wird der Fehlbedienungszähler
durch das Verfahren initial einmal geändert. Mit jedem
Fehler eines Kommandos in der Folge wird der Fehlbedienungszähler
weiter geändert. Mehrere Kommandos in der Folge können
also fehlschlagen und den Fehlbedienungszähler weiter verändern,
ohne dass dabei die Folge von Kommandos abgebrochen werden müsste.
Vielmehr können fehlerhaft ausgeführte Kommandos
in der Folge erneut gesendet werden, bis sie erfolgreich ausgeführt werden
oder der Fehlbedienungszähler abgelaufen ist.
-
Das
vorliegende Verfahren kann vorteilhaft so ausgestaltet sein, dass
der Fehlbedienungszähler, auch nach erfolgreicher Ausführung
der gesamten Folge von abzusichernden Kommandos, nicht wieder zurückgesetzt
wird. Insbesondere für den Fall einer Folge von Personalisierungskommandos
ist ein Rücksetzen des Fehlbedienungszählers nicht
vorgesehen.
-
Als
abzusichernde Kommandos aus einer Folge von Kommandos können
nach einer Vorgabe alle Kommandos aus der Folge abgesichert werden. Alternativ
werden nur Kommandos abgesichert, die einem von zumindest zwei vorgegebenen
Kommandotypen entsprechen. Weiter alternativ oder ergänzend
werden die Kommandos der Folge abgesichert, die in einer vorgegebenen,
beispielsweise verschlüsselten, Form empfangen werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - WO 2004/046897
A1 [0004]
- - US 6711685 B1 [0005]