WO1997001147A2 - Verfahren zur vereinfachung der kommunikation mit chipkarten - Google Patents

Verfahren zur vereinfachung der kommunikation mit chipkarten Download PDF

Info

Publication number
WO1997001147A2
WO1997001147A2 PCT/EP1996/002483 EP9602483W WO9701147A2 WO 1997001147 A2 WO1997001147 A2 WO 1997001147A2 EP 9602483 W EP9602483 W EP 9602483W WO 9701147 A2 WO9701147 A2 WO 9701147A2
Authority
WO
WIPO (PCT)
Prior art keywords
chip card
application
data
dialog module
request
Prior art date
Application number
PCT/EP1996/002483
Other languages
English (en)
French (fr)
Other versions
WO1997001147A3 (de
Inventor
Klaus Rindtorff
Hermann Bublitz
Original Assignee
International Business Machines Corporation
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 International Business Machines Corporation filed Critical International Business Machines Corporation
Priority to US08/793,911 priority Critical patent/US6279047B1/en
Priority to PL96318655A priority patent/PL182666B1/pl
Priority to JP9503547A priority patent/JPH09510812A/ja
Priority to KR1019970701152A priority patent/KR100308596B1/ko
Publication of WO1997001147A2 publication Critical patent/WO1997001147A2/de
Publication of WO1997001147A3 publication Critical patent/WO1997001147A3/de

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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • 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

Definitions

  • the invention relates to a device and a method for communicating an application with a chip card, and for use in read / write devices for
  • data carrier cards or chip cards portable, mostly small, approximately credit card-sized cards, preferably made of plastic or metal, with an electronic chip integrated therein are referred to as data carrier cards or chip cards.
  • intelligent data carrier cards also called multifunctional chip cards, or smart cards
  • Simple memory cards generally only allow data to be written and read.
  • Intelligent data carrier cards also have functions for structuring the data, localizing the data, managing the data and protecting the data.
  • the interface of an intelligent chip card, and with it the necessary programming (e.g. of command sequences) to read data from a chip card, is therefore much more complex than that of memory cards.
  • chip cards differ significantly from manufacturer to manufacturer. Many of the chip cards implement a subset of the ISO standard 7816 and also have some special functions. In addition, in practice there is the necessary knowledge of the details of the internal and external application parts to be implemented.
  • commands are usually permanently programmed (encoded). However, this means increased rigidity of the application and poor maintainability.
  • a device for communicating an application with a chip card has at least one Application data directory - or also called dictionary - for receiving information about application-specific data of the application, and at least one chip card dialog module - also called agent - for generating commands using the
  • Application data directory for an interface to the chip card the chip card dialog module containing card-specific data about the chip card.
  • the application makes a request for communication with the chip card to the chip card dialog module specified for the chip card.
  • the chip card dialog module Upon request, the chip card dialog module generates at least one command that is required for communication with the chip card.
  • the chip card dialog module makes application-specific information, which is stored in the application data directory, accessible *
  • Application-specific data are data that contain information about the type, location, scope and access methods for data stored on a chip card, as well as the data stored on the chip card itself.
  • Card-specific data represent such data, the information about the required commands and the protocol give a chip card to access the data stored there.
  • the solution presented here facilitates the integration of chip cards in existing applications as well as the implementation of new applications.
  • the separation of application-specific and card-specific data minimizes the knowledge required for applications and simplifies their use.
  • the maintainability of the internal and external application parts is significantly improved.
  • the use of the chip card is relieved of card-specific aspects such as commands, protocols and data structures.
  • an asynchronous mode is also possible.
  • the invention is preferably used in reading / writing devices for chip cards in the broadest sense, that is to say in PCs or other devices which coordinate, control and directly or indirectly carry out communication with chip cards.
  • 1 is a schematic representation of the communication according to the invention of an application with a chip card
  • 2 shows the use of several dictionaries and / or several agents for a large number of different applications and types of chip cards
  • FIG 3 shows a further embodiment which enables a reduction in the overhead in the communication with the chip card.
  • FIG. 1 shows a schematic representation of the communication according to the invention of an application 10 with a chip card 20.
  • the application 10 is located separately from the chip card 20, for example in a reader / writer, a computer or another, for communication with the chip card 20 capable environment.
  • An application data directory, the so-called dictionary 30, is used to hold application-specific data.
  • a chip card dialog module, the so-called agent 40 (smart card agent or smart card interpreter), generates the commands required for the interface of the chip card 20.
  • the dictionary 30 contains information about the type, location, scope and access methods of data stored on a chip card, as well as information for the treatment of this data which may be necessary due to the security requirements of the application 10.
  • One or more alias names are assigned to the data for easy identification of the respective data for access by the application 10.
  • This information is stored in a suitable form, for example in tabular or hierarchical form, in the dictionary 30 and includes all the information required for the application 10 or a large number of other applications (for more information see FIG. 2).
  • the dictionary 30 is only accessed by the agent 40.
  • the assignment of a dictionary 30 to one Agent 40 comes about through the external application part or a special extension of the agent 40.
  • the dictionary 30 is preferably generated by manually creating the required data. For this purpose, all information is required for all data and their properties on the chip card 20.
  • the data that can be reached by the application 10 on the chip card 20 are provided with the alias names provided for the dictionary 30.
  • the application 10 makes a request 100 to the agent 40.
  • a request 100 contains information about the desired access method and the alias name of the desired data.
  • agent 40 Upon this request 100, agent 40 generates the necessary command sequences in order to be able to access data from chip card 20. He uses the information that is stored in the dictionary 30 in an entry for the respective alias name. The required parameters of the access method are transferred to the agent 40 with the request 100.
  • query 100 which is intended to read a date on chip card 20
  • Example consist of the READ access type for data with the alias name ACCOUNT NUMBER and a memory address for storing the data.
  • authentication, creation or deletion of structures and the application-specific commands that can be implemented with chip cards can also occur here. These are methods stored on the chip card 20 which are triggered by special commands. This can, for example, modify the amount of a be implemented on the chip of the chip card 20 wallet.
  • the agent 40 is preferably implemented as an asynchronous module, but can also be operated synchronously.
  • agent 40 Upon request 100 from application 10, agent 40 generates a sequence of commands for the chip card. Each command 110 of the sequence is individually returned to the application 10. This transmits the respective command 110 of the agent 40 as an application command 130 to a corresponding reader / writer 120 for the direct reading and writing of data on the chip card 20.
  • the application 10 as already described above, can also be located directly in the reader / writer 120. Instead of a sequence of commands, a single command 110 may also be sufficient for a specific application.
  • the reader / writer 120 transmits the application command 130, or an application command 130 'derived therefrom, to the chip card 20 and receives a response 140 therefrom.
  • the data of the response 140, or a response 140' likewise derived therefrom, are used by the application 10 received and again supplied to the agent 40 as response data 150. This interprets the response data 150 and then generates the next command if necessary. The process is repeated until the desired data has been processed.
  • the agent 40 transmits a data record 160 in response to the request 100 and the data returned by the chip card 20 to the application 10. This data record 160 provides the data for the application 10 understandable answer of the chip card 20 to the request 100 of the application 10, which is not understandable for the chip card 20.
  • Agent 40 is preferably implemented using the concept of finite automata. Such a machine is able to save its internal state and to change to another state on the basis of input data and its current state. This machine is programmed by specifying the desired status changes for the respective combinations of the current status and input data.
  • the application 10 will first select the suitable agent 40 (for example from a large number of possible agents).
  • the desired dictionary 30 is also specified at the latest when a query is generated to the agent 40. Both are based on special response data from the card, e.g. were obtained by an initial query from the chip card 20 and knowledge of the respective application 10 to be executed.
  • the application 10 can make the request 100 to the agent 40.
  • the agent 40 searches the dictionary 30 for the alias name contained in the request 100 and also receives the required application-specific information.
  • the first request 100 puts the agent 40 in a start state and the first command of the required command sequence is then generated.
  • the agent 40 With each response to a command, the agent 40 will change the internal state and collect information about the progress of the sequence. The generation of commands terminates as soon as the agent 40 has reached a final state that is relevant for the request. This is the case if a communication error should have occurred or the data has been processed successfully.
  • a change in the application 10 becomes necessary due to a modification of the data stored on chip cards, this can be limited to a change in the dictionary 30.
  • a new dictionary 30 '(not shown) is made available to application 10, and application 10 itself need not be changed.
  • the command 110 and '140, the response is changed 40 of the agent preferably by either the application 10 or by the read / write device 120, or possibly other between the agent 40 and IC card 20 lying devices.
  • the signals 110, 130 and 130 ' are identical in this case, and the chip card 20 indirectly receives the command 110 from the agent 40 and in turn (likewise indirectly) transmits its response 140 to the command 110.
  • the signals 140, 140 are thus also 'and 150 identical.
  • a respective direct transmission of the command 110 to the chip card 20 and the corresponding response 140 back to the agent 40 can also be implemented.
  • the agent 40 can operate in both an asynchronous and a synchronous mode.
  • the application 10 does not wait for the agent 40 to reply to the request 100 and is therefore also available between the request 100 and the reply.
  • the application 10 waits for a response from the agent 40 for the request 100 and is only available again after the feedback has been given.
  • FIG. 2 shows the use of a plurality of dictionaries 230 and / or a plurality of agents 240 for a multiplicity of different applications 210 and types of chip cards 220.
  • a so-called agency 250 is identified by the application 10 of the plurality of applications 210 instead of the agent 40, as shown in FIG. 1.
  • Agency 250 is responsible for managing the various dictionaries 230 and agents 240 and, if necessary, for ensuring that corresponding versions are available.
  • a list of all local dictionaries 230 and agents 240 with their properties and the criteria for when to use them is preferably used for this purpose. If a suitable agent or dictionary is not available, another agency 260 may request a copy, or a copy thereof, of a required copy. This can be done via a local network as well as via suitable communication channels between agencies 250 and 260.
  • an interpreted programming language when implementing an agent 40, the same implementation can also be used on devices with different hardware and operating systems. For this purpose, a suitable interpreter is implemented for each device, which interprets the agent's program.
  • Agents 40 placed closer to the chip card 20.
  • the agent 40 is replaced by a proxy, the so-called proxy 340.
  • the proxy 340 For each request 100, the latter creates a single data record 350 with all the necessary information from the dictionary 30 and has this sent to a router 360.
  • the router 360 receives the data record 350 from the proxy 340, in turn instructs the agent 40 moved to this level. All commands 370 generated by the agent 40 are now sent by the router 360 to the chip card 20 and each response 380 again to the agent 40.
  • a result 390 of the request 100 for the communication of the agent 40 with the chip card 20 is finally returned by the router 360 to the proxy 340 and v (.n this as response 160 to the application 10.
  • the proxy 340 guarantees a unified interface for application 10 so that it does not have to be changed when used 10.
  • Application 10 remains independent of whether it communicates with agent 40 or its proxy 340.
  • Router 360 preferably becomes on the same level as the agent 40 placed, while the dictionary 30 remains at the level of application 10, or agency 230.
  • the reader / writer 120 is an abstract representation of a device with direct access to the chip card 20.
  • the reader / writer 120 can, however, consist of a large number of individual devices and layers with individual interfaces with one another.
  • the invention relates both to the simple memory cards and to intelligent data carrier cards with their own processor for checking the data stored on the chip of the data carrier card.
  • a modification of the dictionary 30 can also be carried out directly by the agent 40 or the agency 250. This is particularly advantageous if structures on chip card 20 are to be created or changed with the aid of agent 40, for example if agent 40 is to create or redesign a new file on chip card 20. This new information is then entered into dictionary 30 by agent 40 or agency 250.
  • the dictionary 30 is located directly on the chip card 20. This enables the required dictionary 30 for the chip card 20 to always be immediately available.
  • the dictionary 30 located directly on this chip card 20 is copied and stored (preferably by the agent 40) and is available to the agent 40 or the agency 250 for further chip cards of the same type of chip card.
  • the application 10 would like to read an account number from the chip card 20.
  • the agent 40 to be used is selected on the basis of card features of the chip card type of the chip card 20.
  • the application 10 sends the request 100 to the agent 40, to whom a specific dictionary 30 should already be assigned by means of a previous selection based on card data of the chip card type of the chip card 20.
  • Table 1 shows a section of the assigned dictionary 30.
  • the query 100 contains the parameters "READ”, the alias "ACCOUNT NUMBER” and the memory address of a buffer in which the result of the query 100 is to be stored. Agent 40 then searches dictionary 30 for the alias "ACCOUNT NUMBER” (see Table 1). The entry found provides the information in which directory and in which file of the chip card 20 this date can be found, as well as information about the type and scope of the date and security-relevant information.
  • the data on the chip card 20 are arranged in directories, as are known from file systems for computers.
  • the path "3F00.A100.4001" is found in table 1 (marked with an arrow) under the alias "ACCOUNT NUMBER" and the information that it is a file of the type TRANSPARENT.
  • the date is in the file with offset 4 and a length of 5 bytes.
  • the key domain KREDIT and the authorization domain AUT_KREDIT are used to translate the logical key numbers into physical keys.
  • the domain GLOBAL is used for PIN1 and PIN2.
  • a domain for a particular object is a set of directories and files that access a common instance of that object.
  • the agent 40 begins with the generation of a command sequence for the selection of the required directory on the chip card 20 on the basis of the path "3F00.A100.4001".
  • the current directory selection is taken into account.
  • a first command 110 for the selection of the subdirectory A100 is generated.
  • This first command 110 is returned to the application 10 with a signal that the command sequence is to be continued.
  • the application 10 then forwards the first command 110 as command 130 to an interface for transmission to the read / write device 120 used for the chip card 20. This transmits the command 130 to the chip card 20.
  • the chip card 20 sends a response 140 with a confirmation of the selection and possibly information about the selected directory.
  • the response 140 is sent from the read / write device 120 to the application 10, which forwards it immediately as response data 150 to the agent 40.
  • the response data 150 is generally in a format incomprehensible to the application 10.
  • the agent 40 must have extensive knowledge of the chip card 20. The agent 40 can draw conclusions about the success of the first command 110 from the response data 150 and collect information about the progress of the command sequence.
  • a second command 110 'for selecting the file 4001 is transmitted to the application 10 and the first command 110 is handled as before.
  • Command 110" is transmitted as previously command 110 and answered accordingly by the chip card 20.
  • the response data 150 ′′ of the chip card 20 now also contain the desired data.
  • this data is encrypted, which the agent 40 recognized on the basis of previous information when selecting the file 40 to application 10 in order to decrypt the data, application 10 can perform the decryption itself or forward it to another specialized module, and the result is returned as response date 150 "" to agent 40, who now copies the Data in a format understandable to the application 10 in the buffer memory specified in the original request 100 and signals the end of the command sequence to the application 10.
  • the application 10 can now access the account number and send a next request to the agent 40.

Abstract

Eine erfindungsgemäße Vorrichtung zur Kommunikation einer Anwendung (10) mit einer Chipkarte (20) weist mindestens ein Anwendungsdatenverzeichnis (30) - oder auch Wörterbuch genannt - zur Aufnahme von Informationen über anwendungsspezifische Daten der Anwendung (10) auf, und mindestens ein Chipkartendialogmodul (40) - oder auch Agent genannt - für die Generierung von Kommandos mit Hilfe des Anwendungsdatenverzeichnisses (30) für eine Schnittstelle zur Chipkarte (20), wobei das Chipkartendialogmodul (40) kartenspezifische Daten über die Chipkarte (20) enthält. Von der Anwendung (10) wird eine Anfrage (100) zur Kommunikation mit der Chipkarte (20) an das für die Chipkarte (20) spezifizierte Chipkartendialogmodul (40) gestellt. Das Chipkartendialogmodul (40) erzeugt auf die Anfrage (100) hin mindestens ein Kommando (110), das zu einer Kommunikation mit der Chipkarte (20) erforderlich ist. Das Chipkartendialogmodul (40) macht sich hierfür anwendungsspezifische Informationen, die in dem Anwendungsdatenverzeichnis (30) gespeichert sind, zugänglich.

Description

B E S C H R E I B U N G
Verfahren zur Vereinfachung der Kommunikation mit
Chipkarten
Gebiet der Erfindung
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur Kommunikation einer Anwendung mit einer Chipkarte, sowie eine Verwendung in Lese-/Schreibgeräten für
Chipkarten.
Stand der Technik
Als Datenträgerkarten oder Chipkarten werden heute tragbare, zumeist kleine, in etwa in Scheckkartenformat sich befindliche, Karten, vorzugsweise aus Kunststoff oder Metall, mit einem darin integrierten elektronischen Chip bezeichnet. Im Gegensatz zu einfachen Speicherkarten (die als Memory Chip-Cards oder Memory-Cards bekannt sind) besitzen intelligente Datenträgerkarten (auch multifunktionale Chipkarten, oder Smart-Cards genannt) neben einem Speicherbereich einen eigenen Prozessor zur Kontrolle der auf dem Chip der Datenträgerkarte gespeicherten Daten. Dies erlaubt einen besseren Schutz der Daten und führt zu einer verbesserten Funktionalität der Chipkarten. Einfache Speicherkarten erlauben im allgemeinen nur ein Schreiben und Lesen der Daten. Intelligente Datenträgerkarten verfügen darüber hinaus noch über Funktionen zur Strukturierung der Daten, zur Lokalisierung der Daten, zur Verwaltung der Daten und zum Schutz der Daten. Die Schnittstelle einer intelligenten Chipkarte, und damit auch die erforderliche Programmierung (z.B. von Kommandosequenzen) , um Daten von einer Chipkarte zu lesen, ist daher wesentlich komplexer als die von Speicherkarten.
Der vor allem wegen der erhöhten Fälschungssicherheit zunehmende Einsatz von Chipkarten erstreckt sich auf zahlreiche Anwendungsgebiete. Anwendungen mit Chipkarten, also Anwendungen, für die eine Kommunikation eines beliebigen Gerätes mit einer Chipkarte erforderlich ist, können beispielsweise das bargeldlose Bezahlen, Identifikation des Chipkarteninhabers, die Speicherung von Daten oder dergleichen sein. Eine Anwendung besteht dabei aus internen Anwendungsteilen auf der Chipkarte und externen Anwendungsteilen in entsprechenden Geräten, wie z.B. Geldautomaten, PC's oder speziellen Terminals. Allgemein stellen interne Anwendungsteile alle Daten und Programme dar, die auf der Chipkarte selbst gespeichert werden, während die externen Anwendungsteile alle Daten und Programme außerhalb der Chipkarte darstellen. Die Programmierung dieser externen Anwendungsteile obliegt meist den Programmierern der Geräte, mit denen eine Chipkarte zum Einsatz kommen soll. Häufig existiert in diesen Geräten bereits eine komplexe Software-Plattform. Um hier Anwendungen mit Chipkarten zu integrieren, sind umfangreiche Kenntnisse über die Struktur der dort gespeicherten Daten und die Schnittstelle der Chipkarte erforderlich.
Die meisten verwandten Chipkarten unterscheiden sich von Hersteller zu Hersteller deutlich voneinander. Viele der Chipkarten implementieren eine Teilmenge des ISO Standards 7816 und verfügen zusätzlich über einige Sonderfunktionen. Dazu kommt in der Praxis die erforderliche Kenntnis der Details der zu implementierenden internen und externen Anwendungsteile.
Um einen Zugriff auf die auf Chipkarten gespeicherten Daten zu ermöglichen, erfolgt zumeist eine feste Programmierung (Kodierung) von Kommandos. Dies bedeutet jedoch eine erhöhte Starrheit der Anwendung und eine schlechte Wartbarkeit.
Beim Einsatz von Chipkarten wird im allgemeinen eine Verschlüsselung der Daten oder der Kommandos zur Authentisierung der Chipkarte oder der, zur Chipkarte externen Welt verwendet. Meist wird dabei ein symmetrischer Verschlüsselungsalgorithmus, wie der DES (digital encryption Standard), oder ein asymmetrischer Verschlüsselungsalgorithmus, wie z.B. ein Public-Key Algorithmus, benutzt. Zur Authentisierung des Chipkarteninhabers kommt derzeit fast ausschließlich eine Identifikationsnummer PIN (Personal Identification Number) zum Einsatz. Neben Geräten, wie Lese-/Schreibgeräten für Chipkarten, sind daher insbesondere noch weitere Elemente, wie die Authentisierungselemente zur Verschlüsselung und zur Eingabe der PIN, für eine Anwendung mit Chipkarten zu berücksichtigen und können an einer solchen Anwendung beteiligt sein.
Eine Kommunikation der, durch Hardware oder Software realisierten, Elemente und Geräte mit den externen Anwendungsteilen geschieht durch die Verwendung von Programmierschnittstellen. Für eine Chipkarte ist eine einfache Schnittstelle jedoch nicht befriedigend. Durch die Komplexität der Datenstrukturen und der erforderlichen Kommandos reicht es nicht aus, eine Einbettung der Kommandos in ein anderes Protokoll oder eine höhere Programmiersprache zu verwenden. Dies setzt auch, für anwendungsspezifische Daten, die Kenntnis über interne Strukturen der Chipkarte und damit auch über ihre Erreichbarkeit und Zugreifbarkeit durch die Anwendung über die Schnittstelle zur Chipkarte hin, voraus.
Zusammenfassung der Erfindung
Es ist Aufgabe der Erfindung, eine Vereinfachung der Schnittstelle zur Kommunikation mit einer Chipkarte zu schaffen. Die Aufgabe der Erfindung wird entsprechend der unabhängigen Ansprüche gelöst.
Eine erfindungsgemäße Vorrichtung zur Kommunikation einer Anwendung mit einer Chipkarte weist mindestens ein Anwendungsdatenverzeichnis - oder auch Wörterbuch genannt - zur Aufnahme von Informationen über anwendungsspezifische Daten der Anwendung, und mindestens ein Chipkartendialogmodul - auch Agent genannt - für die Generierung von Kommandos mit Hilfe des
Anwendungsdatenverzeichnisses für eine Schnittstelle zur Chipkarte, wobei das Chipkartendialogmodul kartenspezifische Daten über die Chipkarte enthält.
Von der Anwendung wird eine Anfrage zur Kommunikation mit der Chipkarte an das für die Chipkarte spezifiziertes Chipkartendialogmodul gestellt. Das Chipkartendialogmodul erzeugt auf die Anfrage hin mindestens ein Kommando, das zu einer Kommunikation mit der Chipkarte erforderlich ist. Das Chipkartendialogmodul macht sich hierfür anwendungsspezifische Informationen, die in dem Anwendungsdatenverzeichnis gespeichert sind, zugänglich*
Um die Implementierung von Anwendungen mit unterschiedlichen Typen von Chipkarten zu erleichtern, ist es erforderlich, eine möglichst einheitliche Schnittstelle der Anwendungen zur Chipkarte zu bekommen. Erfindungsgemäß erfolgt eine Trennung zwischen anwendungsspezifischen Daten und kartenspezifischen Daten. Anwendungsspezifische Daten sind solche Daten, die Informationen über Art, Lokalität, Umfang und Zugriffsmethoden für auf einer Chipkarte gespeicherte Daten enthalten, sowie die auf der Chipkarte gespeicherten Daten selbst. Kartenspezifische Daten dagegen stellen solche Daten dar, die Informationen über die erforderlichen Kommandos und das Protokoll einer Chipkarte zum Zugriff auf die dort gespeicherten Daten geben.
Die Trennung zwischen anwendungsspezifischen Daten und kartenspezifischen Daten ermöglicht es, daß ein und dieselbe Anwendung mit verschiedenen Chipkartentypen realisiert werden kann. Dies führt zu einer wesentlichen Vereinfachung der Schnittstelle zu Chipkarten und verbessert andererseits die Trennung zwischen internen Anwendungsteilen auf der Chipkarte und von der Chipkarte getrennten, externen Anwendungsteilen. Eine flexible Anpassung an neue Anwendungen und Chipkartentypen wird so unterstützt.
Die hier vorgestellte Lösung erleichtert sowohl die Integration von Chipkarten in existenten Anwendungen, als auch die Implementierung neuer Anwendungen. Durch die Trennung von anwendungsspezifischen und kartehspezifischen Daten werden die für Anwendungen erforderlichen Kenntnisse minimiert und ihre Verwendung vereinfacht. Die Wartbarkeit der internen als auch externen Anwendungsteile wird deutlich verbessert. Die Anwendung der Chipkarte wird von kartenspezifischen Aspekten wie Kommandos, Protokollen und Datenstrukturen entlastet. Gleichzeitig wird neben einer synchronen auch eine asynchrone Betriebsart ermöglicht.
Die Erfindung findet vorzugsweise Anwendung in Lese- /Schreibgeräten für Chipkarten im weitesten Sinne, das heißt in PC's oder anderen Geräten die eine Kommunikation mit Chipkarten koordinieren, steuern und mittelbar oder unmittelbar durchführen.
Weitere, vorteilhafte Ausführungen der Erfindung finden sich in den Unteransprüchen.
Beschreibung der Zeichnungen
Zur näheren Erläuterung der Erfindung sind im folgenden Ausführungsbeispiele mit Bezugnahme auf die Zeichnungen beschrieben. Es zeigen:
Fig. 1 eine schematische Darstellung der erfindungsgemäßen Kommunikation einer Anwendung mit einer Chipkarte, Fig. 2 die Verwendung mehrerer Wörterbücher und/oder mehrerer Agenten für eine Vielzahl verschiedener Anwendungen und Typen von Chipkarten,
Fig. 3 eine weitere Ausführungsform die eine Reduzierung des Overheads bei der Kommunikation mit der Chipkarte ermöglicht.
Beschreibung der Erfindung
Fig. 1 zeigt eine schematische Darstellung der erfindungsgemäßen Kommunikation einer Anwendung 10 mit einer Chipkarte 20. Die Anwendung 10 befindet sich, getrennt von der Chipkarte 20, beispielsweise in einem Lese-/Schreibgerät, einem Computer oder einer sonstigen, zur Kommunikation mit der Chipkarte 20 fähigen Umgebung. Ein Anwendungsdatenverzeichnis, das sogenannte Wörterbuch 30 (application dictionary), dient zur Aufnahme von anwendungsspezifischen Daten. Ein Chipkartendialogmodul, der sogenannte Agent 40 (smart card agent oder smart card interpreter) , generiert die erforderlichen Kommandos für die Schnittstelle der Chipkarte 20.
Das Wörterbuch 30 enthält Informationen über Art, Lokalität, Umfang und Zugriffsmethoden von auf einer Chipkarte gespeicherten Daten, sowie Informationen für die, aufgrund der Sicherheitsvorgaben der Anwendung 10 eventuell erforderliche, Behandlung dieser Daten. Zur einfachen Identifizierung der jeweiligen Daten für einen Zugriff durch die Anwendung 10 werden den Daten ein oder mehrere Alias-Namen zugeordnet. Diese Informationen werden in geeigneter Form, wie z.B. tabellarisch oder hierarchisch, in dem Wörterbuch 30 angelegt und umfassen alle erforderlichen Informationen für die Anwendung 10 oder eine Vielzahl weiterer Anwendungen (näheres dazu siehe Fig. 2). Der Zugriff auf das Wörterbuch 30 erfolgt nur durch den Agenten 40. Die Zuordnung eines Wörterbuchs 30 zu einem Agenten 40 kommt durch den externen Anwendungsteil oder einer speziellen Erweiterung des Agenten 40 zustande.
Die Generierung des Wörterbuches 30 geschieht vorzugsweise durch eine manuelle Erstellung der erforderlichen Daten. Dazu werden sämtliche Informationen für alle auf der Chipkarte 20 befindlichen Daten und deren Eigenschaften benötigt. Die von der Anwendung 10 auf der Chipkarte 20 erreichbaren Daten werden mit den für das Wörterbuch 30 vorgesehenen Alias-Namen versehen.
Sollen Daten der Chipkarte 20 prozessiert werden, stellt die Anwendung 10 eine Anfrage 100 an den Agenten 40. Eine solche Anfrage 100 enthält Informationen über die gewünschte Zugriffsmethode, sowie den Alias-Namen der gewünschten Daten. Der Agent 40 erzeugt auf diese Anfrage 100 hin die erforderlichen Kommandosequenzen, um auf Daten der Chipkarte 20 zugreifen zu können. Er bedient sich dabei der Informationen, die in dem Wörterbuch 30 in einem Eintrag für den jeweiligen Alias-Namen gespeichert sind. Die erforderlichen Parameter der Zugriffsmethode werden mit der Anfrage 100 an den Agenten 40 übergeben. Beispielsweise gehören zu der Anfrage 100, die ein Lesen eines Datums auf der Chipkarte 20 bewirken soll, der Alias-Name des Datums, die zu verwendende Lesemethode und Angaben über den Ort zur Hinterlegung der Antwort auf die Anfrage 100. Eine solche Anfrage kann also zum Beispiel aus der Zugriffsart LESEN für Daten mit dem Alias-Namen KONTONUMMER und einer Speicheradresse zur Hinterlegung der Daten bestehen. Neben den Methoden Lesen und Schreiben können hier u.a. auch Authentisierung, Erzeugen oder Löschen von Strukturen, sowie die bei Chipkarten realisierbaren anwendungsspezifischen Kommandos auftreten. Bei diesen handelt es sich um auf der Chipkarte 20 gespeicherte Methoden die durch spezielle Kommandos ausgelöst werden. Dies kann zum Beispiel die Modifikation des Betrags einer auf dem Chip der Chipkarte 20 implementierten Geldbörse sein.
Um eine leichte Einbettung in existierende Systeme zu ermöglichen, ist es vielfach erforderlich, eine asynchrone Funktionsweise des Agenten 40 zu garantieren. Viele der verwendeten Softwareplattformen erfordern eine ereignisgesteuerte Programmierung. Ein synchron arbeitendes Modul kann eventuell zu einer temporären Blockierung des gesamten Systems führen. Die Dauer dieser Blockierung ist für Chipkarten-Anwendungen jedoch vielfach nicht tragbar, da diese eine Datenübertragung zu einem relativ langsamen Medium, sowie eine Bearbeitung von Kommandos auf einem relativ langsamen Prozessor einschließt.
Der Agent 40 wird vorzugsweise als asynchrones Modul implementiert, läßt sich jedoch auch synchron betreiben. Auf die Anfrage 100 der Anwendung 10 hin, generiert der Agent 40 eine Sequenz von Kommandos für die Chipkarte. Ein jedes Kommando 110 der Sequenz wird einzeln an die Anwendung 10 zurückgegeben. Diese überträgt das jeweilige Kommando 110 des Agenten 40 als ein Anwendungskommando 130 an ein entsprechendes Lese-/Schreibgerät 120 zum unmittelbaren Lesen und Schreiben von Daten auf der Chipkarte 20. An dieser Stelle sei erwähnt, daß die Anwendung 10, wie bereits oben beschrieben wurde, auch direkt in dem Lese-/Schreibgerät 120 lokalisiert sein kann. Auch kann für bestimmte Anwendung anstatt einer Sequenz von Kommandos ein einzelnes Kommando 110 ausreichen.
Das Lese-/Schreibgerät 120 überträgt das Anwendungskommando 130, oder ein davon abgeleitetes Anwendungskommando 130', auf die Chipkarte 20 und empfängt von diesem eine Antwort 140. Die Daten der Antwort 140, oder einer ebenfalls davon abgeleitete Antwort 140', werden von der Anwendung 10 entgegengenommen und wiederum als Antwortdaten 150 dem Agenten 40 zugeführt. Dieser interpretiert die Antwortdaten 150 und generiert daraufhin, falls erforderlich, das nächste Kommando. Der Vorgang wird solange wiederholt, bis die gewünschten Daten prozessiert worden sind. Am Ende de>> Vorganges, oder auch kontinuierlich während der Kommandosequenz, übermittelt der Agent 40 einen Datensatz 160 als Reaktion auf die Anfrage 100 und die von der Chipkarte 20 zurückgegebenen Daten an die Anwendung 10. Dieser Datensatz 160 stellt die, für die Anwendung 10 verständliche Antwort der Chipkarte 20 auf die, für die Chipkarte 20 nicht verständliche Anfrage 100 der Anwendung 10 dar.
Die Realisierung des Agenten 40 geschieht vorzugsweise durch die Verwendung des Konzeptes der endlichen Automaten. Ein solcher Automat ist in der Lage, seinen internen Zustand zu speichern und aufgrund von Eingabedaten und seinem aktuellem Zustand in einen anderen Zustand zu wechseln. Die Programmierung dieses Automaten geschieht durch die Vorgabe der gewünschten Zustandsänderungen für die jeweiligen Kombinationen aus augenblicklichem Zustand und Eingabedaten.
Während der Generierung von Kommandos kommt es bei Verwendung von durch Schlüssel geschützten Daten oder Befehlen, z.B. auf der Chipkarte 20, auch zu den erforderlichen Ver- und Entschlüsselungen. Diese sollen aufgrund der Sicherheitsvorgaben vielfach nicht durch den Agenten 40 selbst durchgeführt werden. Der Agent 40 wird daher durch eine geeignete Anfrage an die Anwendung 10 diesen Bedarf signalisieren und die erforderlichen Daten liefern. Die Anwendung 10 ihrerseits wird in den meisten Fällen diese Anfrage des Agenten 40 an ein spezialisiertes Modul zur Verschlüsselung weiterleiten. Nach der Antwort kann der Agent 40 mit der Generierung der Kommandosequenz fortfahren. Neben speziellen Anfragen zur Verschlüsselung können unter anderem noch Anfragen an das Lese-/Schreibgerät 120, sowie Anfragen zu einem (nicht gezeigten) PIN Eingabegerät auftreten. Diese Anfragen werden durch die Anwendung 10 an die entsprechenden Geräte zur Bearbeitung weitergeleitet.
Um mit der Chipkarte 20 zu kommunizieren, wird die Anwendung 10 zunächst den geeigneten Agenten 40 (beispielsweise aus einer Vielzahl möglicher Agenten) auswählen. Spätestens bei der Generierung einer Anfrage an den Agenten 40 wird auch das gewünschte Wörterbuch 30 spezifiziert. Beides geschieht aufgrund spezieller Antwortdaten der Karte, die z.B. durch eine anfängliche Abfrage von der Chipkarte 20 erhalten wurden, und Kenntnissen über die jeweilige, auszuführende Anwendung 10. Nach Auswahl des Agenten 40 und des Wörterbuches 30 kann durch die Anwendung 10 die Anfrage 100 an den Agenten 40 gestellt werden. Der Agent 40 durchsucht daraufhin das Wörterbuch 30 nach dem in der Anfrage 100 enthaltenen Alias-Namen und erhält darüber auch die erforderlichen anwendungsspezifischen Informationen. Die erste Anfrage 100 versetzt den Agenten 40 in einen Startzustand und es wird daraufhin der erste Befehl der erforderlichen Kommandosequenz generiert. Mit jeder Antwort auf ein Kommando wird der Agent 40 den internen Zustand wechseln und Informationen über den Fortschritt der Sequenz sammeln. Die Generierung von Kommandos bricht ab, sobald der Agent 40 einen, für die Anfrage relevanten, Endzustand erreicht hat. Dies ist der Fall, wenn ein Fehler bei der Kommunikation aufgetreten sein sollte, oder die Daten erfolgreich prozessiert worden sind.
Sollte eine Änderung der Anwendung 10 durch eine Modifikation der auf Chipkarten gespeicherten Daten erforderlich werden, kann dies auf eine Änderung des Wörterbuchs 30 begrenzt werden. Ein neues Wörterbuch 30' (nicht gezeigt) wird der Anwendung 10 verfügbar gemacht, und die Anwendung 10 selbst muß nicht geändert werden. Eine Änderung der auf die Chipkarte 20 bezogenen Teile der Anwendung 10, wie zum Beispiel die Verwendung anderer Chipkartentypen mit unterschiedlicher Schnittstelle, führt zu einer Generierung eines neuen Agenten 40' (nicht gezeigt) . Die datenbezogenen Informationen zu der Anwendung 10 in dem Wörterbuch 30 oder 30' müssen dabei nicht geändert werden.
Es ist zu verstehen, daß das Kommando 110 und'die Antwort 140 des Agenten 40 vorzugsweise weder durch die Anwendung 10 noch durch das Lese-/Schreibgerät 120 oder eventuell andere zwischen Agent 40 und Chipkarte 20 liegenden Geräte verändert wird. Die Signale 110, 130 und 130' sind in diesem Fall identisch, und die Chipkarte 20 erhält mittelbar das Kommando 110 des Agenten 40 und übermittelt diesem wiederum (gleichfalls mittelbar) seine Antwort 140 auf das Kommando 110. Damit sind auch die Signale 140, 140' und 150 identisch. Analog dazu ist auch eine jeweilige unmittelbare Übertragung des Kommandos 110 an die Chipkarte 20 und der entsprechenden Antwort 140 zurück an den Agenten 40 realisierbar.
Es ist auch zu verstehen, daß der Agent 40 sowohl in einem asynchronen als auch in einem synchronen Modus betrieben werden kann. Im asynchronen Modus wartet die Anwendung 10 nicht auf eine Rückmeldung des Agenten 40 auf die Anfrage 100 und steht somit auch zwischen Anfrage 100 und Rückmeldung zur Verfügung. Im synchronen Modus jedoch wartet die Anwendung 10 auf eine Rückmeldung des Agenten 40 auf die Anfrage 100 und steht erst nach erfolgter Rückmeldung wieder zur Verfügung.
Fig. 2 zeigt die Verwendung mehrerer Wörterbücher 230 und/oder mehrerer Agenten 240 für eine Vielzahl verschiedener Anwendungen 210 und Typen von Chipkarten 220. Eine sogenannte Agentur 250 wird durch die Anwendung 10 aus der Vielzahl von Anwendungen 210 anstelle des Agenten 40, wie in Fig. 1, aufgerufen. Aufgabe der Agentur 250 ist es, die verschiedenen Wörterbücher 230 und Agenten 240 zu verwalten und bei Bedarf für die Verfügbarkeit entsprechender Versionen zu sorgen. Dazu wird vorzugsweise eine Liste aller lokalen Wörterbücher 230 und Agenten 240 mit deren Eigenschaften sowie der Kriterien, wann diese zu verwenden sind, benutzt. Ist kein geeigneter Agent oder kein geeignetes Wörterbuch verfügbar, kann von einer anderen Agentur 260 ein benötigtes Exemplar, öder eine Kopie davon, angefordert werden. Dies kann über ein lokales Netzwerk, sowie über geeignete Kommunikationswege zwischen den Agenturen 250 und 260 geschehen.
Wird bei der Implementierung eines Agenten 40 eine interpretierte Programmiersprache verwendet, kann ein und dieselbe Implementierung auch auf Geräten mit unterschiedlicher Hardware und Betriebssystemen verwendet werden. Dazu wird für jedes Gerät ein passender Interpreter implementiert, der das Programm des Agenten interpretierend abarbeitet.
Sind beim Transport von Kommandos vom Agenten 40 zur Chipkarte 20 mehrere Programm-Ebenen und Schnittstellen zu durchlaufen, ergibt sich eventuell ein deutlicher Overhead bei der Kommunikation mit der Chipkarte 20. Dieser kann verringert werden, indem man, wie in Fig. 3 gezeigt, den Agenten 40 näher zur Chipkarte 20 hin plaziert. Dazu wird der Agent 40 durch einen Stellvertreter, den sogenannten Proxy 340 ersetzt. Dieser erstellt für jede Anfrage 100 einen einzigen Datensatz 350 mit allen erforderlichen Informationen aus dem Wörterbuch 30 und läßt diesen an einen Router 360 senden. Der Router 360 empfängt den Datensatz 350 des Proxy 340, instruiert nun seinerseits den auf diese Ebene verschobenen Agenten 40. Alle vom Agenten 40 generierten Kommandos 370 werden nun durch den Router 360 an die Chipkarte 20 geschickt und jede Antwort 380 wiederum an den Agenten 40. Ein Resultat 390 der Anfrage 100 nach der Kommunikation des Agenten 40 mit der Chipkarte 20 wird schließlich vom Router 360 an den Proxy 340 und v(.n diesem als Antwort 160 an die Anwendung 10 zurückgegeben. Der Proxy 340 garantiert eine einheitliche Schnittstelle für die Anwendung 10, so daß diese bei seiner Verwendung nicht geändert werden muß. Die Anwendung 10 bleibt unabhängig davon, ob sie mit dem Agenten 40 oder dessen Proxy 340 kommuniziert. Der Router 360 wird vorzugsweise auf der gleichen Ebene wie der Agent 40 plaziert, während das Wörterbuch 30 auf der Ebene der Anwendung 10, beziehungsweise der Agentur 230, verbleibt.
Es sei angemerkt, daß das Lese-/Schreibgerät 120 eine abstrakte Darstellung eines Gerätes mit einem unmittelbaren Zugriff auf die Chipkarte 20 darstellt. Das Lese- /Schreibgerät 120 kann jedoch aus einer Vielzahl einzelner Geräte und Schichten mit einzelnen Schnittstellen untereinander bestehen.
Es ist zu verstehen, daß sich die Erfindung sowohl auf die einfachen Speicherkarten als auch auf intelligente Datenträgerkarten mit einem eigenen Prozessor zur Kontrolle der auf dem Chip der Datenträgerkarte gespeicherten Daten bezieht.
Eine Modifikation des Wörterbuches 30 läßt sich erfindungsgemäß auch unmittelbar durch den Agenten 40 bzw. die Agentur 250 bewerkstelligen. Dies ist insbesondere dann von Vorteil, wenn Strukturen auf der Chipkarte 20 mit Hilfe des Agenten 40 erzeugt oder verändert werden sollen, z.B. wenn der Agent 40 eine neue Datei auf der Chipkarte 20 neu anlegen oder umgestalten soll. Diese neue Information wird dann von dem Agenten 40 bzw. der Agentur 250 in das Wörterbuch 30 eingetragen. In einer Ausführungsform der Erfindung befindet sich das Wörterbuch 30 unmittelbar auf der Chipkarte 20. Dies ermöglicht, daß immer das benötigte Wörterbuch 30 für die Chipkarte 20 unmittelbar zur Verfügung steht. In einer weiteren Ausführungsform wird von der Chipkarte 20 das unmittelbar auf dieser Chipkarte 20 sich befindliche Wörterbuch 30 kopiert und gespeichert (vorzugsweise durch den Agenten 40) und steht dem Agenten 40 bzw. der Agentur 250 für weitere Chipkarten desselben Chipkartentypes zur Verfügung.
Detailliertes Ausführungsbeispiel
Das folgende Beispiel soll den Ablauf einer Kommandosequenz verdeutlichen. Die Anwendung 10 möchte eine Kontonummer von der Chipkarte 20 lesen. Der dabei zu verwendende Agent 40 wird anhand von Kartenmerkmalen des Chipkartentypes der Chipkarte 20 selektiert. Die Anwendung 10 schickt die Anfrage 100 an den Agenten 40, dem bereits ein spezifisches Wörterbuch 30 durch eine vorangegangene Auswahl anhand von Kartendaten des Chipkartentypes der Chipkarte 20 zugeordnet sein soll. Tabelle 1 zeigt einen Ausschnitt aus dem zugeordneten Wörterbuch 30.
Die Anfrage 100 enthält als Parametern den Befehl "LESEN", den Aliasnamen "KONTONUMMER" und die Speicheradresse eines Puffers, in dem das Ergebnis auf die Anfrage 100 abgelegt werden soll. Der Agent 40 durchsucht darauf hin das Wörterbuch 30 nach dem Aliasnamen "KONTONUMMER" (siehe Tabelle 1). Der gefundene Eintrag liefert die Informationen, in welchem Verzeichnis und in welcher Datei der Chipkarte 20 dieses Datum zu finden ist, sowie Angaben über die Art und den Umfang des Datums und sicherheitsrelevante Angaben. Die Daten auf der Chipkarte 20 seien in diesem Beispiel in Verzeichnissen angeordnet, wie diese von Dateisystemen für Computer bekannt sind. In diesem Beispiel wird in Tabelle 1 (mit Pfeil markiert) unter dem Aliasnamen "KONTONUMMER" die Pfadangabe "3F00.A100.4001" gefunden und die Angabe, das es sich um eine Datei des Typs TRANSPARENT handelt. Das Datum befindet sich in der Datei mit Offset 4 und einer Länge von 5 bytes. Zur Übersetzung der logischen Schlüsselnummern in physikalische Schlüssel dient die Angabe der Schlüsseldomäne KREDIT und der Authorisierungsdomäne AUT_KREDIT. Bei der Eingabe von Paßwörtern (mit einer PIN) wird für PIN1 und PIN2 die Domäne GLOBAL verwendet. Eine Domäne für ein bestimmtes Objekt stellt eine Menge von Verzeichnissen und Dateien dar, die auf eine gemeinsame Instanz dieses Objektes zugreifen.
Der Agent 40 beginnt mit der Generierung einer Kommandosequenz zur Selektion des erforderlichen Verzeichnisses auf der Chipkarte 20 anhand der Pfadangabe "3F00.A100.4001". Dabei wird die augenblickliche Verzeichnisselektion in Betracht gezogen. Für den Fall, daß das Verzeichnis 3F00 bereits selektiert ist, wird als ein erstes Kommando 110 zur Selektion des Unterverzeichnisses A100 generiert. Dieses erste Kommando 110 wird an die Anwendung 10 zurückgegeben mit einem Signal, das die Kommandosequenz fortgesetzt werden soll. Die Anwendung 10 gibt das erste Kommando 110 als Kommando 130 daraufhin an eine Schnittstelle zur Übertragung an das verwendete Schreib/Lesegerät 120 für die Chipkarte 20 weiter. Dieses überträgt das Kommando 130 an die Chipkarte 20. Die Chipkarte 20 sendet eine Antwort 140 mit einer Bestätigung der Auswahl und gegebenenfalls Informationen über das selektierte Verzeichnis. Die Antwort 140 wird vom Schreib/Lesegerät 120 an die Anwendung 10 geschickt, die diese sofort als Antwortdaten 150 an den Agenten 40 weiterleitet.
Die Antwortdaten 150 liegen im allgemeinen in einem der Anwendung 10 unverständlichen Format vor. Um die Antwortdaten verstehen zu können, müssen die umfangreichen Kenntnisse des Agenten 40 über die Chipkarte 20 vorhanden sein. Der Agent 40 kann aus den Antwortdaten 150 Schlüsse über den Erfolg des ersten Kommandos 110 ziehen und Informationen über der Fortschritt der Kommandosequenz sammeln. Als nächstes wird ein zweites Kommando 110' zur Selektion der Datei 4001 an die Anwendung 10 übermittelt und wie zuvor das erste Kommando 110 behandelt.
Anschließend wird ein weiteres Kommando HO'1 "zum Lesen der angeforderten Daten generiert. Dazu wird die Information über Ort (Offset=4) und Größe (Länge=5) der Kontonummer verwendet. Das Kommando 110'' wird wie zuvor Kommando 110 übertragen und entsprechend von der Chipkarte 20 beantwortet. Die Antwortdaten 150'' der Chipkarte 20 enthalten nun außerdem die gewünschten Daten. Diese Daten seien beispielsweise verschlüsselt, was der Agent 40 anhand vorhergehender Informationen bei der Selektion der Datei erkannt hat. Nun wird eine Anfrage 160 des Agenten 40 an die Anwendung 10 generiert, um eine Entschlüsselung der Daten durchzuführen. Die Anwendung 10 kann die Entschlüsselung selbst durchführen oder sie an ein weiteres spezialisiertes Modul weiterleiten. Das Ergebnis wird als Antwortdatum 150''' an den Agenten 40 zurückgegeben. Dieser kopiert nun die Daten in einem der Anwendung 10 verständlichen Format in den bei der ursprünglichen Anfrage 100 angegebenen Pufferspeicher und signalisiert der Anwendung 10 das Ende der Kommandosequenz. Die Anwendung 10 kann nun auf die Kontonummer zugreifen und eine nächste Anfrage an den Agenten 40 senden.

Claims

A N S P R Ü C H E
1. Vorrichtung zur Kommunikation einer Anwendung (10) nut einer Chipkarte (20), gekennzeichnet durch:
mindestens ein Anwendungsdatenverzeichnis (30) zur Aufnahme von Informationen über anwendungsspezifische Daten der Anwendung (10), und
mindestens ein Chipkartendialogmodul (40) für die Generierung von Kommandos mit Hilfe des Anwendungsdatenverzeichnisses (30) für eine Schnittstelle zur Chipkarte (20), wobei das Chipkartendialogmodul (40) kartenspezifische Daten über die Chipkarte (20) enthält.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Anwendungsdatenverzeichnis (30) Alias-Namen zur Bezeichnung der anwendungsspezifischen Daten enthält.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß nur das Chipkartendialogmodul (40) Zugriff auf das Anwendungsdatenverzeichnis (30) hat.
4. Vorrichtung nach einem der vorstehenden Ansprüche, gekennzeichnet durch ein Zuordnungsmittel zur Zuordnung eines Anwendungsdatenverzeichnisses (30) zu einem Chipkartendialogmodul (40).
5. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß in dem
Anwendungsdatenverzeichnis (30) die Informationen für eine oder mehrere Anwendungen (10) enthalten sind.
6. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Chipkartendialogmodul (40) so implementiert ist, daß es sowohl als synchrones als auch als asynchrones Modul verwendet werden kann.
7. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Chipkartendialogmodul (40) als ein endlicher Automat implementiert ist, der in der Lage ist, sich seinen internen Zustand zu merken und aufgrund von Eingabedaten und aktuellem Zustand in einen anderen Zustand zu wechseln.
8. Vorrichtung nach einem der vorstehenden Ansprüche, gekennzeichnet durch mindestens eine Agentur (250, 260), die für die Verwaltung der jeweils vorhandenen Chipkartendialogmodule (240, 240') und
Anwendungsdatenverzeichnisse (230, 230') zuständig ist und von der Anwendung (10) benutzt wird, um die entsprechende Kombination von Chipkartendialogmodul (40) und Anwendungsdatenverzeichnis (30) für den jeweiligen Typ von Chipkarten (20) zu bestimmen.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, ,daß die mindestens eine Agentur (250) mit einer 'weiteren Agentur (260) über ein Netzwerk oder einen anderen, geeigneten Kommunikationsweg in Verbindung steht.
10. Vorrichtung nach einem der vorstehenden Ansprüche, gekennzeichnet durch
einen Stellvertreter (340), der in etwa in der Ebene der Anwendung (10) plaziert ist und das Chipkartendialogmodul (40) in seiner Kommunikation mit der Anwendung (10) ersetzt, der Stellvertreter (340) weist ein Mittel zur Erstellung eines Datensatzes (350) auf, wobei der Datensatz (350) auf eine Anfrage (100) der Anwendung (10) hin Informationen aus dem Anwendungsdatenverzeichnis (30) enthält;
einen Router (360) mit einem Mittel zum Empfang des Datensatzes (350) und einem Mittel zur Instruktion des auf die Ebene des Router (360) verschobenen Chipkartendialogmoduls (40),
wobei der Router (360) ein von dem
Chipkartendialogmodul (40) generiertes Kommando (370) an die Chipkarte (20) und eine Antwort (380) der Chipkarte (20) auf das Kommando (370) an das Chipkartendialogmodul (40) schickt, der Router (360) ein Resultat (390) der Anfrage (100) nach der Kommunikation des Chipkartendialogmoduls (40) mit der Chipkarte (20) an den Stellvertreter (340) zurückgibt, und der Stellvertreter (340) eine Antwort (160) an die Anwendung (10) gibt.
11. Verfahren zur Kommunikation einer Anwendung (10) mit einer Chipkarte (20), dadurch gekennzeichnet, daß
von der Anwendung (10) eine Anfrage (100) zur Kommunikation mit der Chipkarte (20) an ein für die Chipkarte (20) spezifiziertes Chipkartendialogmodul (40) gestellt wird, das kartenspezifische Daten über die Chipkarte (20) aufweist, und
das Chipkartendialogmodul (40) auf die Anfrage (100) hin mindestens ein Kommando (110) erzeugt, das zu einer Kommunikation mit der Chipkarte (20) erforderlich ist, wobei das Chipkartendialogmodul (40) sich dabei anwendungsspezifische Informationen, die in einem Anwendungsdatenverzeichnis (30) gespeichert sind, zugänglich macht.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß
das Chipkartendialogmodul (40) durch die Anwendung (10) aus einer Vielzahl von Chipkartendialogmodulen (40) ausgewählt wird;
spätestens bei der Generierung der Anfrage (100) an das Chipkartendialogmodul (40) das Anwendungsdatenverzeichnis (30) spezifiziert wird;
wobei beides aufgrund spezieller Antwortdaten der Chipkarte (20) und Kenntnissen über die jeweilige, auszuführende Anwendung (10) geschieht.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß die speziellen Antwortdaten der Chipkarte (20) durch eine anfängliche Abfrage von der Chipkarte (20) erhalten wurden.
14. Verfahren nach einem der Ansprüche 11-13, dadurch gekennzeichnet, daß in dem Anwendungsdatenverzeichnis (30) zur Identifizierung den jeweiligen Daten für einen Zugriff durch die Anwendung (10) mindestens ein Alias-Name zugeordnet wird.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß die Anfrage (100) Informationen über die gewünschte Zugriffsmethode sowie den Alias-Namen der gewünschten Daten enthält.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß nach Stellen der Anfrage (100) an das Chipkartendialogmodul (40) dieses das Anwendungsdatenverzeichnis (30) nach in der Anfrage 100 enthaltenen Alias-Namen durchsucht.
17. Verfahren nach einem der Ansprüche 11-16, dadurch gekennzeichnet, daß die erste Anfrage (100) das Chipkartendialogmodul (40) in einen Startzustand versetzt, daraufhin ein erstes Kommando einer Kommandosequenz generiert wird, wobei mit jeder Antwort (150) auf ein Kommando (110) das Chipkartendialogmodul (40) den internen Zustand wechselt und Informationen über den Fortschritt der Sequenz sammelt, und die Generierung von Kommandos abbricht, sobald das Chipkartendialogmodul (40) einen, für die Anfrage (100) relevanten, Endzustand erreicht hat.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß der Endzustand erreicht wird, wenn ein Fehler bei der Kommunikation aufgetreten sein sollte oder die Daten erfolgreich prozessiert worden sind.
19. Verfahren nach einem der Ansprüche 11-18, dadurch gekennzeichnet, daß bei einer Modifikation der auf der Chipkarte (20) gespeicherten Daten nur eine Änderung des jeweiligen Anwendungsdatenverzeichnis (30) durchgeführt und ein neues Anwendungsdatenverzeichnis (30') der Anwendung (10) verfügbar gemacht wird, wobei die Anwendung (10) selbst nicht geändert werden muß.
20. Verfahren nach einem der Ansprüche 11-19, dadurch gekennzeichnet, daß bei einer Änderung der auf die Chipkarte (20) bezogenen Teile der Anwendung (10) eine Generierung eines neuen Chipkartendialogmoduls (40") durchgeführt wird.
21. Verfahren nach einem der Ansprüche 11-20, dadurch gekennzeichnet, daß bei der Verwendung mehrerer Anwendungsdatenverzeichnis (230) und/oder mehrerer Chipkartendialogmodule (240) für eine Vielzahl verschiedener Anwendungen (210) und Typen von Chipkarten (220) eine Agentur (250) durch die Anwendung (10) aufgerufen wird, wobei die Agentur (250) die verschiedenen Anwendungsdatenverzeichnisse (230) und Chipkartendialogmodule (240) verwaltet.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß die Agentur (250) bei Bedarf für die Verfügbarkeit entsprechender Versionen von Anwendungsdatenverzeichnissen (230) und Chipkartendialogmodulen (240) sorgt.
23. Verfahren nach Anspruch 20 oder 21, dadurch gekennzeichnet, daß die Agentur (250) von einer anderen Agentur (260) ein benötigtes Exemplar entsprechender Versionen von
Anwendungsdatenverzeichnissen (230) und/oder Chipkartendialogmodulen (240), oder eine Kopie davon, anfordert.
24. Verfahren nach einem der Ansprüche 20-23, dadurch gekennzeichnet, daß die Agentur (250) fehlende Teile durch Kommunikation mit anderen, lokal oder über Vernetzung erreichbaren Resourcen, beschafft.
25. Verfahren nach einem der Ansprüche 11-24, dadurch gekennzeichnet, daß
das erzeugte Kommando (110) an die Anwendung (10) zurückgegeben wird und von dieser als ein Anwendungskommando (130) an ein entsprechendes Lese-/Schreibgerät (120) zum unmittelbaren Lesen und Schreiben von Daten auf der Chipkarte (20) weitergegeben wird;
das Lese-/Schreibgerät (120) das Anwendungskommando (130) oder ein davon abgeleitetes Anwendungskommando (130') auf die Chipkarte (20) überträgt und von dieser eine Antwort (140) empfängt;
die Antwort (140), oder eine ebenfalls davon abgeleitete Antwort (140'), von der Anwendung (10) entgegengenommen wird und wiederum als Antwortdaten (150) dem Chipkartendialogmodul (40) zugeführt werden;
das Chipkartendialogmodul (40) die Antwortdaten (150) interpretiert und daraufhin ein nächstes* Kommando generiert;
wobei der Vorgang solange wiederholt wird, bis die Anfrage (100) prozessiert worden sind.
26.. Verfahren nach Anspruch 25, dadurch gekennzeichnet, daß am Ende des Vorganges, oder auch kontinuierlich während einer Kommandosequenz, das
Chipkartendialogmodul (40) einen Datensatz (160) als Reaktion auf die Anfrage (100) und die von der Chipkarte (20) zurückgegebenen Daten an die Anwendung (10) übermittelt, wobei der Datensatz (160) die, für die Anwendung (10) verständliche Antwort der Chipkarte (20) auf die, für die Chipkarte (20) nicht verständliche Anfrage (100) der Anwendung (10) darstellt.
27. Verfahren nach einem der Ansprüche 11-26, dadurch gekennzeichnet, daß bei Verwendung von durch Schlüssel geschützten Daten oder Befehlen,
das Chipkartendialogmodul (40) mit einer geeignete Anfrage an die Anwendung (10) einen Bedarf zur Durchführung der erforderlichen Ver- und Entschlüsselungen signalisiert und die erforderlichen Daten an diese liefert; und die Anwendung (10) die Anfrage des Chipkartendialogmoduls (40) an ein spezialisiertes Modul zur Verschlüsselung weiterleitet.
28. Verfahren nach einem der Ansprüche 11-27, dadurch gekennzeichnet, daß für die Prozessierung von Daten und/oder Programmen auf der Chipkarte (20) durch die Anwendung (10) die Angabe eines Alias-Namens eines Datums und/oder eines Programmes und eine gewünschte Zugriffsmethode übergeben wird.
29. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß als Zugriffsmethoden Lesen, Schreiben, Authentisierung, und/oder Erzeugen oder Löschen von Strukturen auftreten können.
30. Verfahren nach Anspruch 27 oder 28, dadurch gekennzeichnet, daß als Zugriffsmethode die bei der Chipkarte (20) realisierbaren anwendungsspezifischen Kommandos auftreten können, die auf der Chipkarte (20) gespeichert und durch spezielle Kommandos ausgelöst werden können.
31. Verfahren nach einem der Ansprüche 11-30, dadurch gekennzeichnet, daß
ein Stellvertreter (340), der in etwa in der Ebene der Anwendung (10) plaziert ist und das
Chipkartendialogmodul (40) in seiner Kommunikation mit der Anwendung (10) ersetzt, auf die Anfrage (100) der Anwendung (10) hin einen Datensatz (350) erstellt, der Informationen aus dem Anwendungsdatenverzeichnis (30) enthält;
ein Router (360) den Datensatz (350) empfängt und das, auf diese Ebene des Router (360) verschobene, Chipkartendialogmodul (40), instruiert; der Router (360) ein von dem Chipkartendialogmodul (40) generiertes Kommando (370) an die Chipkarte (20) und eine Antwort (380) der Chipkarte (20) auf das Kommando (370) an das Chipkartendialogmodul (40) schickt, der Router (360) ein Resultat (390) der Anfrage (100) nach der Kommunikation des Chipkartendialogmoduls (40) mit der Chipkarte (20) an den Stellvertreter (340) zurückgibt, und der Stellvertreter (340) eine Antwort (160) an die Anwendung (10) gibt.
32. Verfahren nach einem der Ansprüche 11-31, dadurch gekennzeichnet, daß die Generierung des Anwendungsdatenverzeichnisses (30) durch eine manuelle Erstellung der erforderlichen Daten geschieht, wobei die Generierung mit Hilfe sämtlicher Informationen für alle auf der Chipkarte (20) befindlichen Daten und deren Eigenschaften durchgeführt wird und die von der Anwendung (10) auf der Chipkarte (20) erreichbaren Daten mit Alias-Namen versehen werden.
33. Verfahren nach einem der Ansprüche 11-32, dadurch gekennzeichnet, daß eine Modifikation des Anwendungsdatenverzeichnisses (30) unmittelbar durch das Chipkartendialogmodul (40) oder die Agentur (250) bewerkstelligt wird.
34. Verfahren nach einem der Ansprüche 11-33, dadurch gekennzeichnet, daß ein auf der Chipkarte (20) sich befindliches Anwendungsdatenverzeichnis (30) kopiert, gespeichert und dem Chipkartendialogmodul (40) oder der Agentur (250) zur Verfügung gestellt wird.
35. Vorrichtung und/oder Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die anwendungsspezifischen Daten Informationen über Art, Lokalität, Umfang und Zugriffsmethoden für auf einer Chipkarte gespeicherte Daten, sowie über auf der Chipkarte (20) gespeicherten Daten aufweisen.
36. Vorrichtung und/oder Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die kartenspezifische Daten Informationen über die Kommandos und das Protokoll der Chipkarte (20) zum Zugriff auf die dort gespeicherten Daten aufweisen.
37. Vorrichtung und/oder Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die kartenspezifischen Informationen komplette Grundstrukturen der Chipkarte (20) oder für Teile davon enthalten.
38. Vorrichtung und/oder Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die kartenspezifischen Informationen in tabellarischer und/oder hierarchischer Form angelegt sind.
39. Vorrichtung und/oder Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Chipkarte (20) entweder eine Speicherkarte mit oder ohne einem eigenen Prozessor ist.
40. Vorrichtung und/oder Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß sich das Anwendungsdatenverzeichnis (30) auf der Chipkarte (20) befindet.
41. Lese/Schreibgerät für Chipkarten (20), gekennzeichnet durch eine Vorrichtung und/oder Verfahren entsprechend einem der vorstehenden Ansprüche.
42. Verwendung des Verfahrens und/oder der Vorrichtung entsprechend einem der vorstehenden Ansprüchen in einem Lese/Schreibgerät für Chipkarten (20).
PCT/EP1996/002483 1995-06-23 1996-06-07 Verfahren zur vereinfachung der kommunikation mit chipkarten WO1997001147A2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US08/793,911 US6279047B1 (en) 1995-06-23 1996-06-07 Method for simplifying communication with chip cards
PL96318655A PL182666B1 (pl) 1995-06-23 1996-06-07 Sposób i urządzenie do komunikacji programu użytkowego z kartą mikroprocesorową
JP9503547A JPH09510812A (ja) 1995-06-23 1996-06-07 チップ・カードとのコミュニケーションを簡易化する方法
KR1019970701152A KR100308596B1 (ko) 1995-06-23 1996-06-07 칩카드와응용부의통신용장치및방법과칩카드용판독/기록장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19522527A DE19522527A1 (de) 1995-06-23 1995-06-23 Verfahren zur Vereinfachung der Kommunikation mit Chipkarten
DE19522527.9 1995-06-23

Publications (2)

Publication Number Publication Date
WO1997001147A2 true WO1997001147A2 (de) 1997-01-09
WO1997001147A3 WO1997001147A3 (de) 1997-02-06

Family

ID=7764886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP1996/002483 WO1997001147A2 (de) 1995-06-23 1996-06-07 Verfahren zur vereinfachung der kommunikation mit chipkarten

Country Status (7)

Country Link
US (1) US6279047B1 (de)
JP (1) JPH09510812A (de)
KR (1) KR100308596B1 (de)
DE (1) DE19522527A1 (de)
HU (1) HUP9800977A3 (de)
PL (1) PL182666B1 (de)
WO (1) WO1997001147A2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1205888A2 (de) * 2000-07-19 2002-05-15 Hitachi, Ltd. Verfahren, Vorrichtung und computerlesbares Speichermedium zur Zertifikatsausgabe
KR100374526B1 (ko) * 1998-10-02 2003-03-03 인터내셔널 비지네스 머신즈 코포레이션 스마트 카드 및 그를 이용한 컴퓨터 프로그램 동작 방법
US7231411B1 (en) 1999-09-15 2007-06-12 Koninklijke Philips Electronics N.V. Removable card system with downloadable agent for communicating with a digital television receiver or other host device

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19728011C2 (de) * 1997-07-01 2003-03-27 Ibm Integriertes Zahlungsmodul für ein Terminal
DE19742459C2 (de) * 1997-09-26 2000-02-03 Orga Kartensysteme Gmbh Einrichtung für den Betrieb einer Chipkarte und den Datenaustausch zwischen einer Chipkarte und einem mikroprozessorgestützten System
DE19757863A1 (de) * 1997-12-24 1999-07-08 Peter Grohse Sende- und Empfangseinheit zum Bezahlen von Autobahngebühren
DE19827415A1 (de) * 1998-06-19 1999-12-23 Ibm Entwicklungswerkzeug für Chipkartenanwendungen
JP3553387B2 (ja) * 1998-09-11 2004-08-11 オムロン株式会社 相互認証システム
EP1006442A3 (de) * 1998-11-30 2003-09-03 International Business Machines Corporation Verfahren und System zum Programmieren von Anwendungen für Gebrauch mit Geräten mit beschränkter Unterstützung höherer Programmierkonzepte
DE10008308A1 (de) * 2000-02-23 2001-08-30 Orga Kartensysteme Gmbh Kartenterminal
US20020077182A1 (en) * 2000-12-18 2002-06-20 Arthur Swanberg Interactive computer games
US7340748B2 (en) * 2000-12-21 2008-03-04 Gemplus Automatic client proxy configuration for portable services
EP1480395B1 (de) * 2001-03-19 2007-04-25 Sony Corporation Netzwerksystem
US20020162021A1 (en) * 2001-04-30 2002-10-31 Audebert Yves Louis Gabriel Method and system for establishing a remote connection to a personal security device
US7363486B2 (en) 2001-04-30 2008-04-22 Activcard Method and system for authentication through a communications pipe
DE60221113T3 (de) * 2001-04-30 2012-08-16 Activcard Ireland Ltd. Verfahren und system für die fernaktivierung und -verwaltung von personal security devices
WO2002089444A1 (en) 2001-04-30 2002-11-07 Activcard Ireland, Limited Method and system for authenticating a personal security device vis-a-vis at least one remote computer system
US7225465B2 (en) 2001-04-30 2007-05-29 Matsushita Electric Industrial Co., Ltd. Method and system for remote management of personal security devices
EP1418538B1 (de) * 2001-08-03 2017-07-05 Dai Nippon Printing Co., Ltd. Multi-anwendungs-chipkarte
US7162631B2 (en) 2001-11-02 2007-01-09 Activcard Method and system for scripting commands and data for use by a personal security device
FR2833727B1 (fr) * 2001-12-17 2004-02-27 Gemplus Card Int Procede de mise en oeuvre d'une application au moyen d'un lecteur de carte a puce et systeme correspondant
US20030167399A1 (en) * 2002-03-01 2003-09-04 Yves Audebert Method and system for performing post issuance configuration and data changes to a personal security device using a communications pipe
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US7121456B2 (en) 2002-09-13 2006-10-17 Visa U.S.A. Inc. Method and system for managing token image replacement
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
DE10324996A1 (de) 2003-06-03 2005-02-17 Giesecke & Devrient Gmbh Chipkarte mit wenigstens einer Applikation
DE10337257A1 (de) * 2003-08-13 2005-04-14 Giesecke & Devrient Gmbh Verfahren zum Betreiben einer Chipkarte, auf der mehrere Applikationen implementiert sind
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7104446B2 (en) 2003-09-03 2006-09-12 Visa U.S.A., Inc. Method, system and portable consumer device using wildcard values
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US7301501B2 (en) * 2003-10-10 2007-11-27 Option Telecommunications card for mobile telephone network and wireless local area network
EP1523205B1 (de) 2003-10-10 2014-04-16 Option Zugangs-Verfahren und Zugangs-System zur Chipkarte auf einer Telekommunikationskarte durch ein mit der Telekommunikationskarte verbundenen Hostgerätes
JP4391375B2 (ja) * 2004-09-30 2009-12-24 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
US20110145082A1 (en) 2009-12-16 2011-06-16 Ayman Hammad Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
FR2997205B1 (fr) * 2012-10-23 2014-10-31 Morpho Procede de gestion d'identifiants dans une carte a circuit integre et carte a circuit integre correspondante
JP7240300B2 (ja) 2019-10-25 2023-03-15 Towa株式会社 粉粒体供給装置、樹脂成形装置、及び樹脂成形品の製造方法
CN113055468B (zh) * 2021-03-11 2023-04-07 新华三半导体技术有限公司 一种芯片管控方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987007062A1 (en) * 1986-05-16 1987-11-19 American Telephone & Telegraph Company System for a portable data carrier
EP0368752A1 (de) * 1988-11-09 1990-05-16 CP8 Transac Versichertes Fernladungssystem eines Terminals und benutztes Verfahren
FR2657445A1 (fr) * 1990-01-25 1991-07-26 Gemplus Card Int Procede de chargement de programmes d'application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
FR2667171A1 (fr) * 1990-09-25 1992-03-27 Gemplus Card Int Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit.

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870704A (en) * 1984-10-31 1989-09-26 Flexible Computer Corporation Multicomputer digital processing system
JPS61177585A (ja) * 1985-02-04 1986-08-09 Toshiba Corp 携帯用電子装置密封体
US4874935A (en) * 1986-03-10 1989-10-17 Data Card Coprporation Smart card apparatus and method of programming same
US5276312A (en) * 1990-12-10 1994-01-04 Gtech Corporation Wagering system using smartcards for transfer of agent terminal data
FR2683342B1 (fr) * 1991-10-31 1994-01-07 Gemplus Card International Circuit d'interface pour carte a circuit integre.
DE69332633T2 (de) * 1992-07-20 2003-11-06 Compaq Computer Corp Verfahren und Sytem um, auf Bescheinigung gestützt, Alias zu entdecken
DE19508940B4 (de) * 1994-03-15 2006-03-09 Mitel Knowledge Corp., Kanata Verfahren zum Betrieb eines computergesteuerten Kommunikationssystems
US5517646A (en) * 1994-04-25 1996-05-14 Compaq Computer Corp. Expansion device configuration system having two configuration modes which uses automatic expansion configuration sequence during first mode and configures the device individually during second mode
FR2719680B1 (fr) * 1994-05-05 1996-07-12 Gemplus Card Int Procédé de sécurisation des accès aux cartes amovibles pour ordinateur.
US5624316A (en) * 1994-06-06 1997-04-29 Catapult Entertainment Inc. Video game enhancer with intergral modem and smart card interface
US5983288A (en) * 1996-08-20 1999-11-09 Lucent Technologies Inc. Dynamically configurable personal computer card utilizing variable interrogation signal to detect connected extension

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987007062A1 (en) * 1986-05-16 1987-11-19 American Telephone & Telegraph Company System for a portable data carrier
EP0368752A1 (de) * 1988-11-09 1990-05-16 CP8 Transac Versichertes Fernladungssystem eines Terminals und benutztes Verfahren
FR2657445A1 (fr) * 1990-01-25 1991-07-26 Gemplus Card Int Procede de chargement de programmes d'application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
FR2667171A1 (fr) * 1990-09-25 1992-03-27 Gemplus Card Int Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100374526B1 (ko) * 1998-10-02 2003-03-03 인터내셔널 비지네스 머신즈 코포레이션 스마트 카드 및 그를 이용한 컴퓨터 프로그램 동작 방법
US7231411B1 (en) 1999-09-15 2007-06-12 Koninklijke Philips Electronics N.V. Removable card system with downloadable agent for communicating with a digital television receiver or other host device
EP1205888A2 (de) * 2000-07-19 2002-05-15 Hitachi, Ltd. Verfahren, Vorrichtung und computerlesbares Speichermedium zur Zertifikatsausgabe
EP1205888A3 (de) * 2000-07-19 2004-01-28 Hitachi, Ltd. Verfahren, Vorrichtung und computerlesbares Speichermedium zur Zertifikatsausgabe

Also Published As

Publication number Publication date
KR970705801A (ko) 1997-10-09
DE19522527A1 (de) 1997-01-02
JPH09510812A (ja) 1997-10-28
KR100308596B1 (ko) 2001-10-19
PL318655A1 (en) 1997-07-07
HUP9800977A2 (hu) 1998-08-28
PL182666B1 (pl) 2002-02-28
WO1997001147A3 (de) 1997-02-06
US6279047B1 (en) 2001-08-21
HUP9800977A3 (en) 1998-10-28

Similar Documents

Publication Publication Date Title
WO1997001147A2 (de) Verfahren zur vereinfachung der kommunikation mit chipkarten
DE69720201T2 (de) System und vorrichtung zum personalisieren von chipkarten
DE69823649T2 (de) Multi-anwendungs ic-kartensystem
DE69916260T2 (de) Verfahren und Geräte für dynamische Smartkarten-Synchronisierung und Personalisierung
DE60021465T2 (de) Sicherheitsverwaltungssystem, Datenverteilungsvorrichtung und tragbares Terminalgerät
DE69534181T2 (de) System mit Endgerät und Karte, Karte und Endgerät
DE102006007084B4 (de) System zum Liefern von Programmen zu einer von einem Nutzer bedienbaren Vorrichtung
DE3807997A1 (de) Ic-karte mit interner fehlerpruefung
EP0466969A1 (de) Verfahren zur Verhinderung unzulässiger Abweichungen vom Ablaufprotokoll einer Anwendung bei einem Datenaustauschsystem
DE102007050463A1 (de) Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
DE69817646T2 (de) Informationsverarbeitungsgerät, -verfahren und computerlesbares Programm zum Speichern von Prozessverlaufdaten und computerlesbares Speichermedium zum Speichern des Programms.
EP0811204B1 (de) Verarbeitung langer nachrichten in einer chipkarte
DE69814697T2 (de) Vorrichtung, methode und computer programm produkt für client/server rechner mit vom client auswählbarer lokalisierung von transaktionsobjekten
EP1196902B1 (de) Verfahren zum betreiben eines zur ausführung von nachladbaren funktionsprogrammen ausgebildeten datenträgers
DE602004010458T2 (de) Halbleiterspeicherkarte und rechnerlesbares programm
DE69637098T2 (de) Sicherheitsvorrichtung und verfahren für ein datenverarbeitungssystem
WO2001004771A2 (de) System zur ausführung einer transaktion
WO2004100090A1 (de) Speicherverwaltung bei einem tragbaren datenträger
DE10261916A1 (de) Tragbarer Datenträger mit Netzserverfunktionalität
DE10234158A1 (de) Einrichten eines Dateisystems in einem Datenträger
EP1460510B1 (de) Verfahren zur sicheren Kommunikation zwischen einer Datenverarbeitungsanlage und einer Sicherheitseinrichtung
EP1044409B1 (de) Programmablaufverfahren und verfahren zur erweiterung eines programmkomponentensystems
EP3215957B1 (de) Chipkarte, chipkartensystem und verfahren zum zugriff auf eine chipkarte
DE69937169T2 (de) Authentifizierungsverfahren für geschützte Zugriffe in einem vernetzten Datenverarbeitungssystem
EP2053524A1 (de) Vorgangsbearbeitungsmodul und Verfahren zum Erfassen von Daten

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CZ HU JP KR PL RU US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

AK Designated states

Kind code of ref document: A3

Designated state(s): CZ HU JP KR PL RU US

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1019970701152

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 08793911

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1019970701152

Country of ref document: KR

122 Ep: pct application non-entry in european phase
WWR Wipo information: refused in national office

Ref document number: 1019970701152

Country of ref document: KR