DE102009019981A1 - 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 Download PDF

Info

Publication number
DE102009019981A1
DE102009019981A1 DE102009019981A DE102009019981A DE102009019981A1 DE 102009019981 A1 DE102009019981 A1 DE 102009019981A1 DE 102009019981 A DE102009019981 A DE 102009019981A DE 102009019981 A DE102009019981 A DE 102009019981A DE 102009019981 A1 DE102009019981 A1 DE 102009019981A1
Authority
DE
Germany
Prior art keywords
software
program
modified
portable data
data carrier
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.)
Withdrawn
Application number
DE102009019981A
Other languages
English (en)
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 and Devrient GmbH
Original Assignee
Giesecke and 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 and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE102009019981A priority Critical patent/DE102009019981A1/de
Priority to EP10721140A priority patent/EP2427847A1/de
Priority to PCT/EP2010/056059 priority patent/WO2010128060A1/de
Publication of DE102009019981A1 publication Critical patent/DE102009019981A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

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

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

Claims (15)

  1. 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, 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 unmodifizierten 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 gekennzeichnet, 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 gekennzeichnet, 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 Benutzeroberflä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 Eingabefeldern 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 Datencodierung 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 gekennzeichnet, 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 gekennzeichnet, 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 gekennzeichnet, 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.
DE102009019981A 2009-05-05 2009-05-05 Verfahren zum Schutz von auf einem tragbaren Datenträger gespeicherter Software und tragbarer Datenträger Withdrawn DE102009019981A1 (de)

Priority Applications (3)

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
EP10721140A EP2427847A1 (de) 2009-05-05 2010-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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
DE102009019981A1 true DE102009019981A1 (de) 2010-11-11

Family

ID=42646403

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009019981A Withdrawn DE102009019981A1 (de) 2009-05-05 2009-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)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030263A1 (de) * 2004-06-23 2006-01-19 Schwenk, Jörg, Prof. Dr. Schutz von Webbrowsern gegen Visual Spoofing/Phishing
EP1722336A2 (de) 2005-05-02 2006-11-15 Giesecke & Devrient GmbH Vorrichtung und Verfahren zur Erzeugung von Daten für eine Initialisierung von Sicherheitsdatenträgern
DE102004011488B4 (de) 2004-03-09 2007-07-05 Giesecke & Devrient Gmbh Schutz von Software gegen Angriffe
WO2008034900A1 (en) 2006-09-21 2008-03-27 Boesgaard Soerensen Hans Marti Fabrication of computer executable program files from source code

Family Cites Families (5)

* 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
WO2001086372A2 (en) * 2000-05-12 2001-11-15 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP1722336A2 (de) 2005-05-02 2006-11-15 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

Also Published As

Publication number Publication date
EP2427847A1 (de) 2012-03-14
WO2010128060A1 (de) 2010-11-11

Similar Documents

Publication Publication Date Title
DE60204049T2 (de) Systeme, verfahren und einrichtungen zur sicheren datenverarbeitung
EP3748521B1 (de) Verfahren zum lesen von attributen aus einem id-token
WO2003013167A1 (de) Vorrichtung zur digitalen signatur eines elektronischen dokuments
DE102006048797A1 (de) Verfahren zum Ausführen einer Applikation mit Hilfe eines tragbaren Datenträgers
EP2434424B1 (de) Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online-Diensten
DE60025496T2 (de) Tragbares endgerät
EP2562670B1 (de) Verfahren zur Durchführung eines Schreibzugriffs, Computerprogrammprodukt, Computersystem und Chipkarte
EP1912184A2 (de) Vorrichtung und Verfahren zur Erzeugung von Daten
DE102009019981A1 (de) Verfahren zum Schutz von auf einem tragbaren Datenträger gespeicherter Software und tragbarer Datenträger
WO2006061141A1 (de) Erzeugen von programmcode in einem ladeformat und bereitstellen von ausführbarem programmcode
EP3283999B1 (de) Elektronisches system zur erzeugung eines zertifikats
EP1365363B1 (de) Verfahren zur Ausführung einer Datentransaktion mittels einer aus einer Haupt- und einer trennbaren Hilfskomponente bestehenden Transaktionsvorrichtung
DE202007002971U1 (de) Vorrichtung zur Erstellung digitaler Signaturen
EP1990751A1 (de) Verfahren zum digitalen Signieren und/oder Verschlüsseln einer auf einer Datenverarbeitungseinheit gespeicherten Datei
EP3329415B1 (de) Chipkarte mit hauptapplikation und persistenzapplikation erlaubt hauptapplikationupdate ohne die benutzerdaten im persistenzapplikation zu ändern
WO2016071196A1 (de) Verfahren zur änderung einer in einer chipkarte gespeicherten datenstruktur, signaturvorrichtung und elektronisches system
AT524619A1 (de) Computerimplementiertes Verfahren zum autorisierten Ausführen einer Software, System zur Datenverarbeitung, Computerprogrammprodukt und computerlesbares Speichermedium
CH712679B1 (de) Verfahren zur Maskierung und eindeutigen Signierung von Datenbank-Quellcodes.
EP3822833A1 (de) Verbrauchseinrichtung, verbrauchskomponente und verfahren zum authentifizieren einer verbrauchskomponente bei einer verbrauchseinrichtung
EP2096570A1 (de) Mobiles Computersystem zum Ausführen von sicheren Transaktionen über ein ungeschütztes Kommunikationsnetzwerk
WO2019038052A1 (de) Verfahren und vorrichtung zum schützen eines gerätes
AT9614U1 (de) Vorrichtung zur erstellung digitaler signaturen
EP2883182A1 (de) Vorrichtungsanordnung zur durchführung oder freigabe eines elektronischen diensts und verfahren zum sicheren eingeben von autorisierungsdaten
DE102012020782A1 (de) Verwaltung von Datenelementen in einem Stapelspeicher

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021100000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021100000

Effective date: 20121211

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee