DE10045926A1 - Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei - Google Patents

Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei

Info

Publication number
DE10045926A1
DE10045926A1 DE2000145926 DE10045926A DE10045926A1 DE 10045926 A1 DE10045926 A1 DE 10045926A1 DE 2000145926 DE2000145926 DE 2000145926 DE 10045926 A DE10045926 A DE 10045926A DE 10045926 A1 DE10045926 A1 DE 10045926A1
Authority
DE
Germany
Prior art keywords
storage device
application file
application
data file
application data
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
DE2000145926
Other languages
English (en)
Inventor
Alexander Kolbeck
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 DE2000145926 priority Critical patent/DE10045926A1/de
Publication of DE10045926A1 publication Critical patent/DE10045926A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Vorgeschlagen wird ein Verfahren zum schnellen Auffinden einer Anwendungsdatei im Speicher einer zur Ausführung einer Mehrzahl von Anwendungsprogrammen geeigneten Anordnung, insbesondere in Gestalt eines tragbaren Datenträgers. Die Anwendungsdateien werden dabei wie bisher durch übliche Dateibezeichner, insbesondere AIDs bezeichnet. Zusätzlich wird jedem Dateibezeichner ein durch Anwendung einer Hash-Funktion gewonnener Hashwert zugeordnet. Die gleiche Hash-Funktion wird des weiteren auch auf den in einem Aufrufbefehl enthaltenen Dateibezeichner angewendet. Das Suchen der aufgerufenen Anwendungsdatei erfolgt durch Vergleich der Hashwerte.

Description

Die Erfindung geht aus von einem Verfahren nach der Gattung des Hauptanspruchs.
Ein Verfahren dieser Art ist aus dem "Handbuch der Chipkarten" von W. Rankl und W. Effing, 3. Auflage, S. 178 bis 180, 231, 739 und 748 entnehmbar.
Im Speicher einer Chipkarte befindliche, zu einer gemeinsamen Anwendung gehörende Dateien werden danach durch einen DF-Namen sowie durch ei­ nen sogenannten AID (application identifier) eindeutig bezeichnet. Ein AID ist dabei ein aus zwei Datenelementen aufgebautes Identifikationsmittel mit einer Länge zwischen 5 und 16 Byte. Das erste, eine feste Länge von 5 Byte besitzende Datenelement beinhaltet einen Ländercode, eine Anwendungska­ tegorie sowie eine Nummer eines Anwendungsanbieters. Das optionale zweite Datenelement mit einer Länge von bis zu 11 Byte wird vom Anwen­ dungshersteller vergeben und kann z. B. eine Serien- oder eine Versions­ nummer beinhalten. Anhand des AID selektiert eine Chipkarte die zur Durchführung einer Anwendung benötigten Dateien.
Aus dem vorgenannten "Handbuch der Chipkarten" ist es desweiteren be­ kannt, zur Komprimierung großer Datenmengen sogenannte Hashfunktio­ nen einzusetzen. Dabei handelt es sich um mathematische Operationen, die aus einer Eingangsdatenmenge beliebiger Größe einen Ausgangsdatensatz mit fester Länge erzeugen. Der Ausgangsdatensatz gibt den Inhalt der Ein­ gangsdatenmenge in komprimierter und nicht rückrechenbarer Form wie­ der.
Eine grundsätzlich bestehende, wesentliche Anforderung an Chipkarten ist, daß sie schnell arbeiten. Bei für eine Mehrzahl von Anwendungen geeigneten Chipkarten ist es allerdings regelmäßig erforderlich, unter einer Mehr­ zahl von den Anwendungen zugeordneten Anwendungsdateien zunächst die für die gewünschte Anwendung benötigte aufzufinden. Erfolgt das Su­ chen dabei unter Nutzung des bekannten AID-Bezeichnungskonzeptes, kann eine hohe Arbeitsgeschwindigkeit nicht mehr zuverlässig gewährleistet werden, da jeweils bis zu 16 Byte pro Anwendungsdatei mit einem Refe­ renznamen zu vergleichen sind.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Auffinden einer vorgegebenen Anwendungsdatei anzugeben, das auch bei einer großen Zahl abzusuchender Dateien ein schnelles Auffinden einer gewünschten er­ möglicht.
Die Aufgabe wird gelöst durch ein Verfahren gemäß dem Patentanspruch 1. Die Aufgabe wird desweiteren gelöst durch einen tragbaren Datenträger gemäß dem unabhängigen Patentanspruch 3. Erfindungsgemäß werden alle auf einem tragbaren Datenträger abgelegten Anwendungsdateien zum einen durch übliche Anwendungsdateibezeichner, insbesondere durch einen AID bezeichnet. Zusätzlich wird jedem Anwendungsdateibezeichner jedoch ein durch Anwendung einer Hashfunktion auf den Anwendungsdateibezeich­ ner gewonnener Hashwert zugeordnet. Dieselbe Hashfunktion wird nach­ folgend beim Aufruf einer Anwendungsdatei auch auf den in dem Anwen­ dungsaufruf enthaltenen Referenzanwendungsdateibezeichner angewendet. Das Suchen der aufgerufenen Anwendungsdatei erfolgt erfindungsgemäß durch Vergleich des zu dem Referenzanwendungsdateibezeichner ermittel­ ten Referenzhashwertes mit den Hashwerten der gespeicherten Anwen­ dungsdateien.
Das erfindungsgemäße Konzept hat den Vorteil, daß als Suchkriterium ein Datenelement mit einer definierten Größe von z. B. 1 Byte eingesetzt werden kann. Das Auffinden einer gesuchten Anwendungsdatei wird dadurch um so mehr beschleunigt, je größer die Zahl der abzusuchenden Anwendungs­ dateien ist. Für die zusätzlich zu jeder Anwendungsdatei abzuspeichernden Hashwerte wird im Speicher der Chipkarte nur sehr geringer zusätzlicher Speicherplatz benötigt.
Unter Bezugnahme auf die Zeichnung wird nachfolgend ein Ausführungs­ beispiel der Erfindung näher erläutert.
Es zeigen:
Fig. 1 eine vereinfachte Strukturdarstellung eines tragbaren Datenträ­ gers,
Fig. 2 die Schrittfolge zum Auffinden einer Anwendungsdatei.
Fig. 1 zeigt in stark vereinfachter Blockwiedergabe einen tragbaren Daten­ träger in Gestalt einer Chipkarte wie er z. B. aus dem "Handbuch der Chip­ karten" von W. Rankl und W. Effing, 3. Auflage, S. 44 ff. bekannt ist.
Soweit im folgenden nicht weiter erläutert, wird bezüglich der genauen Aus­ führung von Chipkarten auf das vorgenannte Handbuch verwiesen.
Die in Fig. 1 wiedergegebene Chipkarte 10 ist zur Nutzung in einer Mehr­ zahl von Anwendungen, wie etwa zur Erlangung von Zugangsberechtigun­ gen, zur Durchführung von Zahlungstransaktionen oder als Telefonkarte ausgebildet. Wesentlicher Bestandteil der Chipkarte 10 ist ein integrierter Schaltkreis 20, welcher insbesondere eine zentrale Prozessoreinheit 22 sowie Speichermittel 24 zur Ablage von Anwendungsprogrammen 30, 32, 34 auf­ weist. Der integrierte Schaltkreis 22 verfügt weiterhin über eine Funktionali­ tät 26 zur Ausführung einer Hashfunktion. Die Hashfunktionsfunktionalität 26 ist vorzugsweise als Teil des Betriebssystems der Chipkarte fest in der zentralen Prozessoreinheit 22 zugeordneten Speichermitteln, etwa einem ROM, abgelegt und wird durch die zentrale Prozessoreinheit 22 ausgeführt. Weiterer wichtiger Bestandteil der Chipkarte 10 ist eine Schnittstelle 28, wel­ che es dem integrierten Schaltkreis 22 ermöglicht, einen Datenaustausch mit einer externen Einrichtung 40 zu führen. Die externe Einrichtung 40 besitzt hierzu ihrerseits eine auf die Schnittstelle 28 abgestimmte Komplementär­ schnittstelle 42. Der Datenaustausch kann kontaktbehaftet oder kontaktlos durchgeführt werden. Die externe Einrichtung 40 kann z. B. ein Terminal ei­ ner Bank, ein Verkaufsautomat oder ein Telefonapparat sein.
In den Speichermitteln 24 ist zu jeder mit der Chipkarte 10 durchführbaren Anwendung ein Anwendungsprogramm in Gestalt einer Anwendungsdatei 30, 32, 34 abgelegt. Jede Anwendungsdatei führt einen Dateibezeichner 50, 52, 54, anhand dessen sie identifizierbar ist. Jeder Dateibezeichner 50, 52, 54 besteht zum einen aus einem Anwendungsdateibezeichner in Gestalt eines AIDs (application identifier) 60, 62, 64 gemäß ISO Norm 7816-5, d. h. er um­ faßt ein erstes registriertes, insbesondere den Anwendungshersteller be­ zeichnendes Datenelement mit einer Länge von 5 Byte sowie ein zweites, vom Anwendungshersteller vergebenes, Datenelement mit einer maximalen Länge von 11 Byte. Die Gesamtlänge des AIDs 60, 62, 64 beträgt mithin 16 Byte.
Zusätzlich zu dem AID 60, 62, 64 umfassen die Dateibezeichner 50, 52, 54 jeweils einen Kompaktbezeichner in Form eines Hashwerts 70, 72, 74, welcher durch Anwendung der in der Hashfunktionalität 26 realisierten Hashfunktion auf den jeweiligen AID 60, 62, 64 gebildet wurde. Der Has­ hwert 70, 72, 74 ist bezüglich seiner Länge deutlich kleiner als die AIDs und hat z. B. eine Länge von 1 Byte.
Anhand des Hashwertes 70, 72, 74 erfolgt das Auffinden einer zur Ausfüh­ rung einer Anwendung benötigten Anwendungsdatei 30, 32, 34. Fig. 2 ver­ anschaulicht die Schrittfolge zum Auffinden einer Anwendungsdatei. Zur Ausführung einer Anwendung wird die Chipkarte 10 einer externen Einrich­ tung 40 präsentiert, über welche die gewünschte Anwendung erfolgen soll, Schritt 80. Nach Erkennen der Chipkarte 10 durch die externe Einrichtung 40 erfolgen übliche Initialisierungsschritte, in denen etwa ein für die nachfol­ gende Datenkommunikation benutzes Protokoll festgelegt wird, Schritt 82.
Ist die Chipkarte 10 danach grundsätzlich zur Ausführung einer Anwen­ dung bereit, übersendet ihr die externe Einrichtung 40 einen Aufrufbefehl zur Auswahl einer für die gewünschte Anwendung benötigten Anwen­ dungsdatei 30, 32, 34. Der Aufrufbefehl beinhaltet dabei insbesondere den AID der zu benutzenden Anwendungsdatei, Schritt 84.
Sobald der Aufrufbefehl mit dem AID von der Chipkarte 10 empfangen wurde, unterwirft diese den übersandten AID einer Hashfunktion und er­ mittelt einen Referenzhashwert, Schritt 86.
Den nach Anwendung der Hashfunktion erzeugten Referenzhashwert ver­ gleicht die zentrale Prozessoreinheit 22 sodann sequentiell mit den in den Speichermitteln 24 abgelegten Hashwerten 70, 72, 74 der Anwendungsdatei­ en 30, 32, 34, Schritt 88. Das in derjenigen Anwendungsdatei 30, 32, 34 ent­ haltene Anwendungsprogramm, deren Hashwert 70, 72, 74 mit dem Referenzhashwert übereinstimmt, führt die zentrale Prozessoreinheit 22 schließ­ lich aus.
Um zusätzlich sicherzustellen, daß die nach Vergleich der Hashwerte gefun­ dene Anwendungsdatei 30, 32, 34 tatsächlich die zur Ausführung der ge­ wünschten Anwendung benötigte ist, kann nach festgestellter Hash­ wertübereinstimmung in einem folgenden Schritt vorgesehen sein, noch den AID 60, 62, 64 der gefundenen Anwendungsdatei 30, 32, 34 mit dem im Auf­ rufbefehl der externen Einrichtung 40 enthaltenen AID zu vergleichen.
Im Rahmen des zugrundeliegenden erfinderischen Konzeptes, das Auffin­ den von auf tragbaren Datenträgern gespeicherten Dateien durch Einfüh­ rung von aus den Dateibezeichnern abgeleiteten Hashwerten zu beschleuni­ gen, erlaubt das vorbeschriebene Konzept eine Vielzahl von Ausgestaltun­ gen. Vorgesehen kann etwa sein, daß bei Versendung eines Aufrufbefehles durch eine externe Einrichtung 40 diese bereits selbst die Bildung des Refe­ renzhashwertes aus dem im Aufrufbefehl enthaltenen Anwendungsdateibe­ zeichner vornimmt. Das Konzept ist desweiteren nicht auf AIDs beschränkt, sondern auf beliebige andere Dateibezeichner anwendbar.

Claims (3)

1. Verfahren zum Auffinden einer in einer Speichereinrichtung, insbeson­ dere der Speichereinrichtung eines tragbaren Datenträgers abgelegten Anwendungsdatei, dadurch gekennzeichnet, daß
beim Laden einer Anwendungsdatei (30, 32, 34) in die Speichereinrich­ tung (24) zu dem Anwendungsdateibezeichner (60, 62, 64) der Anwen­ dungsdatei (30, 32, 34) durch Anwendung einer Hashfunktion ein Kompaktbezeichner in Gestalt eine Hashwerts (70, 72, 74) mit vorbe­ stimmter Länge gebildet und zusammen mit dem Dateibezeichner (60, 62, 64) abgespeichert wird,
bei Aufruf einer in der Speichereinrichtung (24) abgelegten Anwen­ dungsdatei (30, 32, 34) zu den im Aufrufbefehl enthaltenen, die aufge­ rufene Anwendungsdatei bezeichnenden Anwendungsdateidateibe­ zeichner durch Anwendung derselben Hashfunktion ein Referenzhash­ wert gebildet wird (86),
und der Referenzhashwert mit den den Anwendungsdateien (30, 32, 34) in der Speichereinrichtung (24) zugeordneten Hashwerten (70, 72, 74) verglichen wird (88).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß nach festge­ stellter Übereinstimmung zwischen dem Referenzhashwert und einem eine Anwendungsdatei zugeordneten Hashwert (70, 72, 74) der der da­ nach gefundenen Anwendungsdatei zugeordnete Anwendungsdatei­ bezeichner (60, 62, 64) mit dem im Aufrufbefehl enthaltenen Anwen­ dungsdateibezeichner verglichen wird.
3. Speichereinrichtung, insbesondere eines tragbaren Datenträgers, worin eine Mehrzahl von Anwendungsdateien ablegbar ist, welche jeweils ein Anwendungsprogramm zur Ausführung einer unter einer Mehrzahl möglicher Anwendungen enthält, dadurch gekennzeichnet, daß
die die Speichereinrichtung (24) tragende Anordnung (10) über Mittel (26) verfügt, um zu einer Anwendungsdatei (30, 32, 34) einen Hashwert (70, 72, 74) bestimmter Länge zu ermitteln,
und daß in der Speichereinrichtung (24) zu jeder Anwendungsdatei (30, 32, 34) ein Kompaktbezeichner (70, 72, 74) abgespeichert ist, welcher dem Anwendungsdateibezeichner (60, 62, 64) der Anwendungsdatei entspricht.
DE2000145926 2000-09-15 2000-09-15 Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei Withdrawn DE10045926A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000145926 DE10045926A1 (de) 2000-09-15 2000-09-15 Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000145926 DE10045926A1 (de) 2000-09-15 2000-09-15 Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei

Publications (1)

Publication Number Publication Date
DE10045926A1 true DE10045926A1 (de) 2002-03-28

Family

ID=7656499

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000145926 Withdrawn DE10045926A1 (de) 2000-09-15 2000-09-15 Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei

Country Status (1)

Country Link
DE (1) DE10045926A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008025266A1 (fr) * 2006-09-01 2008-03-06 Huawei Technologies Co., Ltd. Procédé, système, agent de traçage et serveur de contrôle de traçage pour la détection d'état de traçage
DE102008044808A1 (de) 2007-10-15 2009-04-16 Giesecke & Devrient Gmbh Verfahren zur Generierung von Programmcode in einem Betriebssystemspeicher und einem Applikationsspeicher eines Datenträgers

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008025266A1 (fr) * 2006-09-01 2008-03-06 Huawei Technologies Co., Ltd. Procédé, système, agent de traçage et serveur de contrôle de traçage pour la détection d'état de traçage
CN101137160B (zh) * 2006-09-01 2010-04-21 华为技术有限公司 检测跟踪状态的方法和***及跟踪代理、跟踪控制服务器
DE102008044808A1 (de) 2007-10-15 2009-04-16 Giesecke & Devrient Gmbh Verfahren zur Generierung von Programmcode in einem Betriebssystemspeicher und einem Applikationsspeicher eines Datenträgers

Similar Documents

Publication Publication Date Title
DE69100005T2 (de) Verfahren zum anwenderprogrammladen in einem speicherkartenleser mit mikroprozessor sowie system zur durchfuehrung dieses verfahrens.
DE3743639C2 (de)
DE68915186T2 (de) Tragbarer elektronischer Apparat.
DE19536548A1 (de) Vorrichtung und Verfahren zur vereinfachten Erzeugung von Werkzeugen zur Initialisierung und Personalisierung von und zur Kommunikation mit einer Chipkarte
DE3807997A1 (de) Ic-karte mit interner fehlerpruefung
EP1196902B1 (de) Verfahren zum betreiben eines zur ausführung von nachladbaren funktionsprogrammen ausgebildeten datenträgers
DE102009059939A1 (de) Verfahren zum Komprimieren von Bezeichnern
WO2000074001A1 (de) Einrichtungen und verfahren zur biometrischen authentisierung
WO2000070620A1 (de) Speicheranordnung mit adressverwürfelung
EP0811204A1 (de) Verarbeitung langer nachrichten in einer prozessorkarte
DE10115722A1 (de) Effiziente Echtzeitverwaltung von Speicherbetriebsmitteln
DE10045926A1 (de) Verfahren zum Auffinden einer in einem Speicher, insbesondere des Speichers eines tragbaren Datenträgers abgelegten Anwendungsdatei
EP1695207A2 (de) Java smart card chip mit für globale variablen reserviertem speicherbereich
WO2001041087A1 (de) Verfahren zur initialisierung und/oder personalisierung von chipkarten sowie eine entsprechende einrichtung
EP1634472B1 (de) Chipkarte mit wenigstens einer applikation
WO2001006347A1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers
EP3132346B1 (de) Verfahren zum ausführen einer codefolge auf einem sicherheitsmodul
EP0977160B1 (de) Verfahren und Datenverarbeitungsanordnung zum gesicherten Ausführen von Befehlen
EP1959343A1 (de) Verfahren zur Analyse einer Softwarekonfiguration eines tragbaren Datenträgers
DE102007029343A1 (de) Zusätzliche Telefonbuchverzeichnisse auf einer SIM-Karte
DE10328238A1 (de) Verfahren zum Laden von Chipkarten mit Initialisierungs- und/oder Personalisierungsdaten
DE102004005676A1 (de) Datenträger mit plattformunabhängigem Anwendungs-Programmcode
DE102013108309A1 (de) Verfahren zum Konnektieren von Objekten in einer Softwareanwendung
EP1436703A2 (de) Erzeugen einer nachricht zur fehlersuche bei einem tragbaren datenträger
DE3745144C2 (de) IC-Kartensystem

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee