EP2427847A1 - Verfahren zum schutz von auf einem tragbaren datenträger gespeicherter software und tragbarer datenträger - Google Patents

Verfahren zum schutz von auf einem tragbaren datenträger gespeicherter software und tragbarer datenträger

Info

Publication number
EP2427847A1
EP2427847A1 EP10721140A EP10721140A EP2427847A1 EP 2427847 A1 EP2427847 A1 EP 2427847A1 EP 10721140 A EP10721140 A EP 10721140A EP 10721140 A EP10721140 A EP 10721140A EP 2427847 A1 EP2427847 A1 EP 2427847A1
Authority
EP
European Patent Office
Prior art keywords
software
program
portable data
data carrier
modified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP10721140A
Other languages
English (en)
French (fr)
Inventor
Markus Belau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke+Devrient Mobile Security Germany GmbH
Original Assignee
Giesecke+Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke+Devrient GmbH filed Critical Giesecke+Devrient GmbH
Publication of EP2427847A1 publication Critical patent/EP2427847A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Definitions

  • Code Obfuscation (Code Obfuscation) technology converts readable program code into a more difficult-to-understand version, which makes the analysis of program code by an attacker more complex. This complicates the development of so-called Trojans, which hog into programs and unwanted functions, e.g. spying on secret data. With the help of these obfuscation techniques, the analysis of program code is more difficult, but not impossible. Moreover, obfuscation techniques do not alter the executable software generated from the program code so that a Trojan developed based on the obscured program code poses a threat to all computers on which the software is used.
  • the document EP 1 722 336 A2 describes a method for generating initialization data for security data carriers, in which a USB token generates the initialization data with the aid of secret data stored on the token and transmits it to a personal computer.
  • the object of the invention is to further improve the protection of software stored on a portable data carrier in comparison to the method known from the prior art.
  • the inventive method protects software stored on a portable data carrier.
  • the data carrier can be configured as desired, in particular, it can be a smart card, such as a smart card, a token, in particular a USB token, and any other type of portable data carrier.
  • the software to be protected is designed in such a way that when the software is called by a Terminal, to which the software is copied or which is contact-bound when contacted with the portable data carrier and possibly also contactless, a program is executed, which generates a user interface on the terminal for entering and optionally outputting data. The user interface is thereby generated on a corresponding output unit, in particular a display, of the terminal with the aid of the software.
  • the terminal can also be configured as desired, in particular it may be a personal computer, a mobile phone, a PDA and the like act.
  • the creation of the modified software occurs repeatedly at intervals, in particular at predetermined time intervals (eg: hourly, daily, weekly, ...) and / or in response to a predetermined event ((each) call the software, each x- calling the soft- ware, restarting the data carrier, ).
  • predetermined time intervals eg: hourly, daily, weekly, .
  • the generated modified software can be based both on a previously created modified software and on the original, unmodified software.
  • the software is preferably stored in a public storage area of the portable data medium on which devices connected to the data carrier have access.
  • the software is modified by a modification program whose software is stored in a secure storage area of the portable data carrier on which devices connected to the data carrier have no access, is stored. In this way one becomes particularly high protection of the software, since the corresponding program for modifying the software can not be easily read and analyzed. This protection can be improved even further by modifying the modification program by a processor of the portable data carrier secured against external accesses.
  • a user interface of the user interface of the terminal generated by the software is modified such that the input sequence of data and / or the positioning of one or more input fields is changed.
  • this provides protection against Trojans which spy on and / or manipulate a graphical user interface or inputs of the user on the surface, in particular keystrokes, mouse clicks and movements, and possibly time sequences.
  • a modified program is executed when the modified software is called, in which one or more internal parameters of the program are changed in comparison with the program executed when the unmodified software is called, while retaining the functionality of the program.
  • the internal parameters may in particular relate to internal data structures, such as the storage of data in a memory used by the program, and / or one or more keys for data encryption and / or one or more codes for data encoding and / or the internal timing of the program.
  • the program can consist of different parts, with each part being parameterized, in order thereby to allow variable data structures which can be changed by the modification of the software.
  • variable data structures can For example, the sequence of the fields of a "typedef" can be varied, for example, the data can also be scattered randomly in the memory used by the program
  • the stack layout can also be changed by software modification, which can be done by rearranging / reorganizing the bytecode in bytecode programs.
  • the portable data carrier can simply construct the necessary algorithms in the software code, for example in the form of coding or decoding tables and / or parameterizable algorithms or else with the aid of hard-coded algorithms in which the parameters generated during software compilation.
  • the protection of the software is further improved because a malicious software for real-time attack is forced to take place during the execution of the program communication between the terminal and the disk.
  • the program executed when the software is called in a further embodiment of the invention queries a user identifier and / or a secret code (for example a PIN) via the user interface. Only if the user ID or permissible secret code is permitted will further program execution continue.
  • a secret code for example a PIN
  • the software is invalidated after a predetermined period of time after its modification. This ensures that software does not remain disproportionately long.
  • the software stored on the data carrier for executing a transaction program is used to enter transaction data, in particular banking transaction data.
  • the transaction data are entered via the user interface of the program, wherein the entered transaction data are transmitted by the program from the terminal to the portable data carrier.
  • the transmitted transaction data is then sent to a server via the transactional program being executed or in a separate transfer step via a secure end-to-end connection between the portable data carrier and the server.
  • the data transmission to the server can thus be part of the executed program or be carried out in a separate transmission step.
  • the terminal In the secured end-to-end connection, the terminal only takes on a forwarding function and can not manipulate the transmitted data.
  • the secure connection is a secure Internet connection.
  • the invention further relates to a portable data carrier, in particular a token, for example a USB token, or a chip card, for example a smartcard.
  • Software is stored on the data carrier, a program being executed by the terminal when the software is called up, which program generates a user interface on the terminal for inputting data.
  • the portable data carrier is designed in such a way that the software is modified in time intervals by the portable data carrier in such a way that a modified program is executed when the modified software is called the user interface on the terminal is changed in comparison to the program executed when the unmodified software is called, while retaining the functionality of the program.
  • FIG. 1 shows the sequence of a transaction program for executing a banking transaction, wherein the software of this program is changed based on an embodiment of the method according to the invention.
  • a transaction program is carried out which is based on software which is stored in a portable data carrier in the form of a USB token 1.
  • the software is stored on the token in a public storage area, which is visible to the user when the token is connected to a corresponding terminal via a file management program.
  • the USB token 1 contains a secret memory area which can not be viewed when the token is connected to a terminal.
  • This secret storage area contains hidden software in the form of a modification program, which can change the software of the transaction program in the public storage area, as will be explained in more detail below.
  • the token 1 includes a processor secured against external access and a corresponding RAM memory with a few kilobytes of storage capacity. The hidden software is executed by the processor.
  • the modified software in the form of the new exe file contains a transaction program with the same functionality as the program measured in the old exe file
  • a corresponding user ID and a PIN Personal Identification Number
  • PIN Personal Identification Number
  • the user ID and PIN are entered by the user via an appropriate user interface, which is generated by starting the exe file on the screen of the PC 2.
  • the identifier and the PIN are transmitted to the token and compared there with a corresponding identifier and PIN stored in the token. If the identifier and PIN on the token agree with the entered identifier and the entered PIN, the user has successfully authenticated to the token, and in step S8 an authentication confirmation is returned to the PC 2.
  • step S9 the user then inputs corresponding transaction data for executing a banking transaction, for example, a bank account and a cash amount for making a transfer.
  • the user interface used for input and generated by the transaction program changes after each modification of the exe file.
  • an effective protection against malware in the form of Trojans is achieved, which spy on and / or manipulate the user interface and corresponding keystrokes of the user in input fields of the user interface.
  • step S10 the entered transaction data is transmitted to the token 1.
  • step Sil a secure connection is established between token 1 and a server 3, this server being a bank server for processing corresponding transaction data.
  • the establishment of the secure connection takes place via the Internet, for which purpose the PC 2 has a corresponding Internet connection.
  • the connection is an encrypted end-to-end connection between token 1 and server 3 via respective protocols, the PC 2 acting as a forwarding node in this connection and being unable to manipulate the transmitted data.
  • step S5 After establishing the secure connection in step S5, finally, the transaction data stored on the token is transmitted to the bank server 3 in step S12, which finally executes the transaction for performing the banking in step S13. Subsequently, the execution of the transaction is confirmed by the bank server 3 to the token 1 in step S14, and the confirmed execution of the transaction is reproduced on the user's PC in step S15.
  • a communication interface with corresponding session keys for data encryption is provided. used. These keys are changed after each modification of the exe file underlying the program.
  • the layout of the data stored by the program or the temporal program sequence can also be changed after each modification. This achieves efficient protection against such Trojans, which plug into the executed program in order to manipulate the data entered or to be output internally, ie directly in the executed exe file.
  • by modifying the exe file it can be achieved, for example, that the program logs on to the operating system of the PC after each modification under a different name.
  • the partner involved in the transaction which in the example of FIG. 1 is the bank that operates the bank server, neither has to create the issued exe files themselves nor regularly update them or send them to the authorized users. Rather, the issuance of a corresponding token by the bank to authorized users, possibly including customary personalization, possibly with additional keys, ensures that the user has access to the transaction program.
  • the transaction program may be made transparent to the user, for example, a startup software installed on the PC may be provided to invoke an exe file to execute the transaction on the USB token.
  • a fake exe file is not possible, because the exe file can be designed so that the token only accepts data from this exe file. This can be achieved, for example, by encoded keys, a predefined time behavior of the program expected by the token as well as a predefined format expected by the token data transfer between token and exe file are guaranteed.
  • the server uses only key and certificate-secured connections to exchange data between the token and the server.
  • the token may also be used on untrusted PCs to perform transactions, as the execution of the transaction is not tied to a particular PC due to the token's provision of the exe file.
  • the method can also be used on other terminals than PCs; in particular, the method can also be carried out in a mobile telephone, a PDA and the like.
  • a SIM card can be used as a token, which communicates with the mobile phone as a terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Schutz von auf einem tragbaren Datenträger (1) gespeicherter 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. Bei dem erfindungsgemäßen Verfahren wird die auf dem tragbaren Datenträger gespeicherte Software in zeitlichen Abständen derart modifiziert, 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.

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.

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.
EP10721140A 2009-05-05 2010-05-05 Verfahren zum schutz von auf einem tragbaren datenträger gespeicherter software und tragbarer datenträger Ceased EP2427847A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102009019981A DE102009019981A1 (de) 2009-05-05 2009-05-05 Verfahren zum Schutz von auf einem tragbaren Datenträger gespeicherter Software und tragbarer Datenträger
PCT/EP2010/056059 WO2010128060A1 (de) 2009-05-05 2010-05-05 Verfahren zum schutz von auf einem tragbaren datenträger gespeicherter software und tragbarer datenträger

Publications (1)

Publication Number Publication Date
EP2427847A1 true EP2427847A1 (de) 2012-03-14

Family

ID=42646403

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10721140A Ceased EP2427847A1 (de) 2009-05-05 2010-05-05 Verfahren zum schutz von auf einem tragbaren datenträger gespeicherter software und tragbarer datenträger

Country Status (3)

Country Link
EP (1) EP2427847A1 (de)
DE (1) DE102009019981A1 (de)
WO (1) WO2010128060A1 (de)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305558A (ja) * 1995-04-27 1996-11-22 Casio Comput Co Ltd 暗号化プログラム演算装置
US5969632A (en) * 1996-11-22 1999-10-19 Diamant; Erez Information security method and apparatus
AU2001269354A1 (en) * 2000-05-12 2001-11-20 Xtreamlok Pty. Ltd. Information security method and system
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US7373522B2 (en) * 2003-05-09 2008-05-13 Stmicroelectronics, Inc. Smart card with enhanced security features and related system, integrated circuit, and methods
DE102004011488B4 (de) 2004-03-09 2007-07-05 Giesecke & Devrient Gmbh Schutz von Software gegen Angriffe
DE102004030263A1 (de) * 2004-06-23 2006-01-19 Schwenk, Jörg, Prof. Dr. Schutz von Webbrowsern gegen Visual Spoofing/Phishing
DE102005020313A1 (de) 2005-05-02 2006-11-16 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zur Erzeugung von Daten für eine Initialisierung von Sicherheitsdatenträgern
WO2008034900A1 (en) 2006-09-21 2008-03-27 Boesgaard Soerensen Hans Marti Fabrication of computer executable program files from source code

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2010128060A1 *

Also Published As

Publication number Publication date
WO2010128060A1 (de) 2010-11-11
DE102009019981A1 (de) 2010-11-11

Similar Documents

Publication Publication Date Title
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
DE69624501T2 (de) Personenbezogenes zugangsverwaltungssystem
EP2417550B1 (de) Verfahren zur durchführung einer applikation mit hilfe eines tragbaren datenträgers
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
EP2137664A2 (de) Verfahren zur erzeugung bestätigter transaktionsdaten und vorrichtung dazu
WO2012130461A2 (de) Aktualisierung einer datenträgerapplikation
EP3748521B1 (de) Verfahren zum lesen von attributen aus einem id-token
WO2008046575A1 (de) Verfahren zum ausführen einer applikation mit hilfe eines tragbaren datenträgers
DE60221861T2 (de) Server mit dateiverifikation
EP2434424B1 (de) Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online-Diensten
EP2885907B1 (de) Verfahren zur installation von sicherheitsrelevanten anwendungen in einem sicherheitselement eines endgerät
EP2427847A1 (de) Verfahren zum schutz von auf einem tragbaren datenträger gespeicherter software und tragbarer datenträger
EP3329415B1 (de) Chipkarte mit hauptapplikation und persistenzapplikation erlaubt hauptapplikationupdate ohne die benutzerdaten im persistenzapplikation zu ändern
DE102012224083A1 (de) Verfahren zur Personalisierung eines Secure Elements (SE) und Computersystem
EP1365363B1 (de) Verfahren zur Ausführung einer Datentransaktion mittels einer aus einer Haupt- und einer trennbaren Hilfskomponente bestehenden Transaktionsvorrichtung
CH712679B1 (de) Verfahren zur Maskierung und eindeutigen Signierung von Datenbank-Quellcodes.
DE202007002971U1 (de) Vorrichtung zur Erstellung digitaler Signaturen
EP1722336A2 (de) Vorrichtung und Verfahren zur Erzeugung von Daten für eine Initialisierung von Sicherheitsdatenträgern
DE102006006489A1 (de) Verfahren zur Durchführung eines Schreibzugriffs, Computerprogrammprodukt, Computersystem und Chipkarte
DE102005046696A1 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
DE10006062A1 (de) Tastaturschlüssel
EP1839136A1 (de) Erzeugen von programmcode in einem ladeformat und bereitstellen von ausf]hrbarem programmcode
AT503263A2 (de) Vorrichtung zur erstellung digitaler signaturen
EP1720096B1 (de) Verfahren zum Hinzufügen einer Funktionalität zu einem ausführbaren ersten Modul eines Programmpakets
AT524619A1 (de) Computerimplementiertes Verfahren zum autorisierten Ausführen einer Software, System zur Datenverarbeitung, Computerprogrammprodukt und computerlesbares Speichermedium

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20111205

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: BELAU, MARKUS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20160302

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

18R Application refused

Effective date: 20180427