-
Die vorliegende Erfindung betrifft ein Verfahren zur Erkennung durch einen Benutzer eines tragbaren Datenträgers zur Erzeugung von elektronischen Signaturen, ob eine PUK bereits von einem Dritten ausgelesen wurde.
-
Für die Authentisierung des Benutzers gegenüber einer Chipkarte wird in der Regel ein Identifikationscode (persönliche Identifikationsnummer - PIN) verwendet, der gegen Angriffe Dritter durch einen Fehlbedienungszähler geschützt ist. Wenn der Fehlbedienungszähler, beispielsweise nach dreimaliger Eingabe einer falschen PIN, abgelaufen ist, wird die Funktionalität der PIN-Verifikation zur Benutzerauthentisierung gesperrt. Ein Zurücksetzen des Fehlbedienungszählers und somit ein Entsperren der PIN-Verifikation erfolgt, wenn der Chipkarte ein zweites Geheimnis in der Form eines Rücksetzcodes (PIN-Entsperrungsschlüssels - PUK) übermittelt wird.
-
Für die sichere Übermittlung der PIN und der PUK einer Chipkarte von einer Systemkomponente, beispielsweise dem Personalisierer der Chipkarte, zu dem Benutzer werden vorwiegend PIN-Briefe verwendet. Der Benutzer erhält von der entsprechenden Systeminstanz einen (PIN-)Brief, in welchem die PIN in einem besonders gesicherten Bereich (irreversibel zu öffnender Umschlag oder Rubbelfeld) enthalten ist.
-
Ein zum PIN-Brief alternativer Ansatz ist die Verwendung einer initialen PIN, die zusammen mit der Chipkarte ausgehändigt und, falls gewünscht, beibehalten wird. Ebenfalls bekannt ist es, dass eine PIN im Auslieferungszustand der Karte einen für alle Chipkarten im System gleichen Anfangswert (Defaultwert) enthält. Die Chipkarte kann dabei so gestaltet sein, dass sie vor der ersten Verwendung eines Objekts, das durch die betreffende PIN geschützt ist, die Änderung der PIN erzwingt.
-
Die zu einer PIN gehörige PUK wird dem Benutzer regelmäßig mit Hilfe eines PUK-Briefes mitgeteilt. Die PUK sollte jedoch theoretisch nur dem Benutzer zugänglich sein. Der Versender des PUK-Briefes, in der Regel der Personalisierer der Chipkarte, hat seine Arbeitsprozesse daher so anzupassen, dass die PUK möglichst keiner weiteren Person zugänglich ist.
-
DE 10 2005 009 867 A1 zeigt ein Verfahren zum Bereitstellen von elektronischen Zertifikaten zur Verwendung für elektronische Signaturen. Weiterhin ist aus der
WO 01/39143 A1 ein Verfahren und ein System zum Bestellen und Ausliefern von digitalen Zertifikaten bekannt. Darüber hinaus ist aus der
EP 0 999 528 A2 ein System und Verfahren zur sicheren Identifikation und Registrierung von Personen, insbesondere für die Herausgabe von personenbezogenen Berechtigungsmitteln wie einer digitalen Signaturkarte sowie eine für ein solches System geeignete Registriereinrichtung bekannt.
-
In
WO 00/69204 A1 wird vorgeschlagen, auf einer SIM-Karte eine dedizierte Applikation zur Ablaufsteuerung der Erstbenutzung vorzusehen, welche es ermöglicht dem Benutzer auf seinem mobilen Endgerät anzuzeigen, ob die SIM-Karte erstmalig benutzt wird. Die Applikation kann bei der Erstbenutzung der SIM-Karte die PIN an das mobile Endgerät senden, damit die PIN dem Benutzer angezeigt wird und folglich ein PIN-Brief vermieden werden kann. Es wird dadurch jedoch insgesamt eine Phase der Initialisierung durch den Benutzer vor der eigentlichen Benutzung der SIM-Karte erzwungen.
-
Es ist die Aufgabe der vorliegenden Erfindung ein Verfahren zur Erkennung durch einen Benutzer eines tragbaren Datenträgers zur Erzeugung von elektronischen Signaturen, ob eine PUK von einem Dritten bereits ausgelesen wurde, bereitzustellen.
-
Diese Aufgabe wird gelöst durch die Gegenstände der unabhängigen Patentansprüche. Die abhängigen Patentansprüche sind auf vorteilhafte Ausführungsformen der Erfindung gerichtet.
-
Eine PIN im Auslieferungszustand der Karte enthält einen kartenindividuellen Wert, der nach einer einfachen Regel ableitbar ist. Die Chipkarte kann dabei so gestaltet sein, dass sie vor der ersten Verwendung eines Objekts, das durch die betreffende PIN geschützt ist, die Änderung der PIN erzwingt.
-
Es ist ein Grundgedanke der vorliegenden Erfindung die vorhandenen Funktionen des Betriebssystems des tragbaren Datenträgers und/oder Abläufe auszunutzen, um für den Benutzer erkennbar zu machen, ob die PUK bereits zuvor von einem Dritten hätte ausgelesen werden können.
-
Im Folgenden werden Ausführungsbeispiele für die vorliegende Erfindung näher beschrieben.
-
Tragbare Datenträger im Sinne der vorliegenden Erfindung können insbesondere eine Chipkarte, eine SIM-Karte, ein USB-Token oder ähnliche benutzerbezogene sichere Datenträger sein.
-
Die Ausführungsbeispiele werden für eine Chipkarte beschrieben, die eine besonders sicherheitsrelevante Anwendung, vorzugsweise eine Signaturanwendung zur Erzeugung von elektronischen Signaturen, beispielsweise gemäß dem deutschen Signaturgesetz (SigG), umfasst. Neben der ersten sicherheitsrelevanten Anwendung können weitere Anwendungen auf der Chipkarte existieren.
-
Der Benutzer erhält die Chipkarte in einem Auslieferungszustand aus einem System zur Bereitstellung der individualisierten Chipkarten. Das System zur Bereitstellung der individualisierten Chipkarten umfasst insbesondere einen Personalisierer, der die individuellen Datenelemente in die Chipkarte speichert. Optional kann eine Zertifizierungsinstanz (CA) insbesondere zur Bereitstellung eines Zertifikats für den geheimen asymmetrischen Signaturschlüssel der Signaturanwendung in der Chipkarte in dem System vorgesehen sein.
-
Im nichtflüchtigen Speicher der Chipkarte werden für den Benutzer gespeichert: eine globale PIN zur Verwaltung der Chipkarte PIN_CH sowie eine PIN zur Freigabe von Signaturen PIN_SIG. Für diese beiden PINs sind auf der Chipkarte jeweils zugeordnete Entsperrcodes PUK_CH und PUK_SIG gespeichert. Sollte also für den Benutzer das Kommando „Verify PIN“ für eine der beiden PINs gesperrt sein, kann er mit Hilfe des Kommandos „Reset Retry Counter“ und der zugehörigen PUK den Fehlbedienungszähler der gesperrten PIN wieder zurücksetzen.
-
Beide PINs können als sogenannte Transport-PIN ausgestaltet sein, die vor ihrer ersten Verwendung geändert werden muss. Für die Chipkarte ist der Umstand, ob eine PIN eine Transport-PIN ist, beispielsweise an einem entsprechend gesetzten oder gelöschten Flag (Bit) in den Verwaltungsdaten der PIN erkennbar. Eine Änderung einer Transport-PIN kann in der Chipkarte beispielsweise dadurch erzwungen werden, dass für Transport-PINs die Verifikationsfunktion der PIN „Verify PIN“ gesperrt ist, aber ein Ändern der PIN „Change Reference Data“ möglich ist. In Antwort auf den Empfang eines Kommandos zum Ändern der PIN ändert die Chipkarte die entsprechende PIN und löscht ein entsprechendes Transport-PIN-Flag für die PIN.
-
In der Chipkarte ist die PUK_SIG zum Entsperren der PIN_SIG so abgespeichert, dass sie für den Benutzer zumindest einmalig auslesbar ist. Die Anzahl der Auslesevorgänge der PUK kann für den Benutzer auf verschiedenen Wegen begrenzt werden.
-
Um zu bestimmen, ob ein weiterer Auslesevorgang zulässig ist, überprüft die Chipkarte vorzugsweise einen im nichtflüchtigen Speicher gespeicherten Indikator. Als Indikator können beispielsweise ein Auslesezähler für den Speicherbereich, in welchem die PUK abgelegt ist, ein Bedienzähler einer PIN, die Länge der PIN, der Wert der PIN oder ein Änderungs-Flag (Transport-PIN-Flag) einer PIN dienen.
-
Eine Kopie der PUK kann für den Auslesevorgang in einer separaten Datei gespeichert sein. Somit kann der Zugriff auf die PUK für Auslesevorgänge entkoppelt werden von der (in einem nicht auslesbaren Speicherbereich / Datei gespeicherten) PUK und deren Verwendung im Rahmen einer PIN-Entsperrung.
-
Die Chipkarte kann erzwingen, dass die PUK_SIG vor der Verwendung der durch die PIN_SIG freizugebenden Signaturfunktion ausgelesen werden muss.
-
In einer ersten Ausführungsform wird die PUK_SIG dem Benutzer in Antwort auf ein Änderungskommando der PIN_SIG übertragen. Als Indikator, ob ein Auslesevorgang zulässig ist, dient das Datenelement, welches die Eigenschaft der PIN_SIG verwaltet, eine vor der Verwendung zu ändernde (Transport-)PIN zu sein. Das Datenelement kann beispielsweise ein gesetztes Flag (Bit) sein, das mit der ersten Änderung der PIN_SIG gelöscht wird.
-
In Antwort auf den Empfang eines Kommandos zum Ändern der PIN_SIG ändert die Chipkarte die entsprechende PIN_SIG. Wenn das Transport-PIN-Flag nicht mehr gesetzt ist, sendet die Chipkarte keine Antwortdaten, sondern meldet nur den entsprechenden Status, in der Regel also „90 00“ für den Status „Änderung erfolgreich durchgeführt“. Ist das Transport-PIN-Flag gesetzt, liest die Chipkarte den Entsperrcode PUK_SIG aus dem Speicher aus und überträgt die PUK_SIG als Antwortdaten auf das Änderungskommando der PIN_SIG.
-
Da der Benutzer gezwungen ist, die PIN_SIG vor ihrer Verwendung zu ändern, wird somit insbesondere erreicht, dass die PUK nach Aufnahme der funktionalen Verwendung der Chipkarte nicht mehr auslesbar ist.
-
In einer zweiten Ausführungsform wird die PUK_SIG dem Benutzer in Antwort auf ein Auslesekommando (für die PUK_SIG) übertragen. Im Folgenden werden verschiedene Ansätze beschrieben wie die Anzahl der Auslesevorgänge mit dem Auslesekommando begrenzt werden kann.
-
Gemäß einem ersten Ansatz löscht die Chipkarte die in seinem Speicher abgelegte PUK_SIG nach einem erfolgreichen Auslesevorgang der PUK_SIG. Das Löschen des Speicherbereichs der PUK_SIG sollte jedoch erst nach dem Empfang eines (unmittelbar) auf das Auslesekommando folgenden Kommandos erfolgen. Der Löschvorgang kann automatisch durch die Chipkarte - bei der Abarbeitung eines beliebigen Kommandos - oder durch ein Löschkommando ausgelöst werden.
-
Der Empfänger der PUK_SIG, also typischerweise ein PC oder ein mobiles Endgerät des Benutzers, sollte das auf das Auslesekommando folgende Kommando nicht absenden, bevor er eine entsprechende Rückmeldung des Benutzers erhalten hat. Die Rückmeldung zeigt dem Empfänger an, dass der Benutzer die ihm vom Empfänger dargestellte PUK_SIG wahrgenommen hat bzw. notiert hat. Es bestünde sonst die Gefahr, dass die PUK_SIG verloren geht, wenn beispielsweise die Chipkarte nach dem Löschen der PUK_SIG die Antwort in Form der PUK_SIG nicht mehr senden kann (Unterbrechung der Stromzufuhr), die gesendete PUK_SIG nicht mehr empfangen wird oder nicht mehr dem Benutzer angezeigt wird (PC-Problem).
-
Die PUK_SIG wird von der Chipkarte beispielsweise nur dann ausgelesen, wenn die PIN_SIG noch eine Transport-PIN ist. Die Chipkarte erzwingt somit, dass das Auslesekommando für die PUK_SIG vor der Verwendung der durch die PIN_SIG freizugebenden Signaturfunktion gesendet werden muss.
-
Gemäß einem zweiten Ansatz kontrolliert die Chipkarte die Anzahl der Zugriffe auf die in seinem Speicher abgelegte PUK_SIG durch einen Auslesezähler für diesen Speicherbereich. Der Entsperrcode PUK_SIG ist in einem separaten Datenelement EF_PUK als Kopie der eigentlichen PUK angelegt, da die eigentliche PUK innerhalb der Chipkarte in der Regel in einem nicht auslesbaren Bereich gespeichert ist.
-
Die Chipkarte sollte einen Auslesevorgang der PUK_SIG nur erlauben, wenn zuvor die PIN_SIG (oder eine andere PIN) geändert und/oder verifiziert wurde. Zudem sollte die entsprechende PIN_SIG oder PIN eine Transport-PIN sein, um dem Benutzer (mit Hilfe seiner PC-Software) die Möglichkeit zu geben, zu erkennen ob die PIN bereits geändert wurde und somit die PUK bereits zuvor von einem Dritten hätte ausgelesen werden können.
-
Gemäß einem dritten Ansatz begrenzt die Chipkarte die Anzahl der Auslesevorgänge mit Hilfe eines Indikators, der einer PIN zugeordnet ist. Als Indikator der PIN kann ein Verwendungszähler, der die Verifikationsaufrufe für die PIN verwaltet, oder ein Datenelement, das die Notwendigkeit einer Änderung der PIN vor deren Verwendung anzeigt (Transport-PIN-Flag), dienen. Als Indikator kann das Betriebssystem der Chipkarte ebenfalls die Länge der PIN verwenden. Beispielsweise kann die Chipkarte angepasst sein die Verifikation einer PIN, die weniger als 5 Stellen (Ziffern) hat, zu unterbinden und nur deren Änderung zuzulassen. Der Indikator kann der PIN_SIG, der PIN_CH oder eine nur für den Auslesevorgang der PUK angelegten weiteren PIN (Auslese-PIN) zugeordnet sein.
-
Der Indikator der entsprechenden Transport-PIN wird nicht bereits mit dem PIN-Änderungsbefehl geändert, sondern erst in Antwort auf den Auslesebefehl der PUK_SIG. Das Ändern des Indikators der PIN kann insbesondere auch erst nach dem Empfang eines (unmittelbar) auf das Auslesekommando folgenden Kommandos erfolgen.
-
Für alle bisher beschriebenen Ausführungsformen oder Varianten hiervon sind folgende weitere Ausgestaltungen denkbar. Auf der Chipkarte kann neben dem abzusichernden Datenelement PIN_SIG und der PUK_SIG eine weitere PIN (Auslese-PIN) vorgesehen sein, deren Eingabe zum Auslesen der PUK_SIG berechtigt. Zur Absicherung, dass die PUK_SIG nach Eingabe der Auslese-PIN nicht beliebig oft ausgelesen werden kann, sind die beschriebenen Ansätze einsetzbar. In einer ersten Variante ist die Auslese-PIN mit einem Bedienzähler versehen, der die Anzahl der Verifikationen der PIN begrenzt. In einer zweiten Variante ist wiederum der Entsperrcode PUK_SIG mit einem Auslesezähler versehen, der die Anzahl der Auslesevorgänge begrenzt. Ebenso kann auch die Auslese-PIN eine Transport-PIN sein, deren Transport-PIN-Flag vorzugsweise erst nach dem Empfang des Auslesekommandos gelöscht wird.
-
Weiterhin ist es möglich, die PUK_SIG auf zwei Datenelemente EF.PUK_CH und EF.PUK_CA aufzuteilen. Zum Entsperren der abzusichernden PIN benötigt der Karteninhaber nunmehr beide Teile der PUK. Die PUK setzt sich aus den hintereinander gefügten Teilen zusammen. Der Karteninhaber kann den ersten Teil der PUK aus dem entsprechenden Datenelement EF.PUK_CH auslesen und erhält den zweiten Teil, aus dem Datenelement EF.PUK_CA, welches nur die Zertifizierungsinstanz auslesen kann, beispielsweise in der Form eines „PUK“-Briefes von der Zertifizierungsinstanz.