[go: up one dir, main page]

DE69205425T2 - Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte. - Google Patents

Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte.

Info

Publication number
DE69205425T2
DE69205425T2 DE69205425T DE69205425T DE69205425T2 DE 69205425 T2 DE69205425 T2 DE 69205425T2 DE 69205425 T DE69205425 T DE 69205425T DE 69205425 T DE69205425 T DE 69205425T DE 69205425 T2 DE69205425 T2 DE 69205425T2
Authority
DE
Germany
Prior art keywords
application
applications
directory
data
name
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.)
Expired - Lifetime
Application number
DE69205425T
Other languages
English (en)
Other versions
DE69205425D1 (de
Inventor
Georges Grimonprez
Pierre Paradinas
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
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 Gemplus Card International SA filed Critical Gemplus Card International SA
Application granted granted Critical
Publication of DE69205425D1 publication Critical patent/DE69205425D1/de
Publication of DE69205425T2 publication Critical patent/DE69205425T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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 OR CALCULATING; 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/21Individual registration on entry or exit involving the use of a pass having a variable access code

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Stored Programmes (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)

Description

  • Die vorliegende Erfindung wurde in Zusammenarbeit mit der Universite des Sciences et Techniques de Lille (Technische Universität Lille), Labore CERIM und LIFL, gemacht. Sie betrifft ein gesichertes Verfahren zum Laden mehrerer Anwendungen in eine mit einem Mikroprozessor versehene Speicherkarte, häuf ig auch Chipkarte genannt. Solche Chipkarten finden in drei typischen Einsatzbereichen Anwendung. Bei einer ersten Kennzeichenanendung bilden sie Schlüssel, mit dem ihr Träger Zugang zu einem Ort oder einer Abteilung erhält. Bei einer monetären Anwendung sind sie entweder vorab mit Einheiten geladen, die eine Verbrauchsinöglichkeit bei der Ausgabestelle der Chipkarten darstellen (in der Regel Telekommunikationsfirmen) oder stellt die Information, die sie enthalten, den Saldo eines Bankkontos dar. Als letzte Anwendungsart ist die Speicherung von Daten zu erwähnen: beispielsweise verfügt jeder Bürger für die Kontrolle seiner Gesundheit über eine Karte, auf der seine medizinischen Daten gespeichert sein können, oder aber die Karte kann einen Personalausweis ersetzen.
  • Die vorliegende Erfindung zielt darauf ab, diese verschiedenen Anwendungen auf einer einzigen Karte zu vereinen, ohne daß die Verwendung der für eine Anwendung bestimmten Karte der Verwendung der Karte für andere Anwendungen schadet. In dieser Absicht liefert die Erfindung ein gesichertes Verfahren zum Laden der einzelnen Anwendungen in einer Weise, daß diese einander nicht störeni. Die Erfindung deckt außerdem die an mit einer Anwendung zusammenhängende Möglichkeit der Strukturierung und die Abfrage der Daten pro Anwendung ab. Außerdem ermöglicht das System den Anwendungen, bestimmte Daten bei bestimmten Anwendungen vertraulich zu "zeigen".
  • Es ist eine erste Art der Verwaltung mehrerer Anwendungen auf einer einzigen Karte bekannt. Sie wird nachfolgend beschrieben, und es wird gezeigt werden, daß dieses bekannte Ladeverfahren trotz der Leistungen, die es erbringen kann, an bestimmte Grenzen stößt. Das Verfahren der Erfindung wird zeigen, wie man diese Grenzen überschreiten kann.
  • Fig. 1 gibt ein Beispiel der Teilung des Speichers einer Chipkarte, die mehreren Anwendungen genügen soll. Ein Speicher einer solchen Chipkarte ist in diesem Fall in zwei Hauptbereiche geteilt. Ein erster Beschreibungsbereich 1 enthält Deskriptoren, ein zweiter Bereich 2 weist reine Speicherzonen auf. Ein Deskriptor steht für eine Anwendung. Er weist eine bestimmte Anzahl Bytes in Binärsprache auf. Ein erstes Byte 3 wird Kennzeichnungsbyte genannt. Mit ihm kann die Anwendung benannt werden. Wenn man zum Zeitpunkt einer Transaktion mit der Karte einen Geheimcode und das Anwendungskennzeichen eingibt, landet man direkt in dem Deskriptor, für den das Kennzeichen dem eingegebenen Geheimcode entspricht.
  • Ein Deskriptor weist außerdem nach dem Kennzeichen einen Schutz 4 auf. Ein erstes Byte dieses Schutzes 4 betrifft den Leseschutz der Worte des Speichers, ein weiteres Byte betrifft den Schreibschutz, ein drittes und ein viertes Byte betreffen das Löschen oder die Aktualisierung, wenn die Technologie (EEPROM) der Karte dies außerdem zuläßt. Man kann beispielsweise annehmen, daß diese Informationen auf einem Bit des Schutzbytes codiert sind: wenn es gleich null ist, verhindert es die Aktion, wenn es gleich eins ist, läßt es sie zu. Ebenso kann man beim Schreiben annehmen, daß das dritte (oder ein anderes) Bit des zweiten Schutzbytes das Schreiben verhindert, wenn sein Wert null lautet, oder es im Gegenteil zuläßt, wenn sein Wert eins lautet (oder möglicherweise das Gegenteil). Das gleiche gilt für das Löschen oder die Aktualisierung.
  • Als letzter Hauptbereich umfaßt ein Deskriptor schließlich eine Anzahl 5 der von der jeweiligen Anwendung verwendeten Speicherworte. Diese Anzahl ist beispielsweise auf zwei Bytes nach den Schutzcodes 4 codiert. Eine von einem Deskriptor betroffene Anwendung kann auf diese Weise eine Anzahl von Speicherworten enthalten, die gleich einer beliebigen Zahl ist, beispielsweise 18. Um zu erfahren, wo sich die Speicherworte im Bereich 2 dieses Speichers befinden, die dieser Anwendung entsprechen, rechnet ein Befehl des Mikroprozessors der Chipkarte aus, daß die erste Adresse der 18 erlaubten Wörter gleich der Summe der den vorangehenden Deskriptoren in der Deskriptorenliste eingeräumten Worte der Chipkarte plus eins entspricht. Die letzte zulässige Adresse ist gleich dieser Summe zuzüglich der in dem Deskriptor angegebenen Anzahl Worte, d.h. hier 18.
  • Wenn in einem Beispiel ein Kennzeichen dem dritten Deskriptor entsprochen hat, wird man unabhängig davon, ob man weiß, ob man in den jeweiligen Speicherworten lesen oder schreiben kann, wissen, daß die der Anwendung zugewiesene Speicherzone der des Deskriptors 3 entspricht, daß sie nach den diesen Deskriptoren 1 bzw. 2 zugewiesenen liegt und daß ihre Länge durch die Anzahl der diesem Deskriptor 3 zugewiesenen Worte begrenzt ist.
  • Die Mikroprozessoren umfassen also derzeit in ihrem Befehlsvorrat sequenzartig organisierte Befehle, die im Speicher (ROM) der Chipkarte definitiv gespeichert sind, an deren Ende man einerseits eine gewählte Anwendung erkennen und man andererseits unwiderruflich den Zugang zu einer zugeordneten Einheit von Speicherworten beschränken kann.
  • Zur Erzeugung neuer Anwendungen ist in diesem Befehlsvorrat außerdem ein Erzeugungsbefehl vorgesehen, der es ermöglicht, einen Deskriptor an die bereits vorhandenen Deskriptoren anzufügen (sofern dies der Speicherplatz erlaubt) und dieser durch diesen Deskriptor beschriebenen Anwendung eine Anzahl Speicherworte zuzuweisen (auch hier, sofern auf der Karte Speicherplatz verfügbar ist). Die einer neuen Anwendung zugeordnete Speicherzone ist völlig unabhängig von der den vorangehenden Anwendungen zugeordneten.
  • Diese Technik mit ihrem zugehörigen Befehlsvorrat ist zwar effizient, doch weist sie eine erste Beschränkung auf, in der Form, daß sie es einer Anwendung untersagt, in der einer anderen, vorher gespeicherten Anwendung zugeordneten Speicherzone zu arbeiten. Dies ist begreiflich, da darin die Sicherheitsabsicht des Systems liegt. Dennoch kann es in bestimmten Fällen vorkommen, daß der Inhaber einer Anwendung in einer zusätzlichen Anwendung, die er selbst programmieren würde, den Zugang zu einer oder mehreren Speicherzonen wünscht, die er sich vorher zugewiesen hat. Dann ist dies nicht möglich. Die Struktur ist nicht anpassungsfähig.
  • Als Beispiel stelle man sich vor, daß bei einer bankmäßigen Anwendung eine Bank den Inhaber der Karte schon durch eine gespeicherte und von einem Deskriptor 1 dargestellte Anwendung autorisiert hat, einen bestimmten Geldbetrag pro Woche von seinem Konto abzuheben. Sie könnte diesen Inhaber anschließend ermächtigen wollen, bargeldlose Überweisungen von dem Bankkonto aus zu tätigen, zu dem diese Chipkarte gehört. Diese zweite Anwendung muß in der derzeitigen Lage vollkommen unabhängig von der ersten eingegeben werden. Dies führt zu einer Duplizierung bestimmter Speicherzonen und zu Problemen mit ihrer Verwaltung. Der in einer der Speicherzonen einer Anwendung vorhandene Saldo ist beispielsweise von einer Abhebung betroffen, während der theoretisch gleiche Saldo in einer anderen Speicherzone, die der Überweisung entspricht, nicht korrelativ zu der Summe, die der Abhebung entspricht, belastet wird.
  • In diesem Fall bestünde die Lösung für die Bank darin, eine der Anwendungen zu streichen und statt dessen eine andere Anwendung einzugeben, welche sämtliche Befehle der vorherigen Anwendungen umfassen würde. Dies bewirkt einen Platzverlust auf der Karte. Da die Speichergrößen auf diesen Karten außerdem bekanntlich begrenzt sind, ist diese Technik verständlicherweise nicht ohne Nachteile.
  • Außerdem geben die letzten Bytes des Deskriptors Auskunft über die Anzahl der im Speicher verwendbaren Worte, doch ist dies eine nicht immer geeignete Vorgehensweise. Denn insbesondere bei reinen Datenspeicherungsvorgängen kann man als Speicherwortlänge entweder festgelegte Längen, beispielsweise 30 Bytes (wobei jedes Byte einem Schriftzeichen zugeordnet werden kann), oder eine variable Länge vorsehen. In diesem Fall muß man jedoch nach jeder gespeicherten Information ein Trennungs-Byte (-Schriftzeichen) erscheinen lassen, beispielsweise im ASCII-Code entsprechend einem Stern, einem Schrägstrich o.a. Eine solche Strukturierung hat den Nachteil, daß sie den Programmierern, welche die Karte verwenden, genau bekannt sein muß, was in manchen Fällen die Verwendung schwerfällig macht. Selbst bei einer sehr einfachen Anwendung ist eine genaue Kenntnis der gesamten Funktion der Karte und des Mikroprozessors nötig.
  • Das Format in festgelegter Länge kann außerdem in der meisten Zahl der Fälle zu einem Verlust an Systemplatz führen, und zwar wegen einer Überdimensionierung der Wortlängen, um allen Probleme abzuhelfen.
  • Die Probleme der Sicherheit oder des Rechts auf den Zugang zu den Daten der Karte hängen mit der Stelle zusammen, an welcher diese Daten im Speicher vorgesehen sind.
  • Ebenso ist ein anderer Stand der Technik bekannt, der in dem Dokument WO-A-8707061 offenbart wird. Dieses Dokument sieht jedoch nur eine hierarchische Struktur der Anwender vor. Die Anwender ein und derselben hierarchischen Stufe sollen nicht auf unterschiedlichen Stufen arbeiten können. Umso eher können anwendungsfremde Anwender in die Hierarchie eingegliedert werden und autorisiert werden, die Eintragungen einer Datentabelle zu lesen und sie sogar zu verändern. Dieses Dokument schlägt keine Lösung zu diesem Problem vor.
  • Die Erfindung will diesen Nachteilen und Einschränkungen abhelfen, indem sie eine völlig andere Struktur und Organisation der Daten der Anwendungen auf der Karte vorschlägt, für deren Sicherheit die Daten keine besonderen Speicherplätze haben müssen. Statt einer Verbindung einerseits eines der Anwendung entsprechenden Kennzeichens, andererseits von Schutzbedingungen und schließlich von Zuweisungen von Speicherzonen, mit denen die Anwendungen arbeiten, zu einem untrennbaren Element wurde bei dieser Struktur vorgezogen, den Zusammenhang zwischen diesen einzelnen Begriffen zu organisieren.
  • Wie im folgenden gezeigt, stellt man zunächst einen Zusammenhang zwischen den Anwendungen, den Kennzeichen und vorzugsweise den Geheimcodes her. Dieser Zusammenhang wird auf der Karte in einem Verzeichnis gespeichert, das Verzeichnis der Anwendungen heißt. Anschließend gibt man in einem zweiten, sogenannten Tabellenverzeichnis die Beziehungen ein, die zwischen einer gegebenen Anwendung und einer Datentabelle bestehen können, mit der diese Anwendung arbeitet. Als Hauptmerkmal ist die Erstellung einer Datentabelle für nur einen Anwendungsbesitzer gestattet. Die entsprechende Datentabelle wird nun in der Folge dieser Beschreibung als zur Anwendung gehörig angesehen. In einem dritten Verzeichnis, dem sogenannten Verzeichnis der Rechte, organisiert man schließlich die möglichen Wechselbeziehungen zwischen den einzelnen Anwendungen und Benutzeranwendungen auf den erstellten Tabellen.
  • Man unterscheidet somit hier Klassen zwischen den Anwendungen, beispielsweise der Bankanwendung, und den Benutzeranwendungen. Es wird gezeigt werden, daß man als Hauptunterschied zwischen den Anwendungen und den Benutzeranwendungen in dem Verzeichnis der Anwendungen den Anwendungen eine Speichermöglichkeit zuweist (zur Erstellung von Datentabellen, die dieser Anwendung entsprechen), während die Benutzeranwendungen keine Speichermöglichkeit mit diesem Ziel erhalten. Für ihr Funktionieren sind die Benutzeranwendungen gezwungen, einen Teil des Speichers zu nutzen, der ihnen durch eine Anwendung zur Verfügung gestellt wurde.
  • Als Hauptvorteil ermöglicht das System der Erfindung je nach den Datentabellen dem Besitzer einer Anwendung die Erstellung und Zerstörung seiner Benutzeranwendungen und diesem gleichen Besitzer einer Anwendung, anderen Anwendungen oder Benutzeranwendungen Zugriffsrechte auf seine Datentabellen zu übertragen. Die Benutzeranwendungen können an bereits im Speicher der Karte vorhandenen Datentabellen arbeiten, und zwar in dem Maße, wie der Anwendungsinhaber dies zuläßt (Rechteverzeichnis).
  • Die Frage der Speicherplatzeinsparung wird dadurch geregelt, daß man in dem Datentabellenverzeichnis die systematische Möglichkeit von Einträgen variabler Länge zuläßt.
  • Die Erfindung betrifft somit ein Verfahren nach Anspruch 1 zum Laden und Verwalten mehrerer Anwendungen auf einer Chipkarte.
  • Obwohl die Anwendungen und die Benutzeranwendungen von der Logik her die gleiche Struktur haben, sind ihre jeweiligen Benutzungsbedingungen unterschiedlich. Nachdem sämtliche beschriebenen Arbeitsschritte "dynamisch" sind, können außerdem während der ganzen Lebensdauer der Karte an den Tabellen oder der Verwaltung der Anwendungen und Benutzeranwendungen Eingriffe erfolgen.
  • Die Erfindung wird besser verständlich durch Lektüre der nachfolgenden Beschreibung und Prüfung der beiliegenden Figuren. Diese sind nur beispielhaft gegeben und sind keineswegs erschöpfend für die Erfindung.
  • Die Figuren zeigen:
  • - Fig. 1: die bereits kommentierte Darstellung einer Organisation des Speichers einer Chipkarte im Stand der Technik;
  • - Fig. 2: die schematische Darstellung einer Chipkarte der Erfindung und ihre Verwendung als Transaktionswerkzeug;
  • - Fig. 3-5: genaue Darstellungen der Anwendungsverzeichnisse bzw. der Tabellenverzeichnisse und Rechteverzeichnisse;
  • - Fig. 6: Besonderheiten der Organisation der Daten im Tabellenverzeichnis;
  • - Fig. 7: die Bedeutung der Organisation des Tabellenverzeichnisses für das Ordnen der Daten in einem Datenspeicher der Chipkarte;
  • - Fig. 8-10: Organogramme der Erstellung bzw. jedes Verzeichnisses nach der Erfindung;
  • - Fig. 11 und 12: Organogramme möglicher Eingriffe an der Datentabelle.
  • Fig. 2 stellt eine schematische Organisation einer Chipkarte der Erfindung dar. Diese Chipkarte 10 umfaßt auf einem Träger einen Schaltkreis, der über nicht dargestellte, aber bekannte Vorrichtungen (Metallisierung von Kontakten) zum Austausch mit der Außenwelt verfügt. Dieser Schaltkreis umfaßt einen Mikroprozessor 11 und einen Datenspeicher 12 (in einem Beispiel ist dieser Datenspeicher 12 ein EEPROM-Speicher, d.h. daß er programmier- und löschbar ist). Der Chip der Chipkarte umfaßt außerdem einen Programmspeicher 13 (ROM), der die der Erfindung eigenen Befehle des Mikroprozessors enthält. Wie vorstehend gesagt, erkennt man in dem Speicher des Chips außer dem Datenspeicher 12 die Existenz eines Anwendungsverzeichnisses 14, eines Tabellenverzeichnisses 15 und eines Rechteverzeichnisses 16. Außerdem sieht man, daß es ein Verzeichnis 17 der Chiffrierungsschlüssel gibt, was später noch zu erklären sein wird. Da das Verzeichnis 17 für sich steht, kann es auch ergänzend im Tabellenverzeichnis 15 definiert sein. Dies erlaubt eine chiffrierte Übermittlung der in dem Speicher 12 gelesenen Daten. Der Mikroprozessor 11 ist mit den einzelnen Speichern 12 bis 17 über einen Daten- und Adressenbus 110 verbunden. Eine Musterbauart eines Mikroprozessors ist im übrigen in dem Buch "Comprendre les Microprocesseurs" von Daniel Quessac, Editions Radio, Frankreich 1983 beschrieben.
  • Bei der Verwendung einer solchen Chipkarte 10 wird diese in ein Lesegerät 18 eingeführt, das selbst einen (nicht dargestellten) Mikroprozessor aufweist, der zusammen mit der Karte 10 mittels einer Tastatur 20, eines Bildschirms 21 und eines Geräts 22 ein Programm 19 ausführen kann.
  • Beispielsweise kann eine Bedienungsperson, wie dies auf dem Bildschirm 21 für eine Bankanwendung dargestellt ist, mit der Tastatur 20 eine Abhebung veranlassen und somit die Ausführung eines Teils des Programms 19 bewirken, wodurch das Gerät 22 ihm Banknoten 23 ausgibt. Gleichzeitig speichert das Lesegerät auf der Chipkarte (oder in einem nicht dargestellten Zentralverwaltungssystem) die Belastung des entsprechenden Kontos.
  • Auf dein Bildschirm 21 ist schematisch die Existenz mehrerer möglicher Anwendungen angegeben: eine BANK-Anwendung, eine WERKSTATT-Anwendung, eine SOZVERS.-Anwendung für die Sozialversicherung. Es hätten auch andere Anwendungen sein können, so z.B. TELEKOM für Telekommunikation oder andere. Der Vorteil der Erfindung besteht darin, daß verschiedene Bedienungspersonen, verschiedene Ausgabestellen, hier Anwendungsbesitzer genannt, ohne vertragliche Beziehungen untereinander den gleichen Träger benutzen können, und zwar ohne daß Gefahr besteht, daß die von einem der Anwendungsbesitzer oder Benutzer vorgenommenen Transaktionen die Daten beeinflussen, die in den Datentabellen gespeichert sind, die einem anderen Anwendungsbesitzer gehören (es ist leicht das Risiko zu ermessen, das damit im Bankenbereich verbunden wäre).
  • Für die Bankanwendung sind außerdem auf dem Bildschirm 21 mehrere mögliche Anwendungen angezeigt: beispielsweise die Anwendungen ABHEBUNG, ÜBERWEISUNG, ANZEIGE. Man unterscheidet somit sehr hierarchisch zum einen die Anwendungen und zum anderen Benutzeranwendungen. Wie später noch zu sehen sein wird, sind diese Anwendungen und Benutzeranwendungen alle in dem Verzeichnis der Anwendungen gespeichert. Was sie unterscheidet, ist jedoch, daß die Anwendungen Datentabellen erstellen und nutzen können (Lesen, Schreiben, Aktualisieren, Löschen), wohingegen die Benutzeranwendungen diese nur nutzen können. Diese Nutzung wird zweifach überwacht. Einerseits läßt eine Speicherzuweisung die Einfügung von Eingaben oder Zeilen in eine Datentabelle zu, wenn diese Zuweisung nicht null ist. Andererseits kann das Rechteverzeichnis diese Benutzeranwendung ermächtigen, einen Eintrag in einer Datentabelle, zu der sie Rechte erhalten hat, einzufügen (INSERT), zu löschen (DELETE), zu aktualisieren (MODIF) oder nur auszuwählen (SELECT).
  • Da der Speicher der Karte von mehreren Anwendungen geteilt wird, wird bei der Erstellung der Anwendungen und Benutzeranwendungen für jede Anwendung oder Benutzeranwendung eine maximale nutzbare Speichergröße definiert. Diese Größeninformation ist grundsätzlich in einem in dem Verzeichnis der Anwendungen vorhandenen Zähler gespeichert. Bei der Zuordnung von Daten in eine Zeile einer Datentabelle durch eine Anwendung oder Benutzeranwendungen verringert sich der Inhalt des Zählers um die Anzahl der eingegebenen Zeichen. Im Fall einem Löschen von Daten in einer Zeile der Tabelle erhöht er sich um die Anzahl gelöschter Zeichen. Statt Zeichen kann man in der Speicherzuweisung auch genau eine Anzahl von Informationszeilen angeben: die Größe der Zeile kann frei festlegbar sein (in den Grenzen des verfügbaren Platzes).
  • In der nachfolgenden Beschreibung wird jedes Verzeichnis der Erfindung vorgestellt, wobei einerseits ihre Struktur und andererseits die Befehle, denen sie gehorchen, d.h. die Anweisungen, die der Mikroprozessor (unter Ausschluß jeglicher anderen) ausführen soll, um sie zu erzeugen und zu verändern, genau beschrieben werden.
  • Fig. 3 zeigt das Verzeichnis der Anwendungen 14. Dieses Verzeichnis umfaßt im wesentlichen vier Spalten. Eine erste Spalte ist die Spalte ANWENDUNGSNAME. Eine zweite Spalte ist die Spalte PASSWORT der Anwendung. Eine dritte Spalte ist die Spalte NUTZBARE SPEICHERGRÖSSE. Vorzugsweise ist die Spalte Paßwort der Anwendung selbst zweigeteilt - auch wenn dies nicht zwingend so sein muß -, wobei ein erster Teil den Geheimcode selbst und ein zweiter, vor oder nach dem ersten vorgesehener Teil eine Höchstanzahl Versuche enthält, die man machen darf, um den Geheimcode einzugeben, mit dem man in die Anwendung hineingelangt. Ebenso wie die Datentabellen weist das Verzeichnis der Anwendungen vorzugsweise Spalten mit variabler Länge auf.
  • Beispielsweise sind der Anwendungsname und das Paßwort der Anwendung in der Länge begrenzt. Die Anzahl von Eingabeversuchen für den Geheimcode und der nutzbare Speicherplatz werden in festgelegter Länge gespeichert, und zwar mit einem in einem bzw. zwei Bytes enthaltenen Wert. Weiter unten ist beschrieben, wie man variable Größen vorsehen kann.
  • Wie vorstehend schon gesagt, wurden in dieses Verzeichnis sechs Einträge 141-146 aufgenommen: die ersten drei stellen echte Anwendungen mit einer nutzbaren Speichergröße von ungleich null, die letzten drei Benutzeranwendungen mit ebenfalls einer nutzbaren Speichergröße, die nicht null ist, dar. Diese Benutzeranwendungen können später keine Datentabellen erzeugen. Um sie von den Anwendungen zu unterscheiden, weisen sie in einer vierten Spalte eine Bezeichnung auf, die hier U ist und ihre Art, nämlich die Benutzeranwendung, erwähnt. Die echten Anwendungen weisen entsprechend eine Kennzeichnung A auf. Natürlich können auch andere Symbole verwendet werden, wichtig ist, daß ein Unterschied gemacht wird.
  • Zur Vereinfachung wurde jeder Anwendung ein Paßwort zugewiesen: für die BANK-Anwendung heißt dieses FORTUNE, für die WERKSTATT-Anwendung heißt das Paßwort AUTO, für die Anwendung Sozialversicherung heißt es GESUNDHEIT. Für die drei Anwendungen ABHEBUNG, ÜBERWEISUNG, ANZEIGE heißen die Paßwörter USE1, USE2 und USE3.
  • Fig. 8 zeigt den Vorgang der Erstellung des Verzeichnisses der Anwendungen. Diese Erstellung wird normalerweise vom Hersteller der Chipkarte oder von einem Ausgabeorgan, die von dem Hersteller das Paßwort einer SYSTEM-Anwendung bekommen hat, vorgenommen. Zur Vereinfachung der Beschreibung wird angenommen, daß der Hersteller der Chipkarte diesen Arbeitsschritt vornimmt. Dieser Schritt wird gewöhnlich kundenindividuelle Anpassung der Karte genannt und besteht darin, die Anwendungen BANK, SOZVERS und WERKSTATT in die Karte einzugeben. Derjenige, der die kundenorientierte Anpassung vornimmt, weist den Anwendungen vorzugsweise nach dem Zufallsprinzip ausgewählte Geheimcodes zu. Diese Anwendungen können den Code bei der ersten Benutzung der Karte ändern (CHANGE CODE) und sich einen Code zuweisen, den nur sie selbst kennen.
  • Vor Auslieferung der leeren Karten und ihrer kundenindividuellen Anpassung durch die einzelnen Anwendungen kann man dennoch davon ausgehen, daß sie durch die Existenz der Anweisungen des Mikroprozessors einerseits und die Organisation in Verzeichnissen andererseits eine Systemanwendung aufweisen, mit der die Programmierung der Karte möglich sein wird.
  • Das Systemprogramm umfaßt einen Befehl PRESENT, dem in seiner Syntax der Name der betreffenden Anwendung folgen soll. Um die interne Verwaltung des Systems zu vereinfachen, enthält das Verzeichnis der Anwendungen zumindest anfangs eine besondere, SYSTEM genannte Anwendung. Das System enthält den Mikroprozessor, den Speicher und das Programm, das die Funktionen der Erfindung durchführt. Dieses Programm ist im ROM enthalten. In der Folge dieser Beschreibung wird zur Bezeichnung der Funktionen des Systems von Befehlen des Mikroprozessors gesprochen werden. Der Befehl PRESENT bedeutet, daß ein bereits auf der Karte gespeicherter Geheimcode mit einem von dem Benutzer mittels einer Tastatur wie 20 eingegebenen Geheimcode verglichen wird.
  • In der Praxis führt die Bedienungsperson die Karte in das Lesegerät 18 ein und gibt mit der Tastatur 20 die vorstehenden Befehle ein: PRESENT SYSTEM. Dann wird der Geheimcode, SECRET, auf der Tastatur eingegeben, und die Bedienungsperson macht diesen Zugang gültig. Anschließend erfolgt eine Überprüfung dahingehend, ob der über die Tastatur eingegebene Geheimcode SECRET der gleiche wie der vorher in die Karte eingegebene Geheimcode SECRET ist. Der vorher in die Karte eingegebene Geheimcode ist der wichtigste Geheimcode des Chips: normalerweise wird er in einem besonderen Bereich des Speichers gespeichert. Dieser Bereich ist von außerhalb der Karte nicht zugänglich. Nur das System der Karte kann darauf zugreifen. Falls die Überprüfung eine Nichtübereinstimmung feststellt, landet man bei einem Zurückweisungsprogramm.
  • Das Zurückweisungsprogramm kann die Berechtigung enthalten, den Geheimcode erneut einzugeben, und zwar insgesamt so oft, wie dies für die Anwendung zugelassen ist. Im Fall der Systemanwendung ist beispielsweise nur eine einmalige Eingabe erlaubt. Zum Erfüllen dieser Funktion weist der Befehl PRESENT des Mikroprozessors der Reihe nach folgende Schritte auf:
  • 1) das Laden der Anzahl Eingabeversuche in einen internen Register des Mikroprozessors,
  • 2) die Inkrementierung eines Versuchszählers bei jedem Versuch,
  • 3) den Vergleich von Zähler und geladener Anzahl,
  • 4) die bedingte Verzweigung zu einer endgültigen Zurückweisung oder einem weiteren Versuch. Der Versuchszähler ist Teil der Chipkarte.
  • Das Zurückweisungsprogramm enthält also einen Versuchszähler, der durch die zulässige Anzahl Versuche zur Eingabe des Paßworts parametrierbar ist und, wenn er voll ist, die eigentliche Zurückweisung des Versuchs bewirkt. In der Praxis kann diese Zurückweisung des Versuchs das äußere System (Lesegerät 18) veranlassen, die Karte 10 endgültig einzuziehen und in an sich bekannter Weise einem Aufnahmebehälter zuzuführen, aus dem ihr Träger sie nicht herausbekommen kann.
  • Hat die Überprüfung die Eingabe des richtigen Paßworts ergeben, kann man in diesem Herstellungsstadium, also beim Chipkartenhersteller, nur einen Befehl ausführen, nämlich den Befehl CREATE. Mit diesem Befehl CREATE kann man alle gewünschten Anwendungen und Benutzeranwendungen speichern. Mit diesem Schritt kann der Hersteller Anwendungen in das Verzeichnis 14 der Anwendungen aufnehmen, das auch das Verzeichnis der Benutzeranwendungen ist. Hierzu genügt es, der Karte den Befehl CREATE zu schicken, gefolgt vom Anwendungsnamen, dem dieser Anwendung zugeordneten Geheimcode, dem von dieser Anwendung nutzbaren Speicherplatz und der für diese Anwendung erlaubten Anzahl erfolgloser Versuche der Eingabe des Geheimcodes. Zur Unterscheidung der Benutzeranwendungen von den Anwendungen fügt man diesem Befehl entweder einen Parameter A für die Anwendungen und U für die Benutzeranwendungen hinzu. Oder die Karte verfügt vorzugsweise über ein Befehlspaar CREATE APPLICATION und CREATE APPLICATIONUSER, deren Parameter die gleichen sind wie für das vorstehende CREATE, die die Kennzeichnungen A bzw. U dann jedoch automatisch setzen. Auf diese Weise gibt man die Einträge 141 bis 146 ein. Wenn alle Anwendungen der Benutzungen im Verzeichnis 14 erstellt sind, kann man mit der Tastatur 20 einen Befehl CLOSE geben.
  • Dieser Befehl CLOSE soll beispielsweise endgültig die Möglichkeit ausschalten, mit dem Befehl CREATE APPLICATION Anwendungen einzugeben. Wenn der Hersteller nämlich zum Zeitpunkt der kundenindividuellen Anpassung nicht alle Anwendungen kennt, können später und vorausgesetzt, der Befehl CLOSE wurde nicht gegeben, durch Wiedereingabe von PRESENT SYSTEM, gefolgt vom richtigen Geheimcode, weitere Anwendungen eingegeben werden. Mit Hilfe des Befehls CLOSE kann diese Funktion geschlossen werden, indem die Anwendung SYSTEM ungültig gemacht wird. Die Anwendung SYSTEM ist anschließend tatsächlich nur aus dem Verzeichnis der Anwendungen verschwunden. Sie kann dann nicht mehr von der Karte wiedererkannt werden. Die Anwendungen jedoch können das Recht zum Erstellen von Benutzeranwendungen mit dem Befehl CREATE-APPLICATION USER behalten.
  • Dieses Ungültigmachen wird hardwareseitig durch Durchschlag einer Sicherung oder durch irreversibles Überwechsein einer Speicherzelle eines Speichers vom Typ EPROM aus einem logischen Zustand in einen anderen erreicht. Dem Schritt CLOSE kann ein Schritt REBOOT zum erneuten Starten der Karte folgen: die Stromversorgung des Chips muß unterbrochen und wiederhergestellt werden. In diesem Fall ist das Verzeichnis 14 der Anwendungen endgültig festgelegt. Gibt man nicht den Befehl CLOSE, ist die Karte nicht verriegelt.
  • Auf Fig. 3 ist die Verbindung der Chiffrierungsschlüssei mit den Anwendungen dargestellt. Dies bedeutet, daß das Verzeichnis 14 der Anwendungen als fünfte Spalte eine Spalte für die Chiffrierungsschlüssel aufweisen kann. In diesem Fall müssen die Chiffrierungsschlüssel ein für allemal angegeben werden: sie sind nie mehr veränderbar, da das Verzeichnis 14 nach dem Befehl CLOSE nicht mehr zugänglich sein kann. In der Praxis und im Gegensatz zu dem, was zur Vereinfachung auf Fig. 3 angegeben ist, wird es ein Verzeichnis 17 der Chiffrierungsschlüssel geben, in dem die Anwendungen und Chiffrierungsschlüssel einander jeweils einzeln zugeordnet sind. Das Verzeichnis 17 der Chiffrierungsschlüssel ist veränderbar: für jede Anwendung kann der Wert des Schlüssels verändert werden.
  • Die Chiffrierungen, um die es hier geht, sind Chiffrierungen der Art DES oder RSA, die ansonsten bekannt sind, für welche die Parametrierung der Chiffrierung einen Schlüssel benötigt, der geheim genannt wird, wenn er nur einem Benutzer bekannt ist und nur von einer einzigen Anwendung abhängt, oder allgemein bekannt genannt wird, wenn er allen Benutzern der Anwendungen gemein ist. Die Chiffrierung einer Information besteht darin, diese Information nach einem solchen, so parametrierten Algorithmus zu verändern. Der Mikroprozessor ist in bekannter Weise mit den notwendigen Befehlen ausgestattet, die zur Ausführung eines solchen Algorithmus erforderlich sind. Durch dieses Prinzip kann der Mikroprozessor der Karte die zu einer Anwendung gehörenden Chiffrierungsschlüssel verwenden, ohne daß die Anwendungen sich Schlüssel teilen müßten. Das Verzeichnis der Schlüssel muß in jeder Zeile den Schlüssel und die Anwendung, für die er bestimmt ist, enthalten.
  • Fig. 4 zeigt das Datentabellenverzeichnis 15. Dieses Verzeichnis wird auf der Karte nicht endgültig geschlossen: es kann während der ganzen Lebensdauer dieser Karte ergänzt oder verändert werden. Der Einfachheit halber wurde angegeben, daß der von dem Mikroprozessor zum Erstellen eines Eintrags in diesem Verzeichnis ausgeführte Befehl ein MADE- Befehl ist. Dieser MADE-Befehl kann mit einem REMOVE-Befehl verbunden werden, mit dem ein Eintrag gelöscht werden kann. Das Tabellenverzeichnis 15 ist in Fig. 4 in theoretischer und in Fig. 6 in tatsächlicher Form gezeigt. Es umfaßt im wesentlichen, vergleiche Fig. 4, die Verbindung eines Anwendungsnamens, eines Tabellennamens und einer Beschreibung der Spalten der Datentabelle, die man erstellt. Des weiteren umfaßt das Tabellenverzeichnis 15 vorzugsweise Spalten für Hinweisadressen, hier drei Arten von Adressen, sowie eine Spalte für die Anzahl Spalten der Datentabelle selbst und schließlich eine andere Spalte für die Art der Tabelle, T für Tabelle und V für Ansicht, die von dem Eintrag dargestellt wird.
  • In Fig. 4 ist zu sehen, daß jeder der Hauptanwendungen eine Tabelle zugeordnet wurde, und zwar TABLE1 für die BANK-Anwendung, TABLE2 für die WERKSTATT-Anwendung und TABLE3 für die SOZVERS-Anwendung. Man sieht, daß für die vorstehend genannten Benutzeranwendungen keine eigenen Tabellen vorgesehen wurden, da diese, weil sie den Hinweis U tragen, keine Tabellen erstellen dürfen. Diese Benutzeranwendungen können nur Daten in bereits erstellte Tabellen einfügen, sie verändern, löschen oder auswählen (wenn Rechte in diesem Sinne gewährt wurden).
  • Verzeichnis 15 der Datentabellen wird je nach Bedarf von den Besitzern der Anwendungen nach dem in Fig. 9 dargestellten Organogramm erstellt. Zum Erstellen einer Tabelle, beispielweise der TABLE1, im Verzeichnis 15 der Datentabellen führt ein Besitzer einer Anwendung wie vorher einen Befehl PRESENT aus, im vorliegenden Fall den Befehl "PRESENT BANK". In diesem Fall verlangt der Mikroprozessor nach dem bereits vorher betrachteten Algorithmus, daß die Übereinstimmung des zu BANK im Verzeichnis 14 gehörenden Geheimcodes mit einem mit der Tastatur eingegebenen Geheimcode, hier "FORTUNE" überprüft werden kann. Im Falle der Übereinstimmung kann der Befehl MADE oder REMOVE ausgeführt werden.
  • Alle Befehle, auch der Befehl PRESENT, werden ausgeführt, während der Mikroprozessor der Karte auf BEFEHLS- EMPFANG steht: er erwartet eine Betätigung von außen. Sobald ein Befehl (beispielsweise über die Tastatur) gegeben wurde, wird dieser zunächst durch Vergleich mit den für den Mikroprozessor möglichen Befehlen analysiert. Wenn der Befehl falsch, unzulässig ist oder schlecht empfangen wurde, geht die Karte am Ende der Analyse wieder in BEFEHLSEMPFANG-Warteposition. Im gegenteiligen Fall wird mit der Ausführung des Befehls begonnen. Mit dem Befehl PRESENT wird der Anwendungsname, für den der Befehl PRESENT gegeben wurde, in ein Register des Mikroprozessors eingetragen, das Register der laufenden Anwendung genannt wird. In dieses Register der laufenden Anwendung sind in den beiden in Fig. 8 bzw. 9 dargestellten Beispielen beispielsweise die Namen SYSTEM oder BANK geladen. Nach diesem Laden findet der Abgleich des Geheimcodes statt und sorgt im Bestätigungsfall für das Eintragen einer Anzeige JA ebenso in ein Geheimcoderegister des Mikroprozessors. Anschließend geht der Mikroprozessor in Befehlswartestellung. Zum Ausführen der Befehle MADE oder REMOVE prüft der Mikroprozessor nach der Analyse dieser Befehle, ob die Anwendung (BANK), für die diese Befehle gegeben wurden, im Verzeichnis 14 der Anwendungen einer Kennzeichnung der Art A zugeordnet ist, welche das Erstellen einer Datentabelle zuläßt. Ist das Kennzeichen U, sind Erstellen oder Löschen nicht zulässig.
  • Mit dem MADE-Befehl trägt das mit diesem Befehl zusammenhängende automatische Programm den Inhalt des Registers der laufenden Anwendung in den Bereich des Anwendungsnamens in Tabelle 14 ein. Dies erfolgt automatisch. In dem Beispiel, in dem es um die BANK-Anwendung geht, wird dieser Anwendungsname von dem Mikroprozessor automatisch in die entsprechende Spalte eingetragen. Anschließend müssen nach einer vorher festgelegten Reihenfolge der Name des Verzeichnisses angegeben und das Verzeichnis und die Spalten definiert werden. Die Def inierung des Verzeichnisses umfaßt im wesentlichen die Angabe der Anzahl Spalten und für jede Spalte die Art der Spalte: Spalte mit variabler oder festgelegter Länge. Außerdem muß die Höchstlänge der Spalte angegeben werden (unabhängig davon, ob sie eine variable oder feste Länge aufweist). Diese Länge liegt bevorzugt zwischen 1 und 255. Schließlich muß jeder Spalte der Datentabelle ein Name gegeben werden. Die Beschreibung der Spalten muß in so vielen Malen erfolgen wie Spalten da sind. Ebenso definiert man die Art der Tabelle T für Tabelle und V für Ansicht. Es wird später noch erläutert, welche Entsprechung diese Art hat.
  • Am Ende des Befehls MADE kehrt das System in den Befehlsempfang zurück. Führt man einen REMOVE-Befehl aus, löscht man einen Eintrag im Verzeichnis 14, vorausgesetzt, man ist Besitzer der Anwendung: d.h. vorausgesetzt, daß man vorab gleichzeitig den Namen der Anwendung und den zu dieser Anwendung gehörenden Geheimcode eingeben kann. Das Datentabellenverzeichnis stellt einen Besitzerzusammenhang zwischen dem Besitzer der Anwendung und der Tabelle her.
  • Fig. 6 zeigt genauer, wie das Verzeichnis 15 der Datentabellen aufgebaut ist. Aus Platzsparungsgründen weist dieses Tabellenverzeichnis Angaben auf, die das Speichern von Daten im Datenspeicher 12 packen sollen. Sieht man sich den oberen Teil der Fig. 6 an, unterscheidet man drei erste Hinweismarken: die Hinweismarken XX, YY und ZZ. Dies bedeutet, daß jede von ihnen auf zwei Bytes beschrieben ist. Jede Hinweismarke steht für eine Adresse. Anhand des direkt unter dem oberen Teil der Fig. 6 gezeigten Beispiels kann man sich einen Begriff der Bedeutung der einzelnen Elemente machen. So markiert die erste Hinweismarke XX im Bereich des Speichers 12, der das Verzeichnis 15 enthält, die relative Adresse des Endes der Eintragung, die von dieser Hinweismarke begonnen wird.
  • Wie man sieht, umfaßt der betreffende Eintrag in dem Beispiel 58 Zeichen, und folglich umfaßt der Code XX die Adresse 59. Dies bedeutet, daß man zum Betrachten einer Beschreibung einer folgenden Datentabelle 59 zusätzliche Bytes durchlaufen muß. Dies ermöglicht dem Mikroprozessor umgehend, zu prüfen, welches die Datentabellen sind, auf die er für eine betreffende Anwendung Zugriff nehmen kann.
  • Die zweite Hinweismarke YY gibt die Adresse des ersten in dem Datenspeicher gespeicherten Eintrags an, der entsprechend der betrachteten Datentabelle beschrieben ist. Wenn YY beispielsweise 200 ist, befindet sich die erste in dem Datenspeicher 12 gespeicherte Information nach der Struktur der betrachteten Datentabelle bei der Adresse 200, siehe Figur 7. Die dritte Hinweismarke ZZ gibt die Adresse des letzten Eintrags der Tabelle an. Durch die Beschreibung der betreffenden Tabelle und dadurch, daß nur ein Eintrag existiert, ist diese Adresse ZZ hier auch 200 wie YY (Fig. 7).
  • Nach den Hinweismarken auf einem Zeichen gibt man die Anzahl Spalten des Verzeichnisses an. Im Fall der BANK-Anwendung ist die Spaltenanzahl gleich 7 (s. Fig. 4). Anschließend gibt man die Art der Tabelle an, ebenfalls auf einem Byte. Im vorliegenden Fall handelt es sich um eine Tabelle, als gibt man einen Buchstaben T an. Würde es sich um eine Ansicht handeln, hätte man die Angabe V (oder eine andere) gemacht. Außerdem wird angegeben, welcher Unterschied zwischen den Tabellen und Ansichten besteht. Dann gibt man den Namen der Tabelle an. In diesem Fall stellt man vorzugsweise vor die Angabe des Tabellennamens ein Byte, dessen Bedeutung die Anzahl Zeichen (Bytes) dieses Tabellennamens ist. Im Falle von TABLE1, dessen Name sechs Zeichen aufweist, trägt man in dieses Byte den Wert 6 ein. Der Tabellenname wird dann auf sechs Bytes gegeben. Zu erwähnen ist, daß alle Standardzeichen erlaubt sind, mit Ausnahme der Zeichen, die Kontrollzeichen des Mikroprozessors entsprechen, daß aber außerdem ein Tabellenname verboten wird, wenn er schon für eine andere Anwendung existiert. Der Befehl MADE nimmt diese Überprüfung vor. Der Anwendungsname in der Datentabelle kann eingegeben werden, wobei auch ihm ein Byte vorangestellt wird, dessen Wert gleich der Anzahl Zeichen dieses Anwendungsnamens ist. Im vorliegenden Fall hat man ebenfalls 6 gewählt, von daher können die Anwendungsnamen in dem Verzeichnis 15 nur sechs Zeichen aufweisen. Wenn die Eingabe des Anwendungsnamens automatisch erfolgt, kann man diesen Namen so übernehmen, wie er in Verzeichnis 14 steht, d.h. in fester oder variabler Länge. In diesem letzteren Fall wird auch dessen Länge übertragen. Dann gibt man so oft, wie es Spalten in der Datentabelle gibt, auf einem Zeichen die Art der Spalte, auf einem anderen Zeichen die Länge der Spalte und schließlich, seine Anzahl Zeichen vorangestellt, den Namen der Spalte an. In dem unten in Fig. 6 dargestellten Beispiel finden sich sieben Spalten mit jeweils einem Code "1", der eine Art Spalte mit festgelegter Länge darstellt. Diese festgelegte Länge selbst ist bei den drei ersten Spalten auf gleich 9, bei der vierten Spalte auf 3, bei der fünften Spalte auf 9, bei der sechsten Spalte auf 15 und bei der siebten Spalte auf 9 festgelegt. Dann sind die Namen dieser Spalten angegeben, ihnen vorangestellt ist jeweils die Anzahl Zeichen in diesen Namen. Hier sind Name (NOM), Vorname (PRENOM), Straße (RUE), Nummer (NUMERO), Stadt (VILLE), Kontonummer (Nº COMPTE) und Banksaldo (SOLDE) einer Person angegeben, die Inhaber der Karte ist. Mit dem Befehl MADE kann der Mikroprozessor auch prüfen, ob die Speichergröße kleiner ist als die zugebilligte Speichergröße. Hierzu bedient er sich der angegebenen Höchstlängen. Ihr Summe muß kleiner als die zugebilligte Größe sein.
  • Fig. 7 zeigt die entsprechenden Einträge im Datenspeicher 12 vom Typ EEPROM. Man sieht, daß hier Einträge mit fester Länge gewählt wurden, man kann aber auch wie vorher vorziehen, Einträge mit variabler Länge zu wählen, was es bei kurzen Worten ermöglicht, die im Speicher 7 belegte Zone zu packen. Das Trennzeichen zwischen den Worten mit variabler Länge folgt somit in der Erfindung 1. aus der Beschreibungsstruktur und 2. aus dem Wert des vorangehenden Bytes. Ein Benutzer, der seine Karte programmiert (in dem Maße, wie die Anwendung es ihm gestattet), braucht sich folglich mit diesem Problem nicht zu beschäftigen.
  • Nachfolgend soll das Verzeichnis der Rechte 16 betrachtet werden. In diesem Verzeichnis kann ein Anwendungsbesitzer, beispielsweise eine Bank, die Besitzer der BANK-Anwendung ist, Benutzeranwendungen ABHEBUNG, ÜBERWEISUNG, ANZEIGE Benutzungsrechte SELECT, INSERT, MODIF, DELETE an Einträgen seines Verzeichnisses, hier TABLE1, vergeben. Anders gesagt, kann ein Benutzer, der eine Benutzeranwendung verwendet, Transaktionen an den Daten vornehmen. Diese Transaktionen sind nach der in diesem Rechteverzeichnis beschriebenen Art zugelassen. Um das Verzeichnis 16 zu füllen, nimmt man die gleiche Folge von Schritten wie in Fig. 10 vor. Man gibt den Befehl PRESENT ein, welcher der betreffenden Anwendung zugeordnet ist, beispielsweise PRESENT BANK. Dann gibt man den Geheimcode ein: FORTUNE.
  • Stimmt der Code überein, kann man in einem Erstellungsbefehl, einem sogenannten GRANT-Befehl, Rechte schaffen oder sie mit einem Annullierungsbefehl REVOKE aufheben. In einem Rechtevergabeschritt gibt man einerseits die Tabelle an, auf die man Rechte vergibt, anschließend den Namen der Benutzeranwendung, für die diese Rechte vergeben werden, und schließlich die Art der vergebenen Rechte. Mit dem Befehl GRANT prüft der Mikroprozessor mit Hilfe des Verzeichnisses 15, ob die entsprechende Tabelle (beispielsweise TABLE1) auch wirklich zu der Anwendung (BANK) gehört, für die man die Rechte vergibt. Diese Überprüfung verwendet für den Zugriff auf das Verzeichnis 15 den Namen der laufenden Anwendung, die in das Register geladen ist. Die vergebenen Rechte können auf vier Bytes codiert sein, ein erstes Byte betrifft das Lesen und entspricht einer Wahl, die drei anderen entsprechen jeweils und der Reihe nach einer Einfügung von Daten, einer Veränderung oder einer Löschung der Daten.
  • Diese Rechte entsprechen den weiter oben erwähnten Befehlen. Jeder Anwendungsbesitzer, der Besitzer der zugehörigen Tabelle ist, kann in das Verzeichnis der Rechte 16 jederzeit neue Rechte an diesen Tabellen eintragen oder aufheben.
  • Die Chiffrierung erfolgt folgendermaßen: In dem Moment, in dem für eine Anwendung (beispielsweise ABHEBUNG: Fig. 3) Daten aus dem Datenspeicher 12 geholt werden, werden sie durch einen dem Mikroprozessor eigenen, automatischen RSA - (oder einen anderen) Chiffrier-Algorithmus chiffriert, der durch den Schlüssel (CLEF1) der jeweiligen Anwendung oder Benutzeranwendung parametriert ist. Wenn diese Daten nun also von der Karte 10 an das Lesegerät 18 gegeben werden, werdens sie dies in einem chiffrierten Zustand. Natürlich umfaßt das Lesegerät den gleichen Chiffrier-Algorithmus und kennt außerdem den Schlüssel (CLEF1) für diese Anwendung oder Benutzeranwendung, um die übertragenen Informationen dechiffrieren zu können. Auf diese Weise kann eine Anwendung eine Transaktion an den Daten einer Tabelle gestatten, die sie verwaltet, ohne eine Enthüllung zu fürchten.
  • Nachstehend soll die Struktur der Anweisungen des Mikroprozessors beschrieben werden, die diesem gestattet, alle Befehle, als da sind SELECT, INSERT, MODIF und DELETE, auszuführen.
  • Zur Ausführung der Befehle SELECT, INSERT, MODIF oder DELETE führt man, wie vorstehend schon beschrieben, einen Befehl PRESENT aus. Im vorliegenden Fall folgt auf diesen Befehl PRESENT der Name der Benutzeranwendung (oder auch der Anwendung), für die diese Befehle auszuführen sind. Ihm folgt ebenfalls die Eingabe des zugehörigen Geheimcodes. Ist dieser richtig, wird der Benutzeranwendungsname in das Register der laufenden Anwendung und die Angabe JA in das Geheimcoderegister eingetragen. Um in der Beschreibung die Reihenfolge der Schritte nicht umschreiben zu müssen, wird auf die jeweiligen Abbildungen Bezug genommen.
  • Der Befehl SELECT kann auf folgende Weise gegeben werden. Seine Syntax umfaßt SELECT, gefolgt von dem Namen des Verzeichnisses und gefolgt von einem oder mehreren Auswahlkriterien. Ein Auswahlkriterium umfaßt einen Spaltennamen, einen Operator und einen Wert. Der Operator kann sein: gleich, unterschiedlich, größer, kleiner, kleiner oder gleich oder größer oder gleich. Die Auswahlkriterien können vielfältig sein. In diesem Fall umfaßt die Syntax des Befehls SELECT ganz einfach am Ende und aufeinanderfolgend die einzelnen Kriterien. Fig. 11 zeigt das Organogramm des Befehls SELECT. In diesem Organogramm wird geprüft, ob die Selektionen jeweils korrekt angegeben sind. Am Selektionsende wird das Ergebnis der Selektionen in einem Selektionsregister gespeichert. Die Tatsache, ob die Anwendung Rechte an der Datentabelle hat (oder auch nicht), wird dem Rechteverzeichnis 16 entnommen. Das Vorhandensein der Datentabelle und auf dieser Datentabelle einer oder mehrerer Spalten mit den angegebenen Namen wird dem Verzeichnis 15 der Datentabelle entnommen. Ist oder sind die ausgewählte/n Information/en einmal in das Ergebnisregister eingeordnet, kann man mit dieser/n Information/en jeden beliebigen Vorgang bekannter Art durchführen.
  • Der Befehl INSERT, Fig. 12, beinhaltet die gleichen Vorab-Schritte wie der Befehl SELECT vor A. Die Syntax dieses Befehls umfaßt diesen Befehl INSERT, gefolgt von allen einzufügenden Werten, und zwar einem nach dem anderen in der Reihenfolge, in der sie eingegeben werden müssen.
  • Zum Ausführen dieses Befehls prüft der Mikroprozessor, ob die Speicherzuweisung der Anwendung und die nutzbare Speichergröße ausreichen. Die Bereiche des Verzeichnisses 14, in denen diese nutzbaren Speichergrößen eingeordnet sind, sind löschbar und veränderbar, vorzugsweise vom Typ EEPROM. Nach der Einfügung wird nämlich der in einen solchen Bereich eingetragene Wert für die entsprechende Anwendung um den von der Größe der gerade vorgenommenen Einfügung eingenommenen Platz verringert. Dies erklärt, daß eine Benutzeranwendung, deren nutzbare Speichergröße null ist (von Anfang an oder nach einer erfolgten Einfügung) keine Einfügung in die Datentabelle vornehmen kann.
  • Der Befehl DELETE ist gleicher Art wie der Befehl INSERT, funktioniert nur umgekehrt. In diesem Fall wird der Zähler am Anfang inkrementiert. Um jedoch zu verhindern, daß eine Benutzeranwendung, die von Anfang an keine nutzbare Speichergröße hat, eine solche an einer Datentabelle erwerben kann, prüft man vorab in dem Rechteverzeichnis 15, ob die Löschung zulässig ist. Diese Überprüfung gleicht in ihrer Art der Überprüfung des Rechts auf die Ausführung des Einfügebefehls.
  • Der Befehl MODIF zur Aktualisierung weist die gleiche Syntax auf wie der Selektionsbefehl, gefolgt von dem Namen einer Spalte und anschließend einem Wert. Dies bedeutet, daß man den neuen Wert in der oder den selektionierten Zeilen in dem Bereich der angegebenen Spalte anordnet. Die Aktualisierung kann auch die Aktualisierung mehrerer verschiedener Spalten einschließen, die zumindest gleichen Selektionskriterien entsprechen.
  • Die Ansichten V sind Untertabellen. Sie erlauben den direkten Zugang zu Einträgen, die in einer Datentabelle Selektionen an Daten entsprechen. Die Ansichten sind im Verzeichnis 15 auf die gleiche Weise benannt wie die Anwendungen oder Benutzeranwendungen. Der einzige Unterschied liegt in den Spezifikationen der Spalten, die sich in ihrem Fall an eine Selektion anschließen. Diese Spezifikationen von Spalten umfassen somit einerseits den Namen der Datentabelle (beispielsweise TABLE2), auf die sich die Selektion bezieht, und andererseits die Selektion selbst. Diese Selektion ist in den gleichen Worten angegeben wie die Syntax des vorab erwähnten Befehls SELECT. In dem Verzeichnis 15 können die von den Ansichten betroffenen Benutzeranwendungen Selektions- und Änderungs-, vorzugsweise jedoch keine Einfügungs- oder Löschungsrechte erhalten.

Claims (8)

1. Verfahren zum Laden und Verwalten mehrerer Anwendungen (BANK, WERKSTATT, SOZVERS), das Benutzeranwendungen (ABHEBUNG, ÜBERWEISUNG, ANZEIGE) in einer Speicher- Chipkarte einschließen kann, wobei eine Benutzeranwendung eine Anwendung ist, die selbst im Rahmen einer Anwendung verwendet wird, dadurch gekennzeichnet, daß bei einer Anwendung, die über
- das Recht, Benutzeranwendungen herzustellen,
- das Recht, Datentabellen zu erstellen, und
- das Recht, auf ihren eigenen Datentabellen Rechte an Anwendungen oder Benutzeranwendungen zu verleihen, verfügt,
bei einer Benutzeranwendung, die über keines dieser Rechte verfügt,
man zum Laden von Anwendungen oder Benutzeranwendungen
- in den Speicher der Chipkarte ein Verzeichnis (14) der Anwendungen und der eventuellen Benutzeranwendungen eingibt (CREATE), das jedem Anwendungs- oder Benutzeranwendungsnamen ein Paßwort und einen Speicherplatz zuordnet,
- in den Speicher der Chipkarte ein Verzeichnis (15) von Datentabellen eingibt (MADE), wobei die Datentabellen dieses Verzeichnisses für jede Anwendung dem Namen der Anwendung (BANK, WERKSTATT, SOZVERS) einen Tabellennamen (TABLE1, TABLE2, TABLE3) und die Daten, die sich auf diese Anwendung beziehen, zuordnet,
- man in den Speicher der Chipkarte ein Verzeichnis (16) der Rechte eingibt (GRANT), die Anwendungen oder Benutzeranwendungen auf diese Datentabellen gewährt werden, wobei dieses Rechteverzeichnis jedem Datentabellennamen (TABLE1, TABLE2, TABLE3) Anwendungsnamen (BANK, WERKSTATT, SOZVERS) oder Benutzeranwendungsnamen (ABHEBUNG, ÜBERWEISUNG, ANZEIGE) zuordnet, sowie diesen Anwendungen oder Benutzeranwendungen gewährte Rechte, und bei der man zur Verwaltung der Anwendungen oder Benutzeranwendungen
- die Verwaltung der Daten gestattet, die während der Benutzung in einer Datentabelle enthalten sind, entsprechend den einer laufenden Anwendung oder Benutzeranwendung gewährten Rechten.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß man folgendes zuläßt:
- die Eingabe einer Datentabelle (TABLE1) für eine Anwendung (BANK), wenn man den dieser Anwendung zugeordneten richtigen Geheimcode (FORTUNE) eingibt und wenn die Speicherzuweisung für diese Anwendung es zuläßt,
- die Eintragung von Rechten auf einer Datentabelle (TABLE1), wenn man den richtigen Anwendungsnamen (BANK) eingibt, für den man diese Tabelle und/oder den Geheimcode (FORTUNE) dieser Anwendung erzeugt hat, und
- die Verwaltung der in einer Tabelle enthaltenen Daten entsprechend der laufenden Anwendung und den für diese Anwendung gewährten Rechten.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß man in das Verzeichnis der Anwendungen Anwendungen und Benutzeranwendungen einträgt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß man ein Verzeichnis (14) von Chiffrierungsschlüsseln einspeichert, die jeweils einer Anwendung zugeordnet sind, damit der Transfer von in der Karte enthaltenen Daten nur in chiffrierter Form erfolgen kann, die von einem durch diesen Schlüssel parametrierten Chiffrierungsalgorithmus abhängt.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß man im Anwendungsverzeichnis jeder Anwendung eine maximale Zahl von Transaktionsversuchen mit der Karte in dieser Anwendung zugesteht.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß man in dem Verzeichnis (15) der Tabellen als Beschreibung für jede Tabelle mindestens eines der folgenden Daten angibt:
- den Namen der Beitzeranwendung der Tabelle,
- den Tabellennamen,
- die Anzahl von Spalten der Tabelle,
- die Tabellenart,
- die Adressen der Daten für diese Tabelle im Speicher,
- die Adresse des Anfangs der Beschreibung der folgenden Tabelle, und
- für jede Spalte der Tabelle die Art der Spalte, die Länge der Spalte und den Namen der Spalte.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß man in dem Datentabellenverzeichnis jedem Tabellen-, Anwendungs- oder Spaltennamen eine Anzahl von Zeichen voranstellt, die der Anzahl Zeichen dieser Namen entspricht.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß man in dem Datentabellenverzeichnis eine Datentabelle herstellt, indem man dieser automatisch als Besitzeranwendungsnamen eine Information zuweist, die für den Namen der Anwendung steht, für den man den richtigen Geheimcode eingegeben hat.
DE69205425T 1991-01-18 1992-01-16 Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte. Expired - Lifetime DE69205425T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9100560A FR2673476B1 (fr) 1991-01-18 1991-01-18 Procede securise de chargement de plusieurs applications dans une carte a memoire a microprocesseur.
PCT/FR1992/000039 WO1992013322A1 (fr) 1991-01-18 1992-01-16 Procede securise de chargement de plusieurs applications dans une carte a memoire a microprocesseur

Publications (2)

Publication Number Publication Date
DE69205425D1 DE69205425D1 (de) 1995-11-16
DE69205425T2 true DE69205425T2 (de) 1996-03-21

Family

ID=9408823

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69205425T Expired - Lifetime DE69205425T2 (de) 1991-01-18 1992-01-16 Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte.

Country Status (7)

Country Link
US (1) US5473690A (de)
EP (1) EP0589884B1 (de)
JP (1) JPH06504862A (de)
DE (1) DE69205425T2 (de)
ES (1) ES2082451T3 (de)
FR (1) FR2673476B1 (de)
WO (1) WO1992013322A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10048856A1 (de) * 2000-10-02 2002-04-11 Werner Brauweiler Verfahren und Einrichtung zur Nutzung eines Identifikationssystems

Families Citing this family (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
DE69320900T3 (de) * 1992-08-13 2007-04-26 Matsushita Electric Industrial Co., Ltd., Kadoma IC-Karte mit hierarchischer Dateienstruktur
FR2696854A1 (fr) * 1992-10-09 1994-04-15 Kudelski Sa Fabrique Enreg Nag Système de traitement d'information utilisant un ensemble de cartes à mémoire.
JP3329496B2 (ja) * 1992-11-04 2002-09-30 富士通株式会社 Icカード
US5267314A (en) * 1992-11-17 1993-11-30 Leon Stambler Secure transaction system and method utilized therein
RU2126603C1 (ru) 1993-06-15 1999-02-20 Селлтрейс Коммуникейшнз Лимитед Телекоммуникационная система
US5544246A (en) * 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
JP3594980B2 (ja) * 1993-12-10 2004-12-02 株式会社東芝 ファイル管理方式
US5578808A (en) * 1993-12-22 1996-11-26 Datamark Services, Inc. Data card that can be used for transactions involving separate card issuers
USH1794H (en) * 1994-02-08 1999-04-06 At&T Corp. Secure money transfer techniques using hierarchical arrangement of smart cards
FR2730330B1 (fr) * 1995-02-02 1997-04-18 Cohen Solal Bernard Simon Systeme d'information universel interactif par appareil et carte multi-services
US5594935A (en) * 1995-02-23 1997-01-14 Motorola, Inc. Interactive image display system of wide angle images comprising an accounting system
US5677955A (en) * 1995-04-07 1997-10-14 Financial Services Technology Consortium Electronic funds transfer instruments
US5721781A (en) * 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
WO1997010562A1 (en) * 1995-09-14 1997-03-20 Cybermark, L.L.C. Programming interface for a smart card kiosk
KR0183796B1 (ko) * 1995-12-28 1999-05-15 김광호 스마트 카드의 운용 방법
JPH09212565A (ja) * 1996-02-07 1997-08-15 Nec Corp 無線携帯端末システム
WO1997031327A1 (en) * 1996-02-26 1997-08-28 Motorola Inc. Personal human genome card and methods and systems for producing same
US6038551A (en) * 1996-03-11 2000-03-14 Microsoft Corporation System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer
DE59711125D1 (de) * 1996-03-11 2004-01-29 Kaba Schliesssysteme Ag Wetzik Identifikationsmedium mit passivem elektronischem datenträger
SG54485A1 (en) * 1996-03-29 1998-11-16 Toshiba Kk File managing method requiring a change in key data and ic card device using the method
EP0818761A1 (de) * 1996-07-12 1998-01-14 Koninklijke KPN N.V. Chipkarte, gesicherter Anwendungsmodul, System mit einem gesicherten Anwendungsmodul und ein Endgerät und ein Verfahren zum Steuern von Dienstleistungsaktionen die durch den gesicherten Anwendungsmodul auf der Chipkarte durchgeführt werden
KR20000069550A (ko) 1996-12-20 2000-11-25 챨스 에이치. 셀라 전자문서 프로세스를 위한 방법 및 시스템
EP0968485A2 (de) * 1996-12-23 2000-01-05 Deutsche Bank AG Chipkarte und verfahren zur verwendung der chipkarte
US6575372B1 (en) 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
US6317832B1 (en) 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
DE19716015A1 (de) * 1997-04-17 1998-10-29 Ibm Einbringen von Information auf einer Chipkarte
US6385723B1 (en) 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
US6328217B1 (en) 1997-05-15 2001-12-11 Mondex International Limited Integrated circuit card with application history list
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6488211B1 (en) 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
US6230267B1 (en) 1997-05-15 2001-05-08 Mondex International Limited IC card transportation key set
US6164549A (en) 1997-05-15 2000-12-26 Mondex International Limited IC card with shell feature
US6431453B1 (en) * 1997-05-20 2002-08-13 Dynetics Engineering Corporation, Inc. Automated card insertion system with card multireader and method
JPH1153482A (ja) * 1997-07-31 1999-02-26 Fujitsu Ltd カード読み取り装置
US5991519A (en) * 1997-10-03 1999-11-23 Atmel Corporation Secure memory having multiple security levels
JPH11120300A (ja) * 1997-10-09 1999-04-30 Fujitsu Ltd 可搬型カード媒体,可搬型カード媒体のメモリ空間管理方法,可搬型カード媒体の発行方法および可搬型カード媒体のプログラムデータ書込方法並びにメモリ空間管理プログラムが記録されたコンピュータ読取可能な記録媒体
WO1999019846A2 (en) * 1997-10-14 1999-04-22 Visa International Service Association Personalization of smart cards
FR2770071B1 (fr) * 1997-10-16 1999-12-24 France Telecom Systeme d'identification de personnes
RU2126169C1 (ru) * 1997-12-03 1999-02-10 Веселов Владимир Федорович Способ защиты частной информации пользователя коллективной системы обработки информации
US6484946B2 (en) * 1997-12-22 2002-11-26 Hitachi, Ltd. IC card information display device and IC card for use therewith
US6357665B1 (en) 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
US6736325B1 (en) 1998-01-22 2004-05-18 Mondex International Limited Codelets
AU2433899A (en) * 1998-02-03 1999-08-23 Mondex International Limited System and method for controlling access to computer code in an ic card
US6742120B1 (en) 1998-02-03 2004-05-25 Mondex International Limited System and method for controlling access to computer code in an IC card
US6199762B1 (en) * 1998-05-06 2001-03-13 American Express Travel Related Services Co., Inc. Methods and apparatus for dynamic smartcard synchronization and personalization
US6131811A (en) 1998-05-29 2000-10-17 E-Micro Corporation Wallet consolidator
US7357312B2 (en) 1998-05-29 2008-04-15 Gangi Frank J System for associating identification and personal data for multiple magnetic stripe cards or other sources to facilitate a transaction and related methods
DE19839847A1 (de) * 1998-09-02 2000-03-09 Ibm Speichern von Datenobjekten im Speicher einer Chipkarte
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6820063B1 (en) 1998-10-26 2004-11-16 Microsoft Corporation Controlling access to content based on certificates and access predicates
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US20050060549A1 (en) * 1998-10-26 2005-03-17 Microsoft Corporation Controlling access to content based on certificates and access predicates
US7139915B2 (en) 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
FR2785424B1 (fr) * 1998-10-30 2000-12-15 Schlumberger Ind Sa Dispositif pour la gestion d'acces dans une carte a circuit integre
FR2786008B1 (fr) * 1998-11-13 2001-04-27 Gemplus Card Int Procede et dispositif de controle du cycle de vie d'un objet portatif, notamment d'une carte a puce
US6381576B1 (en) * 1998-12-16 2002-04-30 Edward Howard Gilbert Method, apparatus, and data structure for capturing and representing diagnostic, treatment, costs, and outcomes information in a form suitable for effective analysis and health care guidance
JP3545627B2 (ja) * 1999-02-08 2004-07-21 株式会社東芝 携帯可能電子装置
AU777610B2 (en) * 1999-02-22 2004-10-21 Cards Etc. Pty Limited Card, device, product and product management system
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6938244B1 (en) 1999-05-11 2005-08-30 Microsoft Corp. Interlaced protocol for smart card application development
US6547150B1 (en) 1999-05-11 2003-04-15 Microsoft Corporation Smart card application development system and method
US6845498B1 (en) 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
EP1179209A1 (de) * 1999-05-11 2002-02-13 Microsoft Corporation Verfahren und vorrichtung zum gemeinsamen gebrauch von dateien durch runtime-umgebungs applets in einer chipkarte
DE19937529A1 (de) * 1999-08-09 2001-03-01 Giesecke & Devrient Gmbh Tragbarer Datenträger und Verfahren zur Nutzung in einer Mehrzahl von Anwendungen
FR2797968B1 (fr) * 1999-08-24 2001-10-12 Schlumberger Systems & Service Dispositif et procede de chargement de commandes dans une carte a circuit integre
AUPQ268999A0 (en) 1999-09-07 1999-09-30 Keycorp Limited Application management for multi application devices
JP4920155B2 (ja) * 1999-11-17 2012-04-18 ソニー株式会社 ディジタル信号処理装置及び方法
FR2801118B1 (fr) * 1999-11-17 2001-12-21 Bull Cp8 Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque
CN100387054C (zh) * 1999-11-17 2008-05-07 索尼公司 数字信号处理设备及其系统和扩充功能提供方法
US6757824B1 (en) 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
US6915277B1 (en) * 2000-05-10 2005-07-05 General Electric Capital Corporation Method for dual credit card system
US6609654B1 (en) 2000-05-15 2003-08-26 Privasys, Inc. Method for allowing a user to customize use of a payment card that generates a different payment card number for multiple transactions
US6805288B2 (en) 2000-05-15 2004-10-19 Larry Routhenstein Method for generating customer secure card numbers subject to use restrictions by an electronic card
US6592044B1 (en) 2000-05-15 2003-07-15 Jacob Y. Wong Anonymous electronic card for generating personal coupons useful in commercial and security transactions
US6755341B1 (en) 2000-05-15 2004-06-29 Jacob Y. Wong Method for storing data in payment card transaction
US7069443B2 (en) * 2000-06-06 2006-06-27 Ingeo Systems, Inc. Creating and verifying electronic documents
US6587762B1 (en) * 2000-08-18 2003-07-01 Fxc Corporation Automatic guidance unit for aerial delivery unit
AU9291001A (en) * 2000-09-22 2002-04-02 Edc Systems Inc Systems and methods for preventing unauthorized use of digital content
US7237123B2 (en) 2000-09-22 2007-06-26 Ecd Systems, Inc. Systems and methods for preventing unauthorized use of digital content
JP2002149495A (ja) * 2000-11-15 2002-05-24 Nec Corp メモリ管理方式とその方法及びこの方法を記録した記録媒体
US6938164B1 (en) 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
GB0106082D0 (en) 2001-03-13 2001-05-02 Mat & Separations Tech Int Ltd Method and equipment for removing volatile compounds from air
FR2822256B1 (fr) * 2001-03-13 2003-05-30 Gemplus Card Int Verification de la conformite d'acces a des objets dans un systeme de traitement de donnees avec une politique de securite
WO2002091146A2 (en) 2001-05-09 2002-11-14 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
FR2826472B1 (fr) * 2001-06-22 2003-10-03 Gemplus Card Int Procede de verification des droits d'acces a des fichiers informatiques
DE60226978D1 (de) * 2001-06-27 2008-07-17 Sony Corp Integrierte schaltungseinrichtung, informationsverarbeitungseinrichtung, informationsaufzeichnungseinrichtungsspeicher-verwaltungsverfahren, mobilendgeräteeinrichtung, integrierte halbleiterschaltungseinrichtung und kommunikationsverfahren mit tragbarem endgerät
US7762457B2 (en) * 2001-07-10 2010-07-27 American Express Travel Related Services Company, Inc. System and method for dynamic fob synchronization and personalization
US7195154B2 (en) 2001-09-21 2007-03-27 Privasys, Inc. Method for generating customer secure card numbers
US7207060B2 (en) * 2001-10-18 2007-04-17 Nokia Corporation Method, system and computer program product for secure ticketing in a communications device
JP3826764B2 (ja) * 2001-10-31 2006-09-27 ソニー株式会社 データ処理方法、データ処理装置およびプログラム
US7243230B2 (en) * 2001-11-16 2007-07-10 Microsoft Corporation Transferring application secrets in a trusted operating system environment
US7159240B2 (en) * 2001-11-16 2007-01-02 Microsoft Corporation Operating system upgrades in a trusted operating system environment
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
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
US7121456B2 (en) 2002-09-13 2006-10-17 Visa U.S.A. Inc. Method and system for managing token image replacement
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US6920611B1 (en) 2002-11-25 2005-07-19 Visa U.S.A., Inc. Method and system for implementing a loyalty merchant component
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
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
US9123077B2 (en) 2003-10-07 2015-09-01 Hospira, Inc. Medication management system
US8065161B2 (en) 2003-11-13 2011-11-22 Hospira, Inc. System for maintaining drug information and communicating with medication delivery devices
JP4638135B2 (ja) * 2003-10-14 2011-02-23 ソニー株式会社 情報記憶媒体
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
WO2005086802A2 (en) 2004-03-08 2005-09-22 Proxense, Llc Linked account system using personal digital key (pdk-las)
GB2416618B (en) * 2004-07-23 2008-10-15 Landis & Gyr Ag Improvements in or relating to pre-payment facilities
WO2006015617A1 (en) * 2004-08-13 2006-02-16 Telecom Italia S.P.A. Method of and system for secure management of data stored on electronic tags
KR100471007B1 (ko) * 2004-08-27 2005-03-14 케이비 테크놀러지 (주) 시큐리티 도메인의 독립성을 보장하기 위한 스마트 카드와그 방법
US8352730B2 (en) 2004-12-20 2013-01-08 Proxense, Llc Biometric personal data key (PDK) authentication
JP3944216B2 (ja) * 2005-03-11 2007-07-11 株式会社エヌ・ティ・ティ・ドコモ 認証装置、携帯端末、及び、認証方法
US8036152B2 (en) 2006-01-06 2011-10-11 Proxense, Llc Integrated power management of a client device via system time slot assignment
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US7591419B2 (en) * 2006-03-28 2009-09-22 HSBC Card Services Inc. User selectable functionality facilitator
US7523495B2 (en) 2006-04-19 2009-04-21 Multos Limited Methods and systems for IC card application loading
US7904718B2 (en) 2006-05-05 2011-03-08 Proxense, Llc Personal digital key differentiation for secure transactions
AU2007317669A1 (en) 2006-10-16 2008-05-15 Hospira, Inc. System and method for comparing and utilizing activity information and configuration information from mulitple device management systems
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
WO2009062194A1 (en) 2007-11-09 2009-05-14 Proxense, Llc Proximity-sensor supporting multiple application services
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
US9251332B2 (en) 2007-12-19 2016-02-02 Proxense, Llc Security system and method for controlling access to computing resources
WO2009102979A2 (en) 2008-02-14 2009-08-20 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US8789753B1 (en) * 2008-03-28 2014-07-29 Oracle International Corporation Method for using and maintaining user data stored on a smart card
WO2009126732A2 (en) 2008-04-08 2009-10-15 Proxense, Llc Automated service-based order processing
US20100191652A1 (en) * 2009-01-23 2010-07-29 Eckert Daniel J Systems and methods for adding functionality to a uis for use at a point of interaction
US8271106B2 (en) 2009-04-17 2012-09-18 Hospira, Inc. System and method for configuring a rule set for medical event management and responses
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
JP5377748B2 (ja) * 2010-02-18 2013-12-25 株式会社東芝 プログラム
US9418205B2 (en) 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US9322974B1 (en) 2010-07-15 2016-04-26 Proxense, Llc. Proximity-based system for object tracking
US9265450B1 (en) 2011-02-21 2016-02-23 Proxense, Llc Proximity-based system for object tracking and automatic application initialization
AU2012325937B2 (en) 2011-10-21 2018-03-01 Icu Medical, Inc. Medical device update system
ES2908320T3 (es) 2013-03-06 2022-04-28 Icu Medical Inc Método de comunicación de dispositivos médicos
US9405898B2 (en) 2013-05-10 2016-08-02 Proxense, Llc Secure element as a digital pocket
WO2015031774A1 (en) 2013-08-30 2015-03-05 Hospira, Inc. System and method of monitoring and managing a remote infusion regimen
US9662436B2 (en) 2013-09-20 2017-05-30 Icu Medical, Inc. Fail-safe drug infusion therapy system
US10311972B2 (en) 2013-11-11 2019-06-04 Icu Medical, Inc. Medical device system performance index
JP2016537175A (ja) 2013-11-19 2016-12-01 ホスピーラ インコーポレイテッド 注入ポンプ自動化システムおよび方法
JP6853669B2 (ja) 2014-04-30 2021-03-31 アイシーユー・メディカル・インコーポレーテッド 条件付きの警報転送を用いた患者治療システム
US9724470B2 (en) 2014-06-16 2017-08-08 Icu Medical, Inc. System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy
US9539383B2 (en) 2014-09-15 2017-01-10 Hospira, Inc. System and method that matches delayed infusion auto-programs with manually entered infusion programs and analyzes differences therein
US10417244B2 (en) * 2014-09-22 2019-09-17 Red Hat, Inc. Just-in-time computation in a federated system
WO2016189417A1 (en) 2015-05-26 2016-12-01 Hospira, Inc. Infusion pump system and method with multiple drug library editor source capability
NZ750032A (en) 2016-07-14 2020-05-29 Icu Medical Inc Multi-communication path selection and security system for a medical device
CN108345785B (zh) * 2017-01-25 2021-05-11 杨建纲 内建智能安全行动装置
WO2020018388A1 (en) 2018-07-17 2020-01-23 Icu Medical, Inc. Updating infusion pump drug libraries and operational software in a networked environment
US11139058B2 (en) 2018-07-17 2021-10-05 Icu Medical, Inc. Reducing file transfer between cloud environment and infusion pumps
US11152108B2 (en) 2018-07-17 2021-10-19 Icu Medical, Inc. Passing authentication token to authorize access to rest calls via web sockets
ES2962660T3 (es) 2018-07-17 2024-03-20 Icu Medical Inc Sistemas y métodos para facilitar la mensajería clínica en un entorno de red
US10692595B2 (en) 2018-07-26 2020-06-23 Icu Medical, Inc. Drug library dynamic version management
WO2020023231A1 (en) 2018-07-26 2020-01-30 Icu Medical, Inc. Drug library management system
CN109746767A (zh) * 2019-02-28 2019-05-14 中车青岛四方机车车辆股份有限公司 一种刀具的管控方法、刀具的使用方法与刀具
CA3138528A1 (en) 2019-05-08 2020-11-12 Icu Medical, Inc. Threshold signature based medical device management
US11590057B2 (en) 2020-04-03 2023-02-28 Icu Medical, Inc. Systems, methods, and components for transferring medical fluids
AU2021337529A1 (en) 2020-09-05 2023-05-18 Icu Medical, Inc. Identity-based secure medical device communications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160491A (ja) * 1984-01-31 1985-08-22 Toshiba Corp Icカードとicカード発行装置
US4829169A (en) * 1985-07-01 1989-05-09 Toppan Moore Company, Inc. IC card having state marker for record access
DE3682476D1 (de) * 1985-10-07 1991-12-19 Toshiba Kawasaki Kk Tragbares elektronisches geraet.
US4849614A (en) * 1985-12-27 1989-07-18 Toppan Moore Company, Ltd. Composite IC card
US4742215A (en) * 1986-05-07 1988-05-03 Personal Computer Card Corporation IC card system
US4816653A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
JPH087720B2 (ja) * 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
JPS6373388A (ja) * 1986-09-16 1988-04-02 Fujitsu Ltd 複数サ−ビス用icカ−ドの領域獲得方式
JPS63231692A (ja) * 1987-03-20 1988-09-27 Mitsubishi Electric Corp 機密コ−ド書込装置
US4868376A (en) * 1987-05-15 1989-09-19 Smartcard International Inc. Intelligent portable interactive personal data system
US5161256A (en) * 1988-08-26 1992-11-03 Kabushiki Kaisha Toshiba Method and system for allocating file area in memory area of ic card
JP2695855B2 (ja) * 1988-08-26 1998-01-14 株式会社東芝 携帯可能電子装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10048856A1 (de) * 2000-10-02 2002-04-11 Werner Brauweiler Verfahren und Einrichtung zur Nutzung eines Identifikationssystems

Also Published As

Publication number Publication date
FR2673476B1 (fr) 1996-04-12
EP0589884B1 (de) 1995-10-11
FR2673476A1 (fr) 1992-09-04
ES2082451T3 (es) 1996-03-16
DE69205425D1 (de) 1995-11-16
EP0589884A1 (de) 1994-04-06
WO1992013322A1 (fr) 1992-08-06
JPH06504862A (ja) 1994-06-02
US5473690A (en) 1995-12-05

Similar Documents

Publication Publication Date Title
DE69205425T2 (de) Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte.
DE2837201C2 (de)
DE69320900T2 (de) IC-Karte mit hierarchischer Dateienstruktur
DE68915186T2 (de) Tragbarer elektronischer Apparat.
DE69730712T2 (de) Kommunikationssystem mit gesicherter, unabhängiger verwaltung mehrerer anwendungen pro gebraucherkarte, gebraucherkarte und verwaltungsverfahren dafür
DE69127560T2 (de) Gegenseitiges Erkennungssystem
DE69525732T2 (de) Kartenförmiges Speichermedium
DE69127641T2 (de) Vorrichtung und Verfahren zum Verwalten von Chipkartentransaktionen
DE69823649T2 (de) Multi-anwendungs ic-kartensystem
DE19839847A1 (de) Speichern von Datenobjekten im Speicher einer Chipkarte
DE68915300T3 (de) Chipkarte und Verfahren zum Einschreiben seines Arbeitsprogramms.
DE19536169A1 (de) Multifunktionale Chipkarte
DE19522527A1 (de) Verfahren zur Vereinfachung der Kommunikation mit Chipkarten
DE69016765T2 (de) Verfahren zur Erzeugung einer Pseudozufallszahl in einem Datenbearbeitungssystem und ein System zur Ausführung dieses Verfahrens.
DE19633466A1 (de) Nachinitialisierung von Chipkarten
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
EP0811204B1 (de) Verarbeitung langer nachrichten in einer chipkarte
EP1196902B1 (de) Verfahren zum betreiben eines zur ausführung von nachladbaren funktionsprogrammen ausgebildeten datenträgers
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE60013518T2 (de) Versicherte Personalisierung von Chipkarten
DE69101099T2 (de) Verfahren zum Bestätigen geheimer Kodes in Speicherkarten.
DE69316779T2 (de) Tragbares elektronisches Gerät
DE69801679T2 (de) Gesichertes speicherverwaltungsverfahren
DE19626339A1 (de) Sicheres Laden von Anwendungen und Daten auf Chipkarten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition