-
GEBIET DER ERFINDUNG
-
Die Erfindung bezieht sich auf für Benutzer vertrauenswürdige Einheiten unter Verwendung einer PIN-geschützten Speicherkarte wie beispielsweise einer Smartcard, wie sie z. B. für Internet-Bankgeschäfte verwendet wird. Insbesondere bezieht sie sich auf eine sichere PIN-Verwaltung derartiger Einheiten.
-
HINTERGRUND DER ERFINDUNG
-
Sicherheitsprobleme mit PCs machen diese für viele Funktionen ungeeignet, da vom Benutzer eingegebene Daten von einem Angreifer gefälscht oder kopiert werden können. Transaktionen können geändert werden, um Gelder an ungewollte Empfänger zu senden oder ungewollte Waren zu bestellen, oder Benutzeranmeldedaten können kopiert werden, um Angreifern den Zugriff auf Systeme zu ermöglichen, wie sie z. B. für Internet-Bankgeschäfte benötigt werden.
-
Um einige dieser Probleme zu lösen, kann zusammen mit einem PC eine für Benutzer vertrauenswürdige Einheit (auch als „sichere Einheit” bezeichnet) verwendet werden. Eine derartige Lösung, der IBM Zone Trusted Information Channel (siehe Thomas Weigold, Thorsten Kramp, Reto Hermann, Frank Horing, Peter Buhler, Michael Baentsch, „The Zurich Trusted Information Channel – An Efficient Defence against Man-in-the-Middle and Malicious Software Attacks", in P. Lipp, A.-R. Sadeghi und K.-M. Koch (Hrg.): TRUST 2008, LNCS 4968, S. 75 bis 91, 2008), ermöglicht dem Benutzer, die zu einer Transaktion gehörigen Daten (bei einem Internet-Bankgeschäft z. B. der Betrag und Empfänger) zu überprüfen, bevor die Transaktion durch den Dienstanbieter (z. B. die Bank) ausgeführt wird. Die Transaktion wird auf der Einheit überprüft, die sicher ist und die überprüften Daten auf sichere Art und Weise an das nachgeschaltete System senden kann.
-
Um auf einen Internet-Dienst zuzugreifen, verfügt der Benutzer über Anmeldedaten, mit denen er sich gegenüber dem Dienst ausweist. Derartige Anmeldedaten werden mitunter auf einer Smartcard gespeichert. In diesem Fall verfügt die sichere Einheit über ein Smartcard-Lesegerät, um die Verwendung dieser Anmeldedaten zu ermöglichen. Um sicherzustellen, dass die Anmeldedaten ausschließlich durch die beabsichtigten Benutzer verwendet werden können, ist die Smartcard mit einer PIN geschützt. Die PIN bleibt somit geheim; wenn dies nicht der Fall wäre, könnte sie von einer anderen Person genutzt werden, um auf den Server zuzugreifen. Die Smartcard kann auch zu anderen Zwecken als dazu verwendet werden, die Identität von Benutzer für Internet-Transaktionen zu überprüfen. So kann dieselbe Karte z. B. zum Abheben von Bargeld an einem Bankautomaten verwendet werden. In derartigen Fällen muss die PIN der Karte sogar noch stärker geschützt werden.
-
In einer sicheren Einheit ist der Speicher in der Regel in einen dauerhaften (oder nichtflüchtigen) und einen vorübergehenden (auch als „nicht dauerhaft” oder „flüchtig” bezeichneten) Teil unterteilt. Ein dauerhafter Speicher behält die darauf gespeicherten Daten unabhängig von der Betriebsart der Einheit z. B. auch dann bei, wenn die Einheit „ausgeschaltet” ist oder die Haupt-Batterie entfernt wurde. Ein dauerhafter Speicher kann z. B. unter Verwendung eines Festwertspeichers (ROM), eines programmierbaren ROM, eines elektrisch löschbaren, programmierbaren ROM (EEPROM), unter Verwendung eines batteriegesicherten Direktzugriffsspeichers (SRAM) oder eines dynamischen Direktzugriffsspeichers (DRAM) realisiert sein. Ein vorübergehender Speicher behält die darauf gespeicherten Daten nur während des aktiven Betriebs der Einheit bei und wird in der Regel mit einem SRAM oder DRAM realisiert. Beim Ausführen einer Anwendung auf der Einheit wird üblicherweise ein Sicherungsvorgang durchgeführt, bei dem die Inhalte des vorübergehenden Speichers in dem dauerhaften Speicher gespeichert werden.
-
KURZE ZUSAMMENFASSUNG DER ERFINDUNG
-
Bei einer Ausführungsform stellt die vorliegende Erfindung ein Verfahren für eine sichere PIN-Verwaltung einer für Benutzer vertrauenswürdigen Einheit bereit, die über ein Datenverarbeitungsmittel verfügt, das mit einem dauerhaften Speicher, einem nicht dauerhaften Speicher und Schnittstellen für das Verbinden oder Zusammenwirken mit einem Benutzer, einer Speicherkarte wie z. B. einer Smartcard und einer Datenstation verbunden ist, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen der mit der Speicherkarte verbundenen Einheit; Empfangen in der Einheit: einer externen PIN und einer Karten-PIN, wobei letztere in der Lage ist, die Speicherkarte zu entsperren; Erzeugen und Speichern eines Schlüssels in dem dauerhaften Speicher über das Datenverarbeitungsmittel und aus den empfangenen PINs, so dass die Karten-PIN anhand einer Funktion, die in dem dauerhaften Speicher gespeichert ist, berechnet werden kann, wobei die externe PIN und der Schlüssel als Argument verwendet werden; Empfangen einer Benutzereingabe der externen PIN in der Datenstation und Übertragen der externen PIN an die Einheit, wobei die Einheit mit der Datenstation verbunden ist; und Anweisen des Datenverarbeitungsmittels, die Karten-PIN unter Verwendung der gespeicherten Funktion zu berechnen; und Verwenden der berechneten Karten-PIN, um die Speicherkarte zu entsperren.
-
Bei anderen Ausführungsformen kann das Verfahren eines oder mehrere der folgenden Merkmale umfassen:
- – die in der Einheit empfangene Karten-PIN wird direkt von einem Benutzer in die Einheit eingegeben, und die externe PIN wird vorzugsweise von dem Benutzer direkt in die Einheit eingegeben;
- – das Verfahren umfasst ferner die Schritte des Beibehaltens der empfangenen Karten-PIN in dem nicht dauerhaften Speicher nur nach dem Empfang in der Einheit; und des Löschens der Karten-PIN und der externen PIN aus dem nicht dauerhaften Speicher, nachdem der Schlüssel erzeugt wurde, wobei die externe PIN vorzugsweise nur in dem dauerhaften Speicher gespeichert wird;
- – die Schritte des Empfangens der Karten-PIN und der externen PIN, des Erzeugens und Speicherns des Schlüssels werden ausgeführt, falls erkannt wird, dass für die Speicherkarte, die mit der Einheit verbunden ist, kein Schlüssel gespeichert ist;
- – die Schritte des Erzeugens und Speichers des Schlüssels umfassen ferner das Speichern eines Markierungswerts, der angibt, dass in Zusammenhang mit der Karte ein Schlüssel in der Einheit gespeichert ist;
- – das Verfahren umfasst ferner die folgenden Schritte: Bereitstellen der mit einer anderen Karte verbundenen Einheit, die mit einer anderen Karten-PIN PIN-geschützt ist; Empfangen der anderen Karten-PIN in der Einheit; Erzeugen und Speichern eines anderen Schlüssels für die andere Speicherkarte in dem dauerhaften Speicher, so dass die andere Karten-PIN anhand der Funktion berechnet werden kann, wobei der andere Schlüssel und eine externe PIN als Argument verwendet werden;
- – das Verfahren umfasst ferner den folgenden Schritt: Erzeugen des anderen Schlüssels, so dass die andere Karten-PIN anhand der Funktion berechnet werden kann, wobei als Argument der andere Schlüssel und dieselbe externe PIN verwendet werden, wie sie zuvor für das Erzeugen und Speichern eines vorherigen Schlüssels verwendet wurden;
- – das Verfahren umfasst ferner den folgenden Schritt: Herstellen einer vertrauenswürdigen Verbindung zwischen einem Benutzer und mindestens einem Server über die Einheit und die Datenstation, bevorzugt unter Verwendung von Daten, die auf der ungesperrten Karte gespeichert sind;
- – die bereitgestellte Einheit verfügt über ein computergestütztes Verfahren, das in dem dauerhaften Speicher gespeichert ist, um über die Datenstation eine vertrauenswürdige Verbindung zwischen der Einheit und mindestens einem Server herzustellen, wenn die Datenstation mit dem Server verbunden ist, wobei das Verfahren ferner den folgenden Schritt umfasst: Auslösen des computergestützten Verfahrens für das Herstellen der vertrauenswürdigen Verbindung in der Einheit;
- – das Verfahren umfasst ferner die folgenden Schritte: Einrichten der Einheit über die Datenstation für eine Datenübertragung mit einem Server über eine nicht sichere Verbindung;
- – das computergestützte Verfahren für das Herstellen der vertrauenswürdigen Verbindung wird durch das erfolgreiche Entsperren der Karte ausgelöst;
- – das Verfahren umfasst ferner den folgenden Schritt: Überprüfen der Identität der Einheit gegenüber dem Server, indem die Datenübertragung, die über die nicht sichere Verbindung hergestellt werden soll, aktiviert wird und indem vorzugsweise eine SSL/TLS-Datenübertragung aktiviert wird; und
- – wobei der Schritt des Einrichtens der Einheit für eine Datenübertragung mit dem Server ferner umfasst, von der Einheit aus einen Proxy-Client, der sich auf der Datenstation befindet, zu starten, um über eine SSL/TLS-Datenübertragung eine Verbindung mit dem Server herzustellen; und wobei der Schritt des Überprüfens der Identität der Einheit gegenüber dem Server eine SSL/TLS-Identitätsüberprüfung mit dem Server umfasst.
-
Gemäß einem anderen Aspekt ist die Erfindung ferner als eine vertrauenswürdige Einheit realisiert, die über ein Datenverarbeitungsmittel verfügt, das mit einem nicht dauerhaften Speicher, einem dauerhaften Speicher und Schnittstellen für das Verbinden oder Zusammenwirken mit einem Benutzer, einer Speicherkarte wie beispielsweise einer Smartcard und einer Datenstation verbunden ist, und die für Folgendes ausgelegt ist: falls eine Speicherkarte, die mit einer Karten-PIN PIN-geschützt ist, mit ihr verbunden ist, Erkennen, ob ein Schlüssel für die Speicherkarte gespeichert ist, und, falls dies nicht der Fall ist: Empfangen sowohl einer externen PIN als auch der Karten-PIN, wobei letztere von dem Benutzer direkt in die Einheit eingegeben wird; Anweisen des Datenverarbeitungsmittels, aus der empfangenen externen PIN und der Karten-PIN einen Schlüssel zu erzeugen und in dem dauerhaften Speicher zu speichern, so dass die Karten-PIN anhand einer Funktion, die in dem dauerhaften Speicher gespeichert ist, berechnet werden kann, wobei die externe PIN und der Schlüssel als Argument verwendet werden; und andernfalls: Empfangen der externen PIN von einer Datenstation, die mit der Einheit verbunden ist; Anweisen des Datenverarbeitungsmittels, die Karten-PIN anhand der gespeicherten Funktion zu berechnen; und Entsperren der Speicherkarte mit der berechneten Karten-PIN.
-
Vorzugsweise umfasst die vertrauenswürdige Einheit ferner ein computergestütztes Verfahren, das in dem dauerhaften Speicher gespeichert ist, um eine vertrauenswürdige Verbindung zwischen der Einheit und mindestens einem Server herzustellen, indem die Einheit über die Datenstation für eine Datenübertragung mit dem Server über eine nicht sichere Verbindung eingerichtet wird, nachdem die Speicherkarte mit der berechneten Karten-PIN entsperrt wurde.
-
Im Folgenden werden Verfahren und Einheiten, welche die vorliegende Erfindung enthalten, als den Schutzbereich nicht einschränkende Beispiele und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
KURZE BESCHREIBUNG MEHRERER ANSICHTEN DER ZEICHNUNGEN
-
1 ist ein Ablaufplan einer übersichtsartigen Ausführungsform des Verfahrens gemäß der Erfindung;
-
2 ist ein Ablaufplan, der Operationen darstellt, wie sie während einer Initialisierungsphase bei einer Ausführungsform durchgeführt werden;
-
3 ist ein Ablaufplan, der Operationen darstellt, wie sie während einer Verwendungsphase gemäß einer Ausführungsform durchgeführt werden; und
-
4 ist gemäß einer konkreten Ausführungsform der Erfindung eine schematische Darstellung einer vertrauenswürdigen Einheit, die mit einer Datenstation und einem Server verbunden ist, um eine vertrauenswürdige Verbindung mit einem Server zu aktivieren.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Als Einführung in die folgende Beschreibung wird zunächst auf einen allgemeinen Aspekt der Erfindung verwiesen, der sich auf ein computerrealisiertes Verfahren für eine sichere PIN-Verwaltung einer für Benutzer vertrauenswürdigen Einheit bezieht. Anstelle der Verwendung der Karten-PIN wird von dem Benutzer an einer externen Datenstation (z. B. einem PC) eine externe PIN eingegeben, die anstelle der eigentlichen Karten-PIN verwendet wird. Während einer Initialisierungsphase verwendet die Einheit die externe PIN und die Karten-PIN, um einen Schlüssel zu erzeugen, mit dem später während einer Verwendungsphase die Karten-PIN abgerufen und die Karte entsperrt werden kann. Daraufhin kann z. B. eine vertrauenswürdige Verbindung mit einem Server aktiviert werden, die z. B. auf Benutzeranmeldedaten beruht, die auf der Karte gespeichert sind.
-
Im Einzelnen zeigen die 1 bis 3 Ablaufpläne, die eine gegebene Ausführungsform eines Verfahrens für eine sichere PIN-Verwaltung einer vertrauenswürdigen Einheit darstellen. 1 verweist sowohl auf 2 als auch auf 3, die sich auf eine Initialisierungsphase bzw. eine Verwendungsphase beziehen. Im Folgenden werden Ausführungsformen mit Blick auf die 1 bis 3 als Ganzes beschrieben.
-
Erstens wird davon ausgegangen, dass die vertrauenswürdige Einheit über ein Datenverarbeitungsmittel (z. B. eine Verarbeitungseinheit) verfügt, das in bekannter Weise sowohl mit dauerhaften als auch mit nicht dauerhaften Speichern verbunden ist. Sie besitzt ferner geeignete Schnittstellen für das Verbinden mit einer Speicherkarte, z. B. einer Smartcard, und einer Datenstation. Eine zusätzliche Schnittstelle ermöglicht das Zusammenwirken mit einem Benutzer.
-
Zweitens kann die Einheit, sobald sie mit einer Speicherkarte verbunden ist, entweder in eine Initialisierungsbetriebsart, Schritt S200, oder eine Verwendungsbetriebsart, Schritt S300, versetzt werden. Üblicherweise erkennt die Einheit die Karte. Wenn danach festgestellt wird, dass für die Karte noch kein Schlüssel gespeichert ist (Entscheidung SI02: NEIN), wird sie in eine Initialisierungsbetriebsart versetzt; andernfalls (Entscheidung SI02: JA) wird sie direkt in eine Verwendungsbetriebsart versetzt.
-
Wenn somit noch keine externe PIN registriert wurde, fährt der Aufgabenfluss mit 2 fort (Initialisierungszeit). Hier gibt der Benutzer zwei PINs ein, Schritte S201, S203: Eine davon ist die Karten-PIN (oder card_PIN), d. h. sie ist in der Lage, die Karte zu entsperren; die andere ist die externe PIN, die vorzugsweise in die externe Datenstation eingegeben wird (in den Zeichnungen als „ext_PIN” bezeichnet).
-
Aus Sicherheitsgründen wird die Karten-PIN von dem Benutzer vorzugsweise direkt in die Einheit eingegeben. Auch die externe PIN kann in die Einheit eingegeben werden, obwohl sie bei einer Variante auch in den PC eingegeben werden kann. Allerdings ist die Sicherheit umso höher, je weniger in den PC eingegeben wird.
-
Außerdem werden die Karten-PIN und die externe PIN nach dem Empfang in der Einheit vorzugsweise nur in dem nicht dauerhaften Speicher beibehalten. In diesem Fall werden die PINs während des Erzeugens des Schlüssels beibehalten und danach gelöscht, um so eine kurze Gefährdungsdauer sicherzustellen. Bei einer Variante wird die externe PIN für eine spätere Verwendung in dem dauerhaften Speicher gespeichert.
-
Im Allgemeinen können die beiden PINs in einer beliebigen Reihenfolge eingegeben werden. Vorzugsweise wird der Benutzer jedoch nach der Einführung der Karte zunächst aufgefordert, die Karten-PIN einzugeben (Schritt S201). Wenn die Eingabe erfolgreich war (d. h., wenn die Einheit die Karte entsperrt), wird der Benutzer dann aufgefordert, die externe PIN einzugeben. Die Aufforderung erfolgt z. B. auf der Einheit oder dem PC.
-
Drittens ermöglichen die empfangenen PINs das Erzeugen, Schritt S204, eines Schlüssels K über das Datenverarbeitungsmittel. Der Schlüssel wird daraufhin in dem dauerhaften Speicher der Einheit gespeichert. Er wird ferner so erzeugt, dass die Karten-PIN später über eine in dem dauerhaften Speicher gespeicherte Funktion f: card_PIN = f[K, ext_PIN), gespeichert werden kann, wobei f die externe PIN und den Schlüssel als Argument verwendet. Auf diese Weise kann die Karten-PIN als eine verschlüsselte Version der PC-PIN betrachtet werden.
-
Bei der Funktion f kann es sich einfach um eine EXKLUSIV-ODER-Verschlüsselung des Schlüssels und der ext_PIN handeln, wobei „XOR” der EXKLUSIV-ODER-Operator ist, der z. B. 1 ergibt, wenn der Wert des ersten oder des zweiten Bit 1 lautet. Wenn daher x XOR y = z, dann ist z XOR x gleich y. Somit ist es unmöglich, die Operation umzukehren, ohne den Ausgangswert eines der beiden Argumente zu kennen, so dass die Annahme, es handele sich um eine EXKLUSIV-ODER-Funktion nicht weiterhilft. Wenn jedoch entweder x oder y bekannt sind, ist die Operation umkehrbar. Wenn beispielsweise x XOR 1 den Wert 1 ergibt, dann ist x = 0, und wenn der Wert 0 lautet, dann ist x = 1. Entsprechend kann der Schlüssel K zunächst aus ext_PIN und card_PIN erzeugt werden. Wenn die verschlüsselte Zeichenfolge und der Schlüssel bekannt sind, kann danach korrekt entschlüsselt werden, so dass card_PIN – ausgehend von K und ext_PIN – später erhalten werden kann. Ohne K ist eine Entschlüsselung nur möglich, indem zufällige Schlüssel erzeugt werden und jeder einzelne von ihnen getestet wird. Je länger der Verschlüsselungsschlüssel, desto schwieriger ist er zu entschlüsseln. Aus Vollständigkeitsgründen kann die EXKLUSIV-ODER-Verschlüsselung einer PIN auch erhalten werden, indem der Schlüssel wiederholt auf aufeinanderfolgende Segmente (z. B. Ziffern) der PIN angewendet und die Ausgabe gespeichert wird.
-
Bei einer Variante können der Schlüssel und die externe PIN miteinander verknüpft werden, um einen anderen Schlüssel zu erzeugen, der z. B. zur Verschlüsselung der Karten-PIN verwendet wird.
-
Nach dem Erzeugen kann der Schlüssel dann zur späteren Verwendung in dem dauerhaften Speicher gespeichert werden. Die zuvor in dem nicht dauerhaften Speicher beibehaltene Karten-PIN kann nun gelöscht werden, Schritt S205. Die Karten-PIN befindet sich somit nur während einer kurzen Zeit in dem Speicher. Auch die externe PIN kann gelöscht werden (womöglich nachdem sie in dem dauerhaften Speicher gespeichert wurde, wie in der obigen Variante beschrieben).
-
Nunmehr ist die Einheit mit Blick auf die Karte, mit der sie verbunden wurde, PIN-personalisiert. Dabei kann z. B. ein Markierungswert gespeichert werden, der angibt, dass eine externe PIN nun in Zusammenhang mit der Karte in der Einheit registriert ist. Wenn später festgestellt wird, dass eine externe PIN für die Karte bereits registriert wurde (z. B. ausgehend von dem gespeicherten Markierungswert), kann die Einheit den Initialisierungsschritt überspringen. Stattdessen wechselt sie in eine Verwendungsbetriebsart, wie weiter unten mit Blick auf 3 erörtert wird.
-
Entsprechend werden, wenn die Einheit später mit einer anderen (ebenfalls PIN-geschützten) Karte verbunden wird, die PIN der neuen Karte und eine externe PIN wiederum verwendet, um einen neuen Schlüssel zu erzeugen. Somit kann die neue Karten-PIN später unter Verwendung derselben Funktion f berechnet werden, wobei der neue Schlüssel und die externe PIN als Argument verwendet werden.
-
Möglicherweise möchte der Benutzer immer dieselbe externe PIN verwenden: In diesem Fall muss er sie jedes Mal, wenn ein Schlüssel erzeugt werden muss, eingeben. Somit muss die externe PIN nicht in dem nicht dauerhaften Speicher gespeichert werden. Bei einer zuvor erwähnten Variante kann jedoch eine externe Bezugs-PIN in der Einheit gespeichert (d. h. verschleiert) werden, so dass der Benutzer nicht aufgefordert werden muss, eine neue externe PIN einzugeben. In diesem Fall würde es genügen, die PIN der neuen Karte einzugeben. Diese Variante wird jedoch nicht bevorzugt, da dann die Möglichkeit besteht, dass sowohl die externe PIN als auch der Schlüssel aus dem Speicher der Einheit gelesen werden und – sofern der Angreifer die Funktion kennt – zum Erzeugen der Karten-PIN verwendet werden.
-
Der Prozess kann für so viele Karten wie notwendig wiederholt werden.
-
Nach dem Verbinden der Einheit mit der Karte wird der Benutzer während der Verwendungsphase zuerst aufgefordert, die externe PIN einzugeben, Schritt S301. Die externe PIN wird vorzugsweise in die Datenstation eingegeben, was aufgrund der vermutlich besser geeigneten Schnittstelle zum Menschen in der Regel praktischer ist. Danach kann die externe PIN an die Einheit übertragen werden, wo sie vorzugsweise nur in dem nicht dauerhaften Speicher beibehalten wird.
-
Zweitens wird ein Datenverarbeitungsmittel in der Einheit angewiesen, die Karten-PIN zu berechnen (S302), wobei die Funktion f und der Schlüssel, der in Zusammenhang mit der Karte in dem dauerhaften Speicher gespeichert wurde, verwendet werden. Auch die Karten-PIN wird vorzugsweise nur in dem nicht dauerhaften Speicher beibehalten, Schritt S303.
-
Schließlich kann die (neu) berechnete Karten-PIN dazu verwendet werden, die Karte zu entsperren, Schritt S304.
-
Wenn der Benutzer seine externe PIN vergessen hat, kann bei einer Variante die Karten-PIN dennoch selbst dann direkt in die Einheit eingegeben werden, wenn sich die Einheit in einem PIN-personalisierten Zustand befindet. Indem anstelle der externen PIN die Karten-PIN in die Einheit eingegeben wird, übergeht die externe PIN die erneute Berechnung der Karten-PIN und führt zum Entsperren der Karte. Nach dem Eingeben der Karten-PIN in die Einheit wird der Benutzer vorzugsweise aufgefordert, eine neue externe PIN einzugeben, so dass ein neuer Schlüssel erzeugt werden kann.
-
Zu beachten ist, dass eine Anzahl von Varianten wie die oben beschriebenen vorteilhaft miteinander kombiniert werden können. So findet bei einer besonders vorteilhaften Ausführungsform z. B. Folgendes statt. Anfänglich verfügt die Einheit über keine Informationen zur Karten-PIN; sie ist noch nicht PIN-personalisiert. Wenn der Benutzer dann eine Smartcard in das Lesegerät der Einheit einführt, wird er aufgefordert, die Karten-PIN in die Einheit einzugeben. Wenn dies erfolgreich ist, wird der Benutzer aufgefordert, eine neue PIN, d. h. die externe PIN, einzugeben. Diese wird in den PC oder die Einheit eingegeben. Die Einheit führt dann eine Anzahl von Prüfungen mit Blick auf die externe PIN durch (z. B. überprüft sie, ob diese nicht mit der Karten-PIN identisch ist). Außerdem erzeugt die Einheit einen Schlüssel, so dass, falls die externe PIN und der Schlüssel vorliegen, die Karten-PIN unter Verwendung der Funktion f berechnet werden kann. Der Schlüssel wird dann in der Einheit gespeichert, und die Einheit befindet sich damit in einem so genannten PIN-personalisierten Zustand. Keine PIN wird dauerhaft in der Einheit gespeichert. Wenn der Benutzer als Nächstes die Smartcard in die (nun PIN-personalisierte) Einheit einführt, wird er aufgefordert, die externe PIN in den PC einzugeben. Die externe PIN wird an die Einheit weitergeleitet, die dann unter Verwendung der externen PIN und des Schlüssels die Karten-PIN berechnen kann. Wenn die externe PIN korrekt eingegeben wurde, berechnet die Einheit die korrekte Karten-PIN und entsperrt damit wie gewünscht die Karte des Benutzers. Wenn der Benutzer seine externe PIN vergessen hat, kann die Karten-PIN dennoch selbst dann direkt in die Einheit eingegeben werden, wenn sich die Einheit in einem PIN-personalisierten Zustand befindet. Dieselbe Vorgehensweise kann verwendet werden, um die externe PIN zu einem beliebigen Zeitpunkt zu ändern. Wenn der Benutzer über mehrere Smartcards verfügt, die mit einer einzigen Einheit verwendet werden können, kann die Einheit ermitteln, welche Karte eingeführt ist, und weiß damit, welcher Schlüssel zu verwendet ist, so dass die korrekte Karten-PIN berechnet wird. Dessen ungeachtet kann anstelle einer einzigen PIN pro Karte wie weiter oben erläutert eine einzige externe PIN verwendet werden.
-
Dabei ist zu beachten, dass das Eingeben einer externen PIN in den PC für den Benutzer häufig bequemer ist, als die Karten-PIN in die sichere Einheit einzugeben. Auch dies beeinträchtigt jedoch nicht die Sicherheit des Systems, da die Karten-PIN des Benutzers nicht preisgegeben wird und von einem Angreifer nicht berechnet werden kann (der Angreifer kennt zumindest nicht den Schlüssel für die Berechnung der Karten-PIN).
-
Wenn es einem Angreifer gelingt, die externe PIN zu stehlen, und wenn er die Funktion f kennt, führt ein gewaltsamer Angriff (brute-force attack) auf den Schlüssel (Erraten möglicher Schlüssel) zu einer großen Anzahl von in verhältnismäßiger klarer Form geschriebenen Texten, die der Angreifer Stück für Stück austesten müsste. Dies stellt jedoch kein Problem dar, da Smartcards nur eine sehr kleine Anzahl von Wiederholungsversuchen (z. B. 3 oder 5) zulassen, bevor die Kartenfunktion gesperrt wird.
-
Darüber hinaus kann die Funktion f so gewählt werden, dass sie ein gültiges Ergebnis für jeden vermuteten Schlüssel ergibt, wodurch ein derartiger Angriff in der Praxis unmöglich gemacht würde.
-
Nunmehr können Daten, z. B. auf der Karte gespeicherte Benutzeranmeldedaten, sicher auf geeignete Art und Weise verwendet werden. Insbesondere kann über die Datenstation und unter Verwendung derartiger Daten eine vertrauenswürdige Verbindung zwischen einem Benutzer (oder genauer gesagt der Einheit) und einem Server hergestellt werden, Schritt S305.
-
Genauer gesagt, die Einheit wird vorzugsweise mit einem computergestützten Verfahren bereitgestellt, das in dem dauerhaften Speicher gespeichert ist, um eine vertrauenswürdige Verbindung zwischen der Einheit und dem Server herzustellen (siehe S304).
-
Weitere Details hierzu werden mit Blick auf 4 erläutert, die eine schematische Darstellung einer vertrauenswürdigen Einheit zeigt, die mit einer Datenstation und einem Server verbunden ist.
-
Wie oben beschrieben, verfügt die sichere Einheit 10 über ein Datenverarbeitungsmittel 15, das mit dem nicht dauerhaften Speicher 15' und dem dauerhaften Speicher 15'' verbunden ist. Sie verfügt ferner über geeignete Schnittstellen 17, 20 für das Austauschen von Daten mit einer Speicherkarte 16 und einer Datenstation 30. Weitere Schnittstellen (wie die Steuerungstasten 18 und die Anzeige 12) ermöglichen das Zusammenwirken mit einem Benutzer 1.
-
Die Einheit ist ferner dafür ausgelegt zu erkennen, ob für die momentan verbundene Karte bereits ein Schlüssel gespeichert ist. Wenn dies nicht der Fall ist, fordert sie den Benutzer auf, sowohl die externe PIN als auch die Karten-PIN einzugeben. (Insbesondere) letztere wird über ein komfortables Eingabemittel 18, wie z. B. Tasten/Auswahlvorrichtungen direkt in die Einheit eingegeben. Ein Logikschaltkreis kann wiederum das Datenverarbeitungsmittel anweisen, den Schlüssel zu erzeugen und in dem dauerhaften Speicher 15'' zu speichern. Während der Verwendungsphase kann die Einheit dann die externe PIN von der Datenstation 30 empfangen, die Karten-PIN neu berechnen und somit die Karte entsperren.
-
Die Einheit 10 kann das auf ihr gespeicherte computergestützte Verfahren aufrufen, um eine vertrauenswürdige Verbindung mit dem Server 40 zu veranlassen. So kann sie z. B. nach dem Entsperren der Karte über die Datenstation 30 eine Datenübertragung 91 mit dem Server über eine nicht sichere Verbindung 92 herstellen. Die Identitätsüberprüfung der Einheit gegenüber dem Server erfolgt, während die Datenübertragung 91 über die nicht sichere Verbindung 92 aktiviert wird, z. B. indem eine SSL/TLS-Identitätsüberprüfung gegenüber dem Server aktiviert wird, wobei die auf der Karte gespeicherten Benutzeranmeldedaten verwendet werden. Auf diese Weise kann das Einrichten der Einheit für eine Datenübertragung mit dem Server vorteilhafterweise das Starten eines Proxy-Client, der sich in der Datenstation befindet, von der Einheit aus umfassen, so dass die Einheit über die Datenstation eine Verbindung mit dem Server herstellt (dabei ist zu beachten, dass sich der Proxy möglicherweise ebenfalls in der Einheit befinden kann). Der Proxy leitet von der Einheit empfangene Bits an das Internet weiter und umgekehrt. Die Identitätsüberprüfung der Einheit gegenüber dem Server kann z. B. in beide Richtungen erreicht werden, indem von der Einheit aus die SSL/TLS-Identitätsüberprüfung gegenüber dem Server aktiviert wird.
-
Somit wird ein SSL/TLS-Kanal zwischen dem Server und der Einheit eingerichtet. Sensible Benutzer-Server-Datenübertragungen durchlaufen die in den Pfad zwischen dem Server und dem Proxy eingehakte Einheit und werden von ihr verarbeitet. Die Einheit fängt den Datenübertragungsfluss ab. Sie kann z. B. fortlaufend ausgetauschte Daten auf sensible Operationen hin absuchen. Kritische Daten lassen sich somit für eine nachfolgende Anzeige auf der Einheit gewinnen.
-
Der Benutzer kann die angezeigten Daten entsprechend überprüfen. Nicht sensible Operationen werden dagegen über die Einheit an den PC weitergeleitet.
-
Zwischenzeitlich werden sensible persönliche Daten, die auf der Speicherkarte gespeichert sind (z. B. ein privater Schlüssel, wie er bei der SSL/TLS-Verschlüsselung verwendet wird), in der Einheit beibehalten. Private Daten werden vor einer Gewinnung und Vervielfältigung auf der Smartcard in der Einheit geschützt. Auf diese Weise wird eine vertrauenswürdige und fälschungssichere Datenübertragung am Einheits-Endpunkt erhalten.
-
Bezugnehmend insbesondere auf 4 kann die Einheit z. B. wie eine gängige USB-Einheit 10 aussehen und eine Verarbeitungseinheit 15 umfassen, die einen oder mehrere Prozessoren verwendet, und sowohl mit dem nicht dauerhaften Speicher 15' und dem dauerhaften Speicher 15'' verbunden sein. Der dauerhafte Speicher speichert geeigneten Code für das Erzeugen und Speichern des zuvor erwähnten Schlüssels. Die bei der Neuberechnung der Karten-PIN verwendete Funktion wird ebenfalls in dem dauerhaften Speicher gespeichert. Daneben wird Code gespeichert, der die Neuberechnung der Karten-PIN und die Entsperrung der Speicherkarte ermöglicht. Auf dem Speicher 15'' kann ferner ein Sicherheits-Software-Stapel gespeichert sein, der kryptografische Algorithmen beinhaltet, z. B. ein TLS-Modul 14 für die SSL/TLS-Identitätsüberprüfung. Das computergestützte Verfahren für das Herstellen einer vertrauenswürdigen Verbindung mit dem Server wird ebenfalls in dem dauerhaften Speicher gespeichert. Es kann ferner ausführbaren http-Parser-Code 11 (für die Analyse und damit Überprüfung von Daten), eine USB-Verwaltungs-Software (welche die USB-Massenspeichereinheit oder das MSD-Profil 20 realisiert) sowie unter Umständen einen vorgeladenen Netzwerk-Proxy wie oben erwähnt beinhalten. Wie bereits erwähnt, können auf der Speicherkarte (z. B. einer Smartcard 16) Benutzeranmeldedaten wie beispielsweise Client-Server-Zertifikate (z. B. X.509), welche die TLS-Client-Identitätsüberprüfung ermöglichen, gespeichert sein. Die Smartcard kann sensible persönliche Daten enthalten und über ein Verschlüsselungsmittel verfügen. Bei Varianten kann die Karte zwar nicht verschlüsseln, wird jedoch zur Abzeichnung sensibler Operationen verwendet. Die Einheit ist vorzugsweise mit einem Standard-Smartcard-Lesegerät 17 ausgestattet. Schließlich verfügt die Einheit über Steuerungstasten 18 (z. B. Auswahlmöglichkeiten für „OK”, „Abbrechen” usw.) und eine Anzeige 12, um sensible Daten anzuzeigen.
-
Der erforderliche Computerprogrammcode kann in einer höheren (z. B. prozeduralen oder objektorientierten) Programmiersprache oder, falls gewünscht, in einer Assembler- oder Maschinensprache realisiert sein; in jedem Fall kann es sich um eine kompilierte oder interpretierte Sprache handeln. Geeignete Prozessoren beinhalten beispielsweise sowohl Universal- als auch Spezial-Mikroprozessoren. Dabei ist zu beachten, dass Befehlsoperationen, welche die Einheit, die Datenstation oder der Server durchführen, in einem Computerprogrammprodukt gespeichert sein können, das konkret in einer maschinenlesbaren Speichereinheit enthalten ist, um durch einen programmierbaren Prozessor ausgeführt zu werden; des Weiteren können die Verfahrensschritte der Erfindung durch einen oder mehrere programmierbare Prozessoren durchgeführt werden, die Befehle ausführen, um die Funktionen der Erfindung durchzuführen. In jeden Fall umfasst die vorliegende Erfindung nicht nur die Einheit, sondern auch das Computersystem, erweitert durch eine Datenstation und mindestens einen Server.
-
Allgemeiner gesprochen, kann die obige Erfindung in Form von digitalen Elektronik-Schaltkreisen oder in Computer-Hardware, -Firmware, -Software oder in Kombinationen hiervon realisiert werden.
-
Generell empfängt ein Prozessor Befehle und Daten von einem Festwertspeicher und/oder einem Direktzugriffsspeicher. Zu Speichereinheiten, die für das konkrete Enthalten von Computerprogrammbefehlen und Daten geeignet sind, gehören alle Formen von nichtflüchtigen Speichern, z. B. Halbleiter-Speichereinheiten wie EPROMs, EEPROMs und Flash-Speichereinheiten, Magnetplatten wie interne Festplatten und Wechselplatten, magneto-optische Platten und CD-ROMs oder Ähnliches.
-
Obwohl die vorliegende Erfindung mit Blick auf bestimmte Ausführungsformen beschrieben wurde, weiß der Fachmann, dass verschiedene Änderungen vorgenommen und Entsprechungen ersetzt werden können, ohne vom Geltungsumfang der vorliegenden Erfindung abzuweichen. Darüber hinaus können viele Modifizierungen vorgenommen werden, um eine bestimmte Gegebenheit oder ein bestimmtes Material an die Lehren der vorliegenden Erfindung anzupassen, ohne dass dies eine Abweichung vom Geltungsumfang bedeuten würde. Die vorliegende Erfindung ist somit nicht als auf die bestimmte, hier offenbarte Ausführungsform begrenzt zu verstehen, sondern beinhaltet alle Ausführungsformen, die unter den Geltungsumfang der beigefügten Ansprüche fallen. So kann die Einheit z. B. beim Eingeben der Karten-PIN nicht notwendigerweise mit einem PC verbunden sein müssen, falls sie mit einer Batterie versehen ist.
-
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 Nicht-Patentliteratur
-
- Thomas Weigold, Thorsten Kramp, Reto Hermann, Frank Horing, Peter Buhler, Michael Baentsch, „The Zurich Trusted Information Channel – An Efficient Defence against Man-in-the-Middle and Malicious Software Attacks”, in P. Lipp, A.-R. Sadeghi und K.-M. Koch (Hrg.): TRUST 2008, LNCS 4968, S. 75 bis 91, 2008 [0003]