-
Die
Erfindung betrifft ein Verfahren zum Schutz von auf einem tragbaren
Datenträger gespeicherter Software sowie einen entsprechenden
tragbaren Datenträger.
-
Aus
dem Stand der Technik sind verschiedene Verfahren zum Schutz von
Software bekannt. Mit sog. Code-Verschleierungs-Techniken (englisch: Code
Obfuscation) wird aus einem lesbaren Programmcode eine schwerer
verständliche Version generiert, welche die Analyse des
Programmcodes durch einen Angreifer aufwändiger macht.
Hierdurch wird die Entwicklung von sog. Trojanern erschwert, welche
sich versteckt in Programme einschleusen und unerwünschte
Funktionen, wie z. B. das Ausspähen von geheimen Daten,
ausführen. Mit Hilfe dieser Verschleierungs-Techniken ist
die Analyse von Programmcode zwar schwerer, jedoch nicht unmöglich. Darüber
hinaus verändern Verschleierungs-Techniken nicht die aus
dem Programmcode generierte ausführbare Software, so dass
ein basierend auf dem verschleierten Programmcode entwickelter Trojaner eine
Gefahr für alle Rechner darstellt, auf denen die Software
verwendet wird.
-
In
dem Dokument
WO
2008/034900 A1 ist ein Verfahren zum Schutz eines Computerprogramms
gegen Schadprogramme beschrieben, bei dem individualisierte Kopien
der ausführbaren Software für unterschiedliche
Nutzer bzw. Nutzergruppen generiert werden. Die einzelnen Kopien
der Software führen die gleichen Operationen durch und
die Benutzerschnittstellen der Programme sind identisch. Mit jeder
Kopie kann lediglich eine einzige Ausgabe erzeugt werden, welche
für die unterschiedlichen Kopien der Software verschieden
ist. Dieses Verfahren ist mit erhöhtem Aufwand verbunden,
da durch den Softwarehersteller verschiedene Versionen der Software
erstellt und an die entsprechenden Benutzergruppen versendet werden
müssen.
-
In
dem Dokument
DE
10 2004 011 488 B4 ist ein Verfahren zum Schutz von Software
beschrieben, die zur Ausführung durch einen Prozessor eines
tragbaren Datenträgers vorgesehen ist. Es werden dabei individuelle
Konfigurationen der Software für jeden Datenträger
bzw. für Gruppen von Datenträgern erstellt, wobei
die Funktion der Software für die individuellen Konfigurationen
erhalten bleibt.
-
In
dem Dokument
EP 1 722
336 A2 ist ein Verfahren zur Erzeugung von Initialisierungsdaten
für Sicherheitsdatenträger beschrieben, bei dem
ein USB-Token die Initialisierungsdaten mit Hilfe von auf dem Token
hinterlegten Geheimdaten erzeugt und an einen Personalcomputer übermittelt.
-
Aufgabe
der Erfindung ist es, den Schutz von auf einem tragbaren Datenträger
gespeicherten Software im Vergleich zu dem aus dem Stand der Technik bekannten
Verfahren weiter zu verbessern.
-
Diese
Aufgabe wird durch das Verfahren gemäß Patentanspruch
1 bzw. den tragbaren Datenträger gemäß Patentanspruch
14 gelöst. Weiterbildungen der Erfindung sind in den abhängigen
Ansprüchen definiert.
-
Durch
das erfindungsgemäße Verfahren wird auf einem
tragbaren Datenträger gespeicherte Software geschützt.
Der Datenträger kann dabei beliebig ausgestaltet sein,
insbesondere kann es sich um eine Chipkarte, wie z. B. eine Smartcard,
einen Token, insbesondere einen USB-Token, und jede beliebige andere
Bauform eines tragbaren Datenträgers handeln. Die zu schützende
Software ist dabei derart ausgestaltet, dass bei Aufruf der Software
durch ein Endgerät, auf welches die Software kopiert ist
bzw. welches beim Aufruf mit dem tragbaren Datenträger
kontaktgebunden und gegebenenfalls auch kontaktlos verbunden ist,
ein Programm ausgeführt wird, welches eine Benutzerschnittstelle
auf dem Endgerät zur Eingabe und gegebenenfalls auch Ausgabe
von Daten erzeugt. Die Benutzerschnittstelle wird dabei auf einer
entsprechenden Ausgabeeinheit, insbesondere einem Display, des Endgeräts
mit Hilfe der Software generiert. Das Endgerät kann auch
beliebig ausgestaltet sein, insbesondere kann es sich um einen Personalcomputer,
ein Mobiltelefon, ein PDA und dergleichen, handeln.
-
Das
erfindungsgemäße Verfahren zeichnet sich dadurch
aus, dass die Software auf dem tragbaren Datenträger derart
modifiziert wird, dass bei Aufruf der modifizierten Software ein
modifiziertes Programm ausgeführt wird, bei dem die Benutzerschnittstelle
auf dem Endgerät im Vergleich zu dem bei Aufruf der unmodifizierten
Software ausgeführten Programm unter Beibehaltung der Funktionalität
des Programms verändert ist. Vorzugsweise wird die Modifikation
der Software dabei durch den Datenträger selbst, beispielsweise
mittels eines entsprechenden Prozessors auf dem Datenträger,
durchgeführt.
-
Vorzugsweise
erfolgt das Erstellen der modifizierten Software wiederholt in zeitlichen
Abständen, insbesondere in vorgegebenen zeitlichen Abständen (z.
B.: stündlich, täglich, wöchentlich,
...) und/oder in Antwort auf ein vorgegebenes Ereignis ((jeder)
Aufruf der Software, jeder x-te Aufruf der Software, Neustart des
Datenträgers, ...).
-
Die
erzeugte modifizierte Software kann hierbei sowohl auf einer zuvor
erstellten modifizierten Software basieren als auch auf der ursprünglichen, unmodifizierten
Software. Insbesondere ist es möglich, dass die ursprüngli che,
unmodifizierte Software auf dem tragbaren Datenträger nicht
in ausführbarer Form, sondern einer Vorstufe davon, beispielsweise als
Quelltext oder in einem Zwischencode vorliegt. Erst im Rahmen der
Herstellung der modifizierten Software wird aus dem Quelltext oder
dem Zwischencode die ausführbare Software generiert.
-
Erfindungsgemäß wird
somit die ausführbare Software, welche beispielsweise als
ausführbare Datei vorliegt, derart verändert,
dass eine Änderung der Benutzerschnittstelle auftritt.
Dabei wird jedoch die Funktionalität des Programms beibehalten.
Insbesondere wird sichergestellt, dass auch bei der veränderten
Benutzerschnittstelle immer noch die gleichen Daten zur Eingabe
durch den Benutzer abgefragt werden und gegebenenfalls auch immer
die gleichen Ausgaben über die Benutzerschnittstelle generiert werden.
Durch die Veränderung der Benutzerschnittstelle wird ein
effektiver Schutz gegen solche Schadsoftware erreicht, bei der Eingaben
des Benutzers ausgespäht werden.
-
In
einer bevorzugten Variante ist die veränderte Benutzerschnittstelle
aus Sicht des Benutzers als nicht oder nur geringfügig
verändert erkennbar. Erfindungsgemäß ist
es ausreichend, wenn die Benutzerschnittstelle aus Sicht einer Schadsoftware
so weit verändert erscheint, dass ein Angriff zumindest deutlich
erschwert wird.
-
Vorzugsweise
ist die Software in einem öffentlichen Speicherbereich
des tragbaren Datenträgers, auf welchen mit dem Datenträger
verbundene Geräte Zugriff haben, gespeichert, wobei die
Software durch ein Modifikationsprogramm verändert wird, dessen
Software in einem gesicherten Speicherbereich des tragbaren Datenträgers,
auf welchen mit dem Datenträger verbundene Geräte
keinen Zugriff haben, abgelegt ist. Auf diese Weise wird ein besonders
hoher Schutz der Software erreicht, da das entsprechende Programm
zur Modifikation der Software nicht problemlos ausgelesen und analysiert
werden kann. Dieser Schutz kann nochmals weiter dadurch verbessert
werden, dass das Modifikationsprogramm durch einen gegen externe
Zugriffe gesicherten Prozessor des tragbaren Datenträgers
modifiziert wird.
-
In
einer besonders bevorzugten Variante des erfindungsgemäßen
Verfahrens wird eine durch die Software generierte Benutzeroberfläche
der Benutzerschnittstelle des Endgeräts derart verändert,
dass die Eingabereihenfolge von Daten und/oder die Positionierung
von einem oder mehreren Eingabefeldern verändert wird.
Dadurch wird insbesondere Schutz vor Trojanern erreicht, welche
eine graphische Benutzeroberfläche bzw. Eingaben des Benutzers
auf der Oberfläche, insbesondere Tastenanschläge, Mausklicks
und -bewegungen und gegebenenfalls Zeitabläufe, ausspionieren
und/oder manipulieren.
-
In
einer besonders bevorzugten Variante des erfindungsgemäßen
Verfahrens wird bei Aufruf der modifizierten Software ein modifiziertes
Programm ausgeführt, bei dem ferner eine oder mehrere interne Parameter
des Programms im Vergleich zu dem bei Aufruf der unmodifizierten
Software ausgeführten Programm unter Beibehaltung der Funktionalität
des Programms verändert werden. Die internen Parameter
können insbesondere interne Datenstrukturen, wie z. B.
die Ablage von Daten in einem vom Programm verwendeten Speicher,
und/oder ein oder mehrere Schlüssel zur Datenverschlüsselung und/oder
ein oder mehrere Codierungen zur Datencodierung und/oder den internen
zeitlichen Ablauf des Programms betreffen. Beispielsweise kann das Programm
aus verschiedenen Teilen bestehen, wobei jeder Teil parametrisiert
ist, um hierdurch variable, durch die Modifikation der Software
veränderbare Datenstrukturen zuzulassen. Die variablen
Datenstrukturen können beispielsweise nach jeder Softwaremodifikation
in einem anderen Layout im Speicher abgelegt werden, beispielsweise
kann die Reihenfolge der Felder eines „typedef” variiert
werden. Die Daten können gegebenenfalls auch beliebig im vom
Programm verwendeten Speicher verstreut werden. Beispielsweise können
die Zeichen von Text nicht in aufeinander folgenden Speicherstellen
abgelegt sein, sondern an zufallsgenerierten Speicherplätzen.
Ebenso kann das Stack-Layout durch die Softwaremodifikation verändert
werden. Bei Bytecode-Programmen kann dies durch Umordnen/Umorganisieren
des Bytecodes geschehen.
-
In
einer besonders bevorzugten Variante des erfindungsgemäßen
Verfahrens ermöglicht das bei Aufruf der Software ausgeführte
Programm eine Kommunikation zwischen dem Endgerät und dem tragbaren
Datenträger, d. h. es wird eine Kommunikation-Schnittstelle
zwischen Endgerät und Datenträger hergestellt.
Dabei sind ein oder mehrere interne Parameter der Kommunikation
im Vergleich zu dem bei Aufruf der unmodifizierten Software ausgeführten Programm
verändert. Insbesondere sind ein oder mehrere, bei der
Kommunikation zwischen dem Endgerät und dem Datenträger
verwendete Sitzungsschlüssel zur Verschlüsselung
von übertragenen Daten und/oder Codierungen zur Codierung
von übertragenen Daten verändert. Ebenso kann
die Übertragungsreihenfolge der bei der Kommunikation zwischen
dem Endgerät und dem tragbaren Datenträger übertragenen
Daten verändert werden. Dabei kann der tragbare Datenträger
bei der Erzeugung der modifizierten Software die nötigen
Algorithmen einfach in den Softwarecode hineinbauen, beispielsweise
in der Form von Codierungs- bzw. Decodierungstabellen und/oder von
parametrisierbaren Algorithmen oder auch mit Hilfe von hartcodierten
Algorithmen, bei denen die Parameter bei der Compilierung in der Software
erzeugt werden. Durch die Variation von entsprechenden internen
Parametern in Bezug auf die Kommunikation zwischen tragbarem Datenträger und
Endgerät wird der Schutz der Software nochmals verbessert,
da eine Schadsoftware zum Echtzeitangriff auf die während
der Ausführung des Programms stattfindenden Kommunikation
zwischen Endgerät und Datenträger gezwungen ist.
-
Um
den Aufruf der Software nur für einen vorbestimmten Benutzer
bzw. Nutzerkreis sicherzustellen, fragt das bei Aufruf der Software
ausgeführte Programm in einer weiteren Ausführungsform
der Erfindung eine Benutzerkennung und/oder einen Geheimcode (z.
B. einen PIN) über die Benutzerschnittstelle ab. Nur bei
zulässiger Benutzerkennung bzw. zulässigem Geheimcode
wird dann die weitere Programmausführung fortgesetzt.
-
In
einer besonders bevorzugten Ausführungsform des erfindungsgemäßen
Verfahrens wird die Software nach einem Aufruf, insbesondere nach jedem
Aufruf, auf dem tragbaren Datenträger modifiziert. Hierdurch
wird eine besonders hohe Sicherheit erreicht, da die Verwendung
einer Software nur einmal zulässig ist. Somit können
die durch eine entsprechende Analyse ermittelten Informationen zu dem
gerade ausgeführten Programm nicht noch einmal für
eine erneute Ausführung des Programms verwendet werden.
-
In
einer weiteren Ausgestaltung des erfindungsgemäßen
Verfahrens wird die Software nach Ablauf eines vorbestimmten Zeitraums
nach ihrer Modifikation ungültig. Hierdurch wird sichergestellt, dass
eine Software nicht unverhältnismäßig
lange gültig bleibt.
-
In
einer weiteren Variante der Erfindung besteht ferner die Möglichkeit,
dass die Software mehrere Male hintereinander modifiziert wird und
die modifizierten Softwareversionen auf dem tragbaren Datenträger
gespeichert werden. Hierdurch wird sichergestellt, dass auf dem
tragbaren Datenträger im mer ausreichend viele modifizierte
Softwareversionen zum Aufruf vorhanden sind.
-
In
einer besonders bevorzugten Ausführungsform dient die auf
dem Datenträger gespeicherte Software zur Ausführung
eines Transaktionsprogramms zur Eingabe von Transaktionsdaten, insbesondere
von bankgeschäftlichen Transaktionsdaten. Die Transaktionsdaten
werden dabei über die Benutzerschnittstelle des Programms
eingegeben, wobei die eingegebenen Transaktionsdaten durch das Programm
von dem Endgerät an den tragbaren Datenträger übermittelt
werden. Die übermittelten Transaktionsdaten werden dann
mittels des gerade ausgeführten Transaktionsprogramms oder
in einem separaten Übermittlungsschritt an einen Server über
eine gesicherte Ende-zu-Ende-Verbindung zwischen dem tragbaren Datenträger
und dem Server gesendet. Die Datenübermittlung an den Server
kann somit ein Teil des ausgeführten Programms sein oder
in einem separaten Übermittlungsschritt durchgeführt
werden. Bei der gesicherten Ende-zu-Ende-Verbindung nimmt das Endgerät
lediglich eine Weiterleitungsfunktion ein und kann die übermittelten
Daten nicht manipulieren. Vorzugsweise ist die gesicherte Verbindung
dabei eine gesicherte Internetverbindung.
-
Neben
dem oben beschriebenen Verfahren betrifft die Erfindung ferner einen
tragbaren Datenträger, insbesondere einen Token, beispielsweise
einen USB-Token, oder eine Chipkarte, beispielsweise eine Smartcard.
Auf dem Datenträger ist Software gespeichert, wobei bei
Aufruf der Software durch ein Endgerät ein Programm ausgeführt
wird, welches eine Benutzerschnittstelle auf dem Endgerät
zur Eingabe von Daten erzeugt. Der tragbare Datenträger
ist dabei derart ausgestaltet, dass durch den tragbaren Datenträger
die Software in zeitlichen Abständen derart modifiziert
wird, dass bei Aufruf der modifizierten Software ein modifiziertes
Programm ausgeführt wird, bei dem die Benutzerschnittstelle
auf dem Endgerät im Vergleich zu dem bei Aufruf der unmodifizierten
Software ausgeführten Programm unter Beibehaltung der Funktionalität
des Programms verändert ist. Mit dem erfindungsgemäßen
Datenträger ist vorzugsweise jede Variante des oben beschriebenen Verfahrens
durchführbar.
-
Ein
Ausführungsbeispiel der Erfindung wird nachfolgend anhand
der beigefügten 1 detailliert erläutert. 1 zeigt
dabei den Ablauf eines Transaktionsprogramms zur Ausführung
einer bankgeschäftlichen Transaktion, wobei die Software
dieses Programms basierend auf einer Ausführungsform des
erfindungsgemäßen Verfahrens verändert
wird.
-
Im
nachfolgend beschriebenen Verfahren wird ein Transaktionsprogramm
durchgeführt, welches auf Software basiert, die in einem
tragbaren Datenträger in der Form eines USB-Tokens 1 gespeichert
ist. Die Software ist dabei auf dem Token in einem öffentlichen
Speicherbereich gespeichert, der bei Anschluss des Tokens an einem
entsprechenden Endgerät über ein Dateiverwaltungsprogramm
für einen Benutzer sichtbar ist. Ferner enthält
der USB-Token 1 einen geheimen Speicherbereich, der bei
Anschluss des Tokens an ein Endgerät nicht eingesehen werden
kann. Dieser geheime Speicherbereich enthält eine versteckte
Software in der Form eines Modifikationsprogramms, welches die Software
des Transaktionsprogramms im öffentlichen Speicherbereich
verändern kann, wie nachfolgend noch näher erläutert
wird. Darüber hinaus beinhaltet der Token 1 einen
gegen externe Zugriffe gesicherten Prozessor sowie einen entsprechenden
RAM-Speicher mit einigen Kilobyte Speicherkapazität. Die
versteckte Software wird dabei durch den Prozessor ausgeführt.
-
Zur
Durchführung einer Transaktion mit dem Token 1 schließt
ein Benutzer den Token an dem gerade von ihm verwendeten Endgerät
an, welches in der Ausführungsform der 1 ein
PC 2 ist. Zunächst ruft der Benutzer in einem
Schritt S1 das Dateisystem auf dem Token auf, d. h. der Benutzer betrachtet
mit einem entsprechenden Dateiverwaltungsprogramm des auf dem PC
installierten Betriebssystems die Dateistruktur des Tokens. Für
den Benutzer wird dabei der öffentliche Speicherbereich des
Tokens sichtbar. Die entsprechende Software für das Transaktionsprogramm
liegt in diesem Speicherbereich als ausführbare Datei mit
der Endung.exe vor, wobei diese Datei im Folgenden auch als exe-Datei
bezeichnet wird. Die Anzeige der exe-Datei ist in 1 durch
Schritt S2 angedeutet.
-
Anschließend
startet der Benutzer in Schritt S3 diese exe-Datei, beispielsweise
mit einem Doppelklick durch die am PC 2 angeschlossene
Computermaus. Nach Start der exe-Datei wird diese an den PC 2 im
Schritt S4 übertragen. In der hier beschriebenen Ausführungsform
des erfindungsgemäßen Verfahrens wird die exe-Datei
durch das Auslesen vom Token für eine nochmalige Ausführung
ungültig und der Token erstellt eine neue exe-Datei, wie
in 1 durch Schritt S5 angedeutet ist. Die Erstellung der
neuen exe-Datei wird dabei mittels der versteckten Software im geheimen
Speicherbereich des Tokens durchgeführt.
-
Die
modifizierte Software in der Form der neuen exe-Datei enthält
dabei ein Transaktionsprogramm mit derselben Funktionalität
wie das Programm gemäß der alten exe-Datei, jedoch
wird eine durch das Programm auf dem Bildschirm des PC 2 erzeugte
Benutzeroberfläche, welche im Folgenden noch näher
erläutert wird, modifiziert. Dennoch bleibt die Funktion
der Benutzeroberfläche dahingehend erhalten, dass im Vergleich
zu der unmodifizierten Software die gleichen Parameter von dem Benutzer abgefragt
werden. Dar über hinaus sind in der neuen exe-Datei vorzugsweise
auch interne, sich nicht in einer veränderten Benutzerschnittstelle äußernde
Parameter des Programms verändert, wobei diese internen
Parameter insbesondere verwendete Sitzungsschlüssel für
die durch das Programm hergestellte Kommunikationsschnittstelle
zwischen PC 2 und Token 1 betreffen, wie weiter
unten noch näher erläutert wird.
-
Nach
der Übertragung der exe-Datei auf den PC werden in einem
Schritt S6, der optional ist und gegebenenfalls auch weggelassen
werden kann, eine entsprechende Benutzerkennung und eine PIN (PIN
= Personal Identification Number) abgefragt, welche dem entsprechenden
Token zugeordnet ist. Hierdurch wird eine unberechtigte Nutzung
des Tokens durch einen unbefugten Dritten vermieden. Die Benutzerkennung
und die PIN werden dabei von dem Benutzer über eine entsprechende
Benutzeroberfläche eingegeben, welche durch das Starten
der exe-Datei auf dem Bildschirm des PC 2 generiert wird.
In Schritt S7 werden die Kennung und die PIN an den Token übermittelt
und dort mit einer entsprechenden, im Token hinterlegten Kennung
und PIN verglichen. Stimmen Kennung und PIN auf dem Token mit der
eingegebenen Kennung und der eingegebenen PIN überein,
hat sich der Benutzer erfolgreich für den Token authentifiziert,
und in Schritt S8 wird eine Bestätigung der Authentifizierung
an den PC 2 zurückgeschickt.
-
In
Schritt S9 gibt dann der Benutzer entsprechende Transaktionsdaten
zur Ausführung einer bankgeschäftlichen Transaktion
ein, beispielsweise eine Bankverbindung und einen Geldbetrag zur Durchführung
einer Überweisung. Die zur Eingabe verwendete und durch
das Transaktionsprogramm generierte Benutzeroberfläche
verändert sich dabei nach jeder Modifikation der exe-Datei.
Insbesondere können die Eingabereihenfolge von entsprechenden Daten
sowie das gesamte Layout der Benutzeroberfläche, d. h.
die Positionierung entsprechender Eingabefelder auf dem Bildschirm
des PCs, verändert werden. Auf diese Weise wird ein effektiver
Schutz vor Schadsoftware in der Form von Trojanern erreicht, welche
die Benutzeroberfläche und entsprechende Tastatureingaben
des Benutzers in Eingabefelder der Benutzeroberfläche ausspionieren und/oder
manipulieren.
-
In
einem Schritt S10 werden schließlich die eingegebenen Transaktionsdaten
an den Token 1 übermittelt. Schließlich
wird in Schritt S11 eine gesicherte Verbindung zwischen dem Token 1 und
einem Server 3 aufgebaut, wobei dieser Server ein Bankserver
zur Verarbeitung entsprechender Transaktionsdaten ist. Der Aufbau
der sicheren Verbindung erfolgt dabei über das Internet,
wobei hierzu der PC 2 über eine entsprechende
Internetverbindung verfügt. Die Verbindung ist eine verschlüsselte
Ende-zu-Ende-Verbindung zwischen Token 1 und Server 3 über entsprechende
Protokolle, wobei der PC 2 bei dieser Verbindung lediglich
als Weiterleitungsknoten fungiert und die übertragenen
Daten nicht manipulieren kann.
-
Nach
Aufbau der sicheren Verbindung in Schritt S11 werden schließlich
die auf dem Token hinterlegten Transaktionsdaten an den Bankserver 3 in Schritt
S12 übermittelt, der schließlich im Schritt S13 die
Transaktion zur Durchführung des Bankgeschäfts ausführt.
Anschließend wird die Ausführung der Transaktion
im Schritt S14 von dem Bankserver 3 dem Token 1 bestätigt
und die bestätigte Ausführung der Transaktion
wird in Schritt S15 auf dem PC des Benutzers wiedergegeben.
-
Wie
bereits oben erwähnt, wird bei der im Vorangegangenen beschriebenen
Kommunikation zwischen Token 1 und PC 2 zur Übermittlung
von Benutzerkennung und PIN sowie von Transaktionsdaten eine Kommunikations-Schnittstelle
mit entsprechenden Sitzungsschlüsseln zur Datenverschlüsse lung verwendet.
Dabei werden nach jeder Modifikation der dem Programm zu Grunde
liegenden exe-Datei diese Schlüssel verändert.
Ebenso kann nach jeder Modifikation ferner auch das Layout der durch
das Programm gespeicherten Daten bzw. der zeitliche Programmablauf
verändert werden. Hierdurch wird ein effizienter Schutz
vor solchen Trojanern erreicht, die sich in das ausgeführte
Programm einklinken, um die eingegebenen bzw. auszugebenden Daten
intern, d. h. direkt in der ausgeführten exe-Datei, manipulieren. In
einer weiteren Variante kann durch die Modifikation der exe-Datei
beispielsweise erreicht werden, dass sich das Programm nach jeder
Modifikation unter anderem Namen am Betriebssystem des PCs anmeldet.
-
Aufgrund
der oben dargelegten Maßnahmen, mit denen sowohl interne
Parameter als auch die Benutzeroberfläche des Programms
verändert werden, sind Angriffe auf das Programm mittels
Trojanern deutlich schwieriger. Insbesondere haben Daten, die Angreifer
aus dem Programmablauf der exe-Datei gewinnen und beispielsweise über
das Internet anderen Angreifern mit Expertenwissen zur Analyse zur
Verfügung stellen, keinen Wert, da die exe-Datei und deren
Benutzeroberfläche beim nächsten Start des Programms
aufgrund der Modifikation durch den Token wieder anders aufgebaut
ist.
-
Die
Reihenfolge einiger der im Vorangegangenen beschriebenen Schritte
des Verfahrens der 1 kann geeignet variiert werden,
beispielsweise kann der Aufbau der sicheren Verbindung zwischen Bankserver 3 und
Token 1 auch zu einem früheren Zeitpunkt im Verfahren
erfolgen und die Eingabe der PIN kann bereits vor dem Zugriff des
Benutzers über den PC 2 auf den Token gefordert
werden. Darüber hinaus können bereits bei Beginn
der Stromversorgung des Tokens durch Anschluss an den PC mehrere
modifizierte Versionen der Software des Transaktionsprogramms erzeugt
werden. Die hierdurch entstehenden einzelnen exe-Dateien können
dann zur späteren Ver wendung in dem geheimen Speicherbereich
des Tokens abgelegt werden, wobei nach jedem Auslesen einer exe-Datei
durch den PC eine modifizierte exe-Datei aus dem geheimen Speicherbereich
in den öffentlichen Speicherbereich verschoben wird.
-
Das
im Vorangegangenen beschriebene Verfahren zur Modifikation von Software
kann in weiteren Ausführungsformen zur Erhöhung
des Schutzes der Software noch variiert werden. Insbesondere besteht
die Möglichkeit, dass die Gültigkeit einer jeweiligen
exe-Datei beschränkt wird, so dass der Token, an den die
exe-Datei die Daten sendet, diese nur einen bestimmten Zeitraum
akzeptiert. Ist dieser Zeitraum überschritten, muss der
Benutzer über den PC wieder eine neue exe-Datei auf dem
Token starten. Der Zeitraum der Gültigkeit kann dabei je
nach Komplexität der Transaktion entsprechend variiert werden
und zwischen wenigen Minuten bis zu etwa einer Stunde liegen. Hierdurch
wird sichergestellt, dass eine exe-Datei nicht absichtlich oder
versehentlich mehrere Tage oder Stunden lang gültig ist.
-
Wie
anhand von 1 erläutert, wird eine exe-Datei
auf jeden Fall dann ungültig, wenn sie von dem Token ausgelesen
bzw. gestartet wurde. Hierdurch wird ein besonders hoher Schutz
der Software erreicht, da durch geheimes Auslesen der Datei ermittelte
Informationen nicht wieder verwendbar sind.
-
Das
erfindungsgemäße Verfahren gemäß der
im Vorangegangenen beschriebenen Ausführungsform weist
eine Reihe von Vorteilen auf. Insbesondere spielt die jeweilige
Ausgestaltung der modifizierten exe-Datei für den Transaktionspartner
der Transaktion, d. h. den Server 3, überhaupt
keine Rolle. Die Veränderung der exe-Datei ist nur für
die Kommunikation zwischen Token 1 und PC 2 von
Bedeutung und gegenüber dem Bankserver 3 transparent, d.
h. der Bankserver erhält über die sichere Ende-zu-Ende-Verbindung
immer gleichartige Daten.
-
Der
an der Transaktion beteiligte Partner, welcher in dem Beispiel der 1 die
den Bankserver betreibende Bank ist, muss die herausgegebenen exe-Dateien
weder selbst erstellen noch regelmäßig aktualisieren
bzw. an die zur Nutzung berechtigten Personen versenden. Vielmehr
wird mit der Herausgabe eines entsprechenden Tokens durch die Bank
an berechtigte Nutzer, gegebenenfalls einschließlich üblicher
Personalisierung, eventuell mit zusätzlichen Schlüsseln,
sichergestellt, dass dem Nutzer das Transaktionsprogramm zur Verfügung steht.
-
Ein
häufiges Austauschen von entsprechenden exe-Dateien zur
Durchführung der Transaktion wird auf einfache Weise durch
eine entsprechende Modifikation der Software mit Hilfe des tragbaren
Datenträgers gewährleistet. Dadurch haben Angreifer im
Wesentlichen keine Möglichkeit mehr, einen Trojaner auf
die jeweilige exe-Datei anzupassen. Unter günstigen Umständen
kann hierdurch auch die gesicherte und bestätigte Durchführung
einer unverfälschten Transaktion auf einem mit Trojanern
befallenen PC erreicht werden.
-
Das
Transaktionsprogramm kann für den Benutzer transparent
gestaltet werden, beispielsweise kann eine auf dem PC installierte
Startsoftware vorgesehen sein, mit der eine exe-Datei zur Ausführung der
Transaktion auf dem USB-Token aufgerufen wird. Ein Fälschen
einer exe-Datei ist nicht möglich, denn die exe-Datei kann
so gestaltet werden, dass der Token nur Daten von dieser exe-Datei
akzeptiert. Dies kann beispielsweise durch hineincodierte Schlüssel, ein
vom Token erwartetes vorgegebenes Zeitverhalten des Programms sowie
ein vorgegebenes und vom Token erwartetes Format bei der Datenübertragung
zwischen Token und exe-Datei gewährleistet werden. Um eine
sichere Übertragung der Transaktionsdaten vom Token an
den Server zu gewährleisten, werden von dem Server nur
schlüssel- und zertifikatsgesicherte Verbindungen zum Datenaustausch zwischen
Token und Server verwendet.
-
Der
Token kann gegebenenfalls auch an nicht vertrauenswürdigen
PCs zur Durchführung von Transaktionen verwendet werden,
da die Ausführung der Transaktion aufgrund der Bereitstellung
der exe-Datei durch den Token nicht an einen bestimmten PC gebunden
ist. Das Verfahren kann gegebenenfalls auch an anderen Endgeräten
als PCs verwendet werden, insbesondere kann das Verfahren auch in
einem Mobiltelefon, einem PDA und dergleichen durchgeführt
werden. Beispielsweise kann eine SIM-Karte als Token verwendet werden,
welcher mit dem Mobiltelefon als Endgerät kommuniziert.
-
Gegebenenfalls
besteht ferner die Möglichkeit, dass die mit dem Transaktionsprogramm
des Datenträgers durchgeführte Transaktion auch
mit anderen Verfahren zur Absicherung von Transaktionen kombiniert
wird, insbesondere mit entsprechenden TAN-Verfahren, bei denen zur
Bestätigung einer Transaktion eine Transaktionsnummer durch
den Benutzer eingegeben werden muss.
-
Durch
die Bereitstellung einer variierenden Benutzeroberfläche
durch das Transaktionsprogramm wird eine hohe Sicherheit gegenüber
Schadsoftware erreicht, da auf häufig verwendete und oftmals
sehr sicherheitsanfällige Webbrowser zur Eingabe von Transaktionsdaten
verzichtet werden kann. Ferner ist es nicht mehr erforderlich, dass
regelmäßig modifizierte exe-Dateien zur Durchführung
der Transaktion durch einen Herausgeber (z. B. eine Bank) bereitgestellt
werden. Die Bereitstellung der exe-Datei und deren Modifikation
werden vielmehr durch Bereitstellung des Tokens hin zum Kunden verlagert.
-
Dadurch,
dass die Benutzeroberfläche über eine exe-Datei
des Tokens bereitgestellt wird, muss für die Transaktion
keine entsprechende Oberfläche, beispielsweise basierend
auf HTML, durch einen Server verwaltet werden. Vielmehr ist es ausreichend,
wenn der Server einen entsprechend signierten und verschlüsselten
Transaktionsdatensatz erhält, den er dann zur Ausführung
der Transaktion verarbeiten kann.
-
Bei
der Ausführung der exe-Datei ist es nicht erforderlich,
dass eine Verbindung des entsprechenden PCs zum Server besteht,
denn Transaktionsaufträge können gegebenenfalls
auch im Offline-Betrieb eingegeben werden und erst separat, gegebenenfalls über
einen anderen PC, vom Token an den Server übertragen 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 2008/034900
A1 [0003]
- - DE 102004011488 B4 [0004]
- - EP 1722336 A2 [0005]