Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROTECTING SOFTWARE STORED ON A PORTABLE DATA MEDIUM, AND PORTABLE DATA MEDIUM
Document Type and Number:
WIPO Patent Application WO/2010/128060
Kind Code:
A1
Abstract:
The invention relates to a method for protecting software stored on a portable data medium (1), wherein a program is executed when the software is initiated by a terminal device (2), thus generating a user interface in the terminal device (2) for data entry. In the method according to the invention, the software stored on the portable data medium is modified at time intervals such that, when the modified software is initiated, a modified program is executed, wherein the user interface on the terminal device (2) is altered as compared to the program executed by initiating the unmodified software while maintaining the functionality of the program.

Inventors:
BELAU MARKUS (DE)
Application Number:
PCT/EP2010/056059
Publication Date:
November 11, 2010
Filing Date:
May 05, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GIESECKE & DEVRIENT GMBH (DE)
BELAU MARKUS (DE)
International Classes:
G06F21/12; G06F21/14; G06F21/77
Domestic Patent References:
WO2002046890A22002-06-13
WO1998025372A21998-06-11
Foreign References:
EP1477883A12004-11-17
EP0768601A11997-04-16
DE102004011488A12005-10-13
US20020016918A12002-02-07
Attorney, Agent or Firm:
KLUNKER.SCHMITT-NILSON.HIRSCH (DE)
Download PDF:
Claims:
P a t e n t a n s p r ü c h e

1. Verfahren zum Schutz von auf einem tragbaren Datenträger (1) ge- speicherter Software, wobei bei Aufruf der Software durch ein Endgerät (2) ein Programm ausgeführt wird, welches eine Benutzerschnittstelle auf dem Endgerät (2) zur Eingabe von Daten erzeugt, dadurch gekennzeichnet, dass die auf dem tragbaren Datenträger (1) gespeicherte Software derart modifiziert wird, dass bei Aufruf der modifizierten Software ein modifiziertes Programm ausgeführt wird, bei dem die Benutzerschnittstelle auf dem Endgerät (2) im Vergleich zu dem bei Aufruf der un- modifizierten Software ausgeführten Programm unter Beibehaltung der Funktionalität des Programms verändert ist.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die modifizierte Software in einem öffentlichen Speicherbereich des tragbaren Datenträgers (1), auf welchen mit dem tragbaren Datenträger (1) verbundene Geräte Zugriff haben, gespeichert ist, wobei die Software durch ein Modifikationsprogramm erstellt oder verändert wird, dessen Software in einem gesicherten Speicherbereich des tragbaren Datenträgers (1), auf welchen mit dem tragbaren Datenträger (1) verbundene Geräte keinen Zugriff haben, gespeichert ist.

3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Modifikationsprogramm durch einen gegen externe Zugriffe gesicherten Prozessor des tragbaren Datenträgers (1) ausgeführt wird.

4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch ge- kennzeichnet, dass eine neue modifizierte Software nach einem Auf- ruf, insbesondere nach jedem Aufruf, auf dem tragbaren Datenträger (1) bereit gestellt wird.

5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch ge- kennzeichnet, dass die Software nach Ablauf eines vorbestimmten

Zeitraums nach ihrem Aufruf ungültig wird.

6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Aufruf der modifizierten Software eine Benut- zeroberfläche auf der Benutzerschnittstelle des Endgeräts (2) dargestellt wird, die sich aus Sicht des Benutzers nicht oder nur geringfügig von der Benutzeroberfläche des bei Aufruf der unmodifizierten Software ausgeführten Programms unterscheidet.

7. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 5, dadurch gekennzeichnet, dass bei Aufruf der modifizierten Software eine Benutzeroberfläche auf der Benutzerschnittstelle des Endgeräts (2) dargestellt wird, die eine veränderte Eingabereihenfolge von Daten und/oder veränderte Positionierung von einem oder mehreren Ein- gabefeldern aufweist.

8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Aufruf der modifizierten Software ein modifiziertes Programm ausgeführt wird, bei dem ferner ein 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 sind.

9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass bei Aufruf der modifizierten Software als interne Parameter interne Datenstrukturen und/oder ein oder mehrere interne Schlüssel zur Datenverschlüsselung und /oder ein oder mehrere Codierungen zur Datenco- dierung und /oder der interne zeitliche Ablauf des ausgeführten Programms im Vergleich zu dem bei Aufruf der unmodifizierten Software ausgeführten Programm verändert sind.

10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch ge- kennzeichnet, dass das bei Aufruf der Software ausgeführte Programm eine Kommunikation zwischen dem Endgerät (2) und dem tragbaren Datenträger (1) ermöglicht, wobei ein oder mehrere interne Parameter der Kommunikation, insbesondere Verschlüsselungsschlüssel und/oder Datencodierung und/oder - Übertragungsreihenfolge, im Vergleich zu dem bei Aufruf der unmodifizierten Software ausgeführten Programm unter Beibehaltung der Funktionalität des Programms verändert sind.

11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch ge- kennzeichnet, dass das bei Aufruf der Software ausgeführte Programm eine Benutzerkennung und /oder einen Geheimcode über die Benutzerschnittstelle abfragt.

12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch ge- kennzeichnet, dass die Software mehrfach modifiziert wird und die modifizierten Softwareversionen auf dem tragbaren Datenträger gespeichert werden.

13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das bei Aufruf der Software ausgeführte Programm ein Transaktionsprogramm zur Eingabe von Transaktionsdaten, insbesondere von bankgeschäftlichen Transaktionsdaten, über die Benutzerschnittstelle des Endgeräts (2) ist, wobei die eingegebenen

Transaktionsdaten durch das Programm von dem Endgerät (2) an den tragbaren Datenträger (1) übermittelt werden, wobei die übermittelten Transaktionsdaten mittels des gerade ausgeführten Transaktionsprogramms oder in einem separaten Übermittlungsschritt an einen Server (3) über eine gesicherte Ende-zu-Ende- Verbindung zwischen dem tragbaren Datenträger (1) und dem Server (3) übermittelt werden.

14. Tragbarer Datenträger, insbesondere Token oder Chipkarte, auf dem Software gespeichert ist, wobei bei Aufruf der Software durch ein Endgerät (2) ein Programm ausgeführt wird, welches eine Benutzerschnittstelle auf dem Endgerät (2) zur Eingabe von Daten erzeugt, dadurch gekennzeichnet, dass der tragbare Datenträger (1) derart ausgestaltet ist, dass durch den tragbaren Datenträger (1) die derart modifiziert wird, dass bei Aufruf der modifizierten Software ein modifiziertes Programm ausgeführt wird, bei dem die Benutzerschnittstelle auf dem Endgerät (2) im Vergleich zu dem bei Aufruf der unmodifizierten Software ausgeführten Programm unter Beibehaltung der Funktionalität des Programms verändert ist.

15. Tragbarer Datenträger nach Anspruch 14, dadurch gekennzeichnet, dass der tragbare Datenträger (1) derart ausgestaltet ist, dass mit dem tragbaren Datenträger (1) ein Verfahren nach einem der Ansprüche 2 bis 13 durchführbar ist.

Description:
V e r f a h r e n Z u m S C h u t z V o n a U f e 1 n e m t r a S b a r e n D a t e n t r ä g e r g e s p P i C h e r t e r

S o f t w ä r e u n d t r a g b a r e r D a t e : n t r ä g e r

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 ge- nerierte 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 Al 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 Aus- gäbe 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 102004 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 722336 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 Soft- wäre, 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- - A -

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 Pro- gramms 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. Er- findungsgemäß 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 ma- nipulieren.

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 parametri- siert 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. Bei- spielsweise 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 Kommunikations-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. Decodie- rungstabellen und/oder von parametrisierbaren Algorithmen oder auch mit Hilfe von hartcodierten Algorithmen, bei denen die Parameter bei der Com- pilierung 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 Benutzer- Schnittstelle 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 Daten- trä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 Daten- trä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 aus- gefü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 be- schriebenen Verfahrens durchführbar.

Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der beigefügten Fig. 1 detailliert erläutert. Fig. 1 zeigt dabei den Ablauf eines Transaktionsprogramms zur Ausführung einer bankgeschäftlichen Transaktion, wo- bei 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 gesi- cherten 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 Fig. 1 ein PC 2 ist. Zunächst ruft der Benutzer in einem Schritt Sl 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 Fig. 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 Computer- maus. 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 Fig. 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 ge- maß 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 Kom- munikationsschnittstelle 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 Be- nutzeroberfläche ausspionieren und /oder manipulieren.

In einem Schritt SlO werden schließlich die eingegebenen Transaktionsdaten an den Token 1 übermittelt. Schließlich wird in Schritt Sil 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 Sil 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. Hier- durch 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 Modifi- kation 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. Ins- besondere 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 Fig. 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 Fig. 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 Fig. 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ätz- liehen 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 er- reicht 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 ei- ner 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 bereit- gestellt 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 Ser- ver übertragen werden.