-
Vorliegende
Erfindung hat ein System zur Kommunikation eines Servers mit einem
Anwender über
eine Schnittstelle zum Gegenstand. Sie bezieht sich insbesondere
auf Bereiche, in denen das Funktionieren der Schnittstelle von dem
Vorhandensein eines elektronischen Mikro-Schaltkreises vom Typ Berechtigungsmarke,
Chipsupport, Chipkarte oder sonstiges, abhängt, der vorübergehend
herausnehmbar oder definitiv in die Schnittstelle eingefügt werden
kann. Man findet Anwendungen dieser Art von System in zur Verfügung gestellten
Handys, die beispielsweise nicht von einer Person benutzt werden
soll, die nicht den entsprechenden Schaltkreis eingefügt hat.
Sie betrifft ferner alle direkten Zahlungsterminals, bei denen Chipkarten
insbesondere zum Abheben von Geld von Bankkonten verwendet werden.
-
Das
mit dieser Art von System auftretende Problem steht in Zusammenhang
mit der Definition der Schnittstelle. Zu einem bestimmten Zeitpunkt
impliziert der bekannte Bedarf an Sicherheit und an Transaktionskomfort
den Einsatz von Verfahren mit Schnittstelle. Diese Verfahren sind
entwicklungsfähig.
Dies hat zur Folge oder zum Nachteil, dass veraltete Schnittstellen
im Rahmen dieser Entwicklung nach und nach ausgewechselt werden
müssen.
-
Man
könnte
jedoch in Betracht ziehen, Schnittstellenbetriebssysteme ähnlich der
Aktualisierung von Betriebssystemen in Mikrocomputern zu aktualisieren.
Diese Vorgehensweise hat jedoch den Nachteil, dass viele Aktualisierungen
vorgenommen werden müssten.
Der Besitzer oder der Verwalter der Schnittstelle ist außerdem nicht
der Anwender der Schnittstelle, d.h. derjenige, der den betreffenden elektronischen
Autorisierungsschaltkreis besitzt. Bei einem Chipkarten-Zahlungsterminal
in einem Restaurant ist beispielsweise der Restaurantinhaber der Besitzer
der Schnittstelle, wohingegen der Anwender bzw. der Zahler, Inhaber
der Chipkarte ist. Das Gleiche gilt für Handys, insbesondere im Bereich
von Mietwagen, wo das Handy (also die Schnittstelle) der Wagenvermietungsfirma
gehört
(oder dem Konzessionär
eines Telekommunikationsnetzes) und die Chipkarte oder der betroffene
elektronische Schaltkreis Eigentum des Anwenders ist. In diesem
Fall kann die Benutzung bei einer Aktualisierungsabweichung von einer
Schnittstelle zur anderen für
den Anwender sehr kompliziert werden.
-
Es
kommt zwangsläufig
zu einer Diskrepanz zwischen den Interessen des Benutzers, der daran interessiert
ist, mit seiner Chipkarte über
die letzten Neuerungen zu verfügen,
und den Interessen des Schnittstellenverwalters, der aus Kostengründen versucht
sein kann, die Anzahl der Aktualisierungen der von ihm verwalteten
Schnittstellen einzuschränken.
-
Ein
Bedarf macht sich beispielsweise im Bereich der Handys bemerkbar,
wo der Schnittstellenverwalter oder der Besitzer des Servers die
in Anwenderchipkarten vorbezahlten Einheiten abrechnen können möchte, ähnlich wie
dies bei öffentlichen Fernsprechern
der Fall ist. Die Betriebssysteme der derzeitigen Handys und Schnittstellen
sind jedoch nicht mit einem Anweisungssatz ausgestattet, der diese
Abrechnung ermöglicht.
Dies wird später
der Fall sein. Das Problem in diesem besonderen Fall besteht folglich
darin, auf der Chipkarte mit einer Schnittstelle, die hierfür nicht
mit Mitteln versehen ist, von einem Telefonserver gesendete Zählimpulse
abzurechnen. Hierin liegt die Schwierigkeit des Problems.
-
In
Dokument EP A-0 292 248 wird ein System zum Herunterladen von Anweisungen
in eine Chipkarte beschrieben. In Dokument "L'echo
des recherches" Nr.
139 1990, Seite 13–20,
X P 386 290, von P. Jolie et Aol. wird die Benutzung einer Chipkarte
in einem Funktelefon beschrieben. Keine der Angaben ist jedoch zum
Herbeiführen
der Ausführung einer
Anweisung während
einer Verbindungssitzung verwendbar, die nicht schon in der Schnittstelle
oder der Chipkarte verfügbar
ist.
-
Zweck
der Erfindung ist eine Lösung
dieses Problems und das Vorschlagen einer größeren Flexibilität bei der
Benutzung der Schnittstellen oder Terminals. Es kommen mehrere Lösungen in
Frage. Man kann insbesondere einen "universellen" Mechanismus definieren, der die Verwaltung
der Terminals auf transparente Art und Weise von einem Server aus
ermöglicht.
In diesem Fall müssen
alle existierenden Server mit diesem neuen Mechanismus ausgestattet
werden. Diese Lösung
ist also nicht sehr realistisch. Bei der in der Erfindung in Betracht
gezogenen Lösung
müssen
die Terminals nicht geändert werden
und es werden nur die diesem bereits zur Verfügung stehenden Betriebsmittel
eingesetzt. Diese Betriebsmittel sind entweder Verfahren, die vom Server
aus verfügbar
sind, oder Kartenanweisungen (mobil, in einem Terminal), die vom
Server aus gesteuert werden und das Übertragen der Daten über das
Terminal bis zur Karte ermöglichen.
Diese Terminals werden ferner gemäß Erfindung selbst ein einfaches
Betriebssystem haben, das sich im Endeffekt nicht weiterzuentwickeln
braucht.
-
Die
Idee der Erfindung besteht darin, in dem Betriebssystem der Schnittstellen
neben dem bestehenden Anweisungssatz einen minimalen Anweisungssatz
oder sogar ein bestehendes Verfahren anzuwenden. Mit diesem Anweisungssatz
oder diesem Verfahren führt
man in einem reservierten Speicherbereich des Chips eine Anweisung
eines komplementären
oder eines erweiterten Anweisungssatzes aus. Diese komplementäre Anweisung
wird entweder vom Mikrozessor der Schnittstelle, ausgeführt, wobei letztere
auf die bezeichneten Peripheriegeräte einwirken. Sie führen beispielsweise
das Anzeigen von Informationen auf dem Bildschirm der Schnittstelle herbei,
das Abrechnen von vorbezahlten Einheiten in einem Chipkartenspeicher,
das Senden einer Bilanz in Bezug auf die Chipkarte und/oder das
laufende Gespräch
an den Server (insbesondere mit dem Ziel, die Gesprächsdauer
in Rechnung zu stellen) oder die Aufhebung der Gültigkeit der Chipkarte usw.
-
Mit
Bestehen eines reservierter Bereichs, dessen Standort und dessen
Anwendung anschließend
bekannt ist, kann man mit dem minimalen Anweisungssatz des Betriebssystems
der Schnittstelle die Merkmale einer Anweisung laden. Die Merkmale dieser
Anweisung sind entweder der Anweisungscode dieser Anweisung selbst,
oder eine Adresse dieser Anweisung in einem Chipspeicher. Der Mikroprozessor
umfasst außer
diesem reservierten Bereich der Chipkarte einen Anweisungsausführungautomatismus,
dessen Merkmale in den reservierten Bereich geladen wurden. Möchte man
die Anwendungsleistung eines Systems erhöhen, sendet man die Merkmale
der vom Server aus auszuführenden Anweisung
an die Chipkarte. Sie werden natürlich über die
Schnittstelle übertragen,
die, da sie in der Regel einen Speicherbereich im Chipkartenspeicher auswählen und
beschreiben kann (das ist ein Minimum), darin die Merkmale dieser
Anweisung schreiben kann. Anschließend führt der Mikroprozessor der Chipkarte
mit seinem Automatismus seinerseits die Ausführung dieser Anweisung herbei.
-
Anstatt
die Anweisung von einem Server aus zu senden, lädt man in einer verbesserten
Form die komplementären
Anweisungen in komplementären Anweisungsätzen in
aktualisierte Chipkarten. In diesem Fall bestehen die vom Server
zu sendenden Anweisungsmerkmale lediglich aus einem Zeiger, der diese
zusätzliche
Anweisung, die man ausführen
lassen möchte,
anzeigt.
-
Als
Variante benutzt man ein existierendes Kartenverwaltungsverfahren,
das mit dem Senden einer Information verknüpft ist. Man gibt einer Information
eine besondere Form und prüft
bei Eingang in der Karte, ob die übermittelte Information diese
besondere Form aufweist. Man führt
gegebenenfalls eine Anweisung des erweiterten Satzes aus, der dieser
besonderen Information entspricht.
-
Gegenstand
der Erfindung ist folglich ein Kommunikationssystem mit:
- – einem
Servercenter, einem von einem Chipträger getragenen elektronischen
Chip und einer Kommunikationsschnittstelle zwischen diesem Servercenter,
diesem Chip und eventuell einem Anwender,
- – einem
Mikroprozessor und einem mit einem begrenzten Anweisungssatz oder
Kommunikationsverfahrenssatz mit dem Chip ausgerüstetes Speicherprogramm in
der Schnittstelle und
- – im
Chip einem Mikroprozessor und einem Speicherprogramm, das ebenfalls
mit einem begrenzten Anweisungs- oder Verfahrenssatz ausgerüstet ist,
dadurch gekennzeichnet, dass das Kommunikationssystem Folgendes
umfasst:
- – angeordnete
Mittel, um ausgehend von einer vom Servercenter ausgegebenen Meldung
im Verlauf einer Anwendungssitzung in einem reservierten Speicherbereich des
Chips mit den begrenzten Anweisungssätzen oder den Verfahren der
Schnittstelle, die Merkmale einer von den begrenzten Sätzen oder
Verfahren dieser Schnittstelle unterschiedlichen Anweisung auszuwählen oder
zu schreiben und
- – ein
zur Ausführung
im Verlauf dieser Sitzung dieser unterschiedlichen Anweisungen nach
der Wahl oder dem Schreiben seiner Merkmale in diesem reservierten
Speicherbereich angeordneter Ausführungsautomatismus im Chip.
-
Die
Erfindung ist besser bei Lesen der nachfolgenden Beschreibung und
bei Untersuchung der dazugehörigen
Abbildungen zu verstehen. Diese dienen der Information und sind
keineswegs einschränkend.
Die Abbildungen zeigen:
-
1:
eine Gesamtdarstellung eines Kommunikationssystems gemäß Erfindung;
-
2:
eine schematische Darstellung der Funktionsweise des Ausführungsautomatismus
der Anweisung des zusätzlichen
Satzes;
-
3:
Standard-Mikroprogramme, die in einer Chipkarte eingesetzt werden
und mit dem Kommunikationssystem der Erfindung funktionieren.
-
1 zeigt
ein Kommunikationssystem gemäß Erfindung,
das einen Servercenter 1 umfasst, einen elektronischen
Chip 2, der beispielsweise von einem Chipsupport 3 wie
z.B. eine Chipkarte getragen wird, oder eine Chipberechtigungsmarke
oder sonstiges, insbesondere einen Verbindungssupport einer integrierten
Schaltung, der in seiner DIP- oder CMS-Box montiert ist. Dieses
System umfasst ferner eine Kommunikationsschnittstelle 4 zwischen
diesem Server 1, diesem Chip 2 und eventuell einem
Anwender, der die Steuerschalter 5 von Schnittstelle 4 bedienen
kann. Server 1 ist das System, in dem die Anwendung untergebracht
ist und das sie den zahlreichen Schnittstellen und Anwendern zur
Verfügung stellt.
Server 1 sendet Informationen über eine Transportverbindung 6 an
die Schnittstellen sowie an die Karte. Es kann ferner eine direkte
Verbindung geben. Die Transportverbindung 6 kann ebenfalls
ein Weg in einem Datenübertragungsnetzwerk
sein und über mehrere
Formen erfolgen: Draht, Hertz oder sonstiges. Sie benutzt ein Transportprotokoll
und insbesondere Modems 7 und 8 zur Weiterleitung
der Informationen. Diese Informationen sind Daten, Adressen und/oder
Anweisungen.
-
Schnittstelle 4 kann
für eine
Anwendung bestimmt sein z.B. vom Typ EFTPOS (Electrocic Found Transfert
Point Of Sale) oder vom Standardtyp, beispielsweise vom Typ Personal
Computer oder Minitel. Die Aufgabe der Schnittstelle besteht im
Wesentlichen darin, einem Anwender die Möglichkeit zu geben, mit Server 1 oder
Chip 2 in einen Dialog zu treten und/oder für Server 1,
Chip 2 oder Schnittstelle 4 bestimmte Informationen,
zu befördern
und zu formatieren. Die Chipkarte 3 umfasst Daten, die
der Anwendung und dem Inhaber, nämlich
dem Anwender, eigen sind. Sie verfügt über ein Betriebssystem, das dank
eines Anweisungssatzes eine Vielzahl meistens spezifischer Funktionen
bietet.
-
In
Schnittstelle 4 ist ein Mikroprozessor 9 installiert,
der mit einem Befehls-, Daten und Adressbus 10, mit im
Wesentlichen einem Programmspeicher 11, einem Chipsupport-Laufwerk 12 und
einer Eingangs-/Ausgangs-Schaltung in Richtung Server 1,
beispielsweise Modem 8, verbunden ist. In dieser Mindestversion
dient Schnittstelle 4 nur dazu, den Verkehr mit Chipkarte 3 sicherzustellen.
Bei Bedarf ist Bus 10 ebenfalls an einen Anzeigebildschirm 13 angeschlossen,
der die Anzeige der durchgeführten Vorgänge ermöglicht.
Bus 10 ist vorzugsweise an Steuerschalter angeschlossen,
die den Eingriff eines Anwenders ermöglichen. In diesem Fall ist
die Schnittstelle eine Schnittstelle zwischen dem Bediener und der
Chipkarte oder zwischen dem Server, dem Bediener und der Chipkarte.
Programmspeicher 11 umfasst einen begrenzten Anweisungssatz,
hier die recht wenigen Anweisungen SELECT, READ, UPDATE und STATUS.
In der Praxis sind nur die Anweisungen SELECT und UPDATE von Belang,
da sie jeweils das Auswählen
eines Speicherbereichs des Chipspeichers der Chipkarte und/oder
das Schreiben von etwas ermöglichen.
Aus Gründen
des Komforts umfasst der begrenzte Satz ebenfalls eine Nur-Lese-Anweisung
READ eines Bereichs der Chipkarte und vorzugsweise, und eventuell
eine STATUS-Anweisung, die das Senden des Status des Zählers oder
interner Verzeichnisse der Chipkarte an den Server und/oder deren
Anzeige auf Bildschirm 13 ermöglicht. Der Inhalt dieser Anweisung
ist noch festzulegen. Sie könnte
auch eine Jocker-Anweisung sein.
-
Chip 2 von
Karte 3 umfasst einen Mikroprozessor 14 und einen
Programmspeicher 15, der zumindest einen begrenzten Anweisungssatz 16 umfasst.
Da Satz 16 Satz 11 entspricht, findet man dort die
gleichen Anweisungen wie in letzterem, d.h. die Anweisungen SELECT,
READ, UPDATE und STATUS. Auch hier sind nur die Anweisungen SELECT und
UPDATE wesentlich für
die Anwendung der Erfindung. Es sei hier angemerkt, dass die begrenzten Anweisungen 11 und 16 ein
wenig vollständiger
sein können
als diese Mindestsätze.
Chip 2 umfasst ebenfalls einen Bus 17 vom gleichen
Typ wie Bus 10, der den Mikroprozessor 14, den
Programmspeicher 15 und eine Eingangs-/Ausgangsvorrichtung 18 miteinander
in Beziehung setzt. Im Fall der Chipkarten umfasst die Eingangs-/Ausgangs-Vorrichtung 18 einen standardisierten
Verbinder, dessen Metallfeld dazu bestimmt sind, mit den Tastern 19 von
Laufwerk 12 in Berührung
zu kommen.
-
Eines
der Hauptmerkmale der Erfindung ist, dass Chip 2 einen
reservierten Speicherbereich 20 umfasst, der über Bus 17 mit
dem Mikroprozessor 14 in Verbindung steht. In diesem reservierten
Bereich 20 führt
Server 1 das Schreiben von Merkmalen einer Anweisung herbei,
die sich von denen der begrenzten Anweisungssätze 11 und 16 unterscheiden.
Er führt
beispielsweise das Schreiben der Merkmale einer Anweisung BILAN
(im Unterschied zu STATUS) herbei, wobei er versucht, über den
Mikroprozessor 14 auf Bildschirm 13 eine Aufstellung
des Guthabens der vorbezahlten Einheiten, die in einem Nebenspeicher 21 der
Karte enthalten sind, senden zu lassen. Diese unterschiedliche komplementäre Anweisung kann
ebenfalls eine ALGO-Anweisung sein, die versucht, über den
Mikroprozessor 14 einen Nachrichtenverschlüsselungs-
oder einen Authentifizierungsalgorithmus von Chipkarte 3 oder
Terminal 4 ausführen
zu lassen. Diese unterschiedliche Anweisung kann ebenfalls eine
CHANGE-Anweisung zum Austauschen des Werts der vorbezahlten Einheiten
sein, um bestimmte Einheiten 22 im Laufe des Gesprächs zu entwerten.
Sie kann ferner eine INVAL-Anweisung zur Ungültigkeitserklärung der
Karte sein, oder eine andere, sich nach und nach mit der weiteren
Entwicklung der Anwendungen als erforderlich herausstellende Anweisung
sein.
-
Anstatt
in Bereich 20 des reservierten Speichers Merkmale einer
Anweisung zu speichern, die von jenen des begrenzten Anweisungssatzes
abweichen, speichert man in Bereich 20 eine Adresse in Bezug
auf die Speicherung in einem zusätzlichen
Teil 23 von Programmspeicher 15 (oder eines anderen Chipspeichers 2)
einer Anweisung eines komplementären
Anweisungssatzes. Diese Vorgehensweise wird bevorzugt, da es genügt, über Server 1 lediglich
die Adresse in den zusätzlichen
Teil 23 von Programmspeicher 15 der auszuführenden
unterschiedliche Anweisungen BILAN, ALGO, CHANGE, INVAL... zu schicken,
was kürzer
ist. 2 zeigt die Funktionsweise des bevorzugten Ausführungsautomatismus
der unterschiedlichen Anweisung nach Beendigung der Auswahl oder
des Schreibens. In dieser Abbildung werden die gleichen Elemente
mit den gleichen Positionen wie in 1 bezeichnet.
Der Vorteil der Erfindung wird insbesondere deutlich, wenn man durch
das Paar Schnittstelle 4 Chip 2 eine Anweisung
ausführen
lassen will, die nicht bereits im begrenzten Anweisungssatz 11 oder 16 enthalten
ist. In der nachfolgenden Beschreibung wird der serielle oder parallele
Charakter der Übertragung
der diversen Informationen berücksichtigt.
Die erforderlichen Anpassungen werden von MODEM 8 zum einen,
und bei den anderen bekannten Speicherverwaltungsprotokollen für Chipkarten
durch die Lesegeräte 12 zum andern
durchgeführt.
-
Meldung 24 wird
von Server 1 abgesendet. Sie umfasst im Wesentlichen einen
ersten Teil 25 in Bezug auf einen Anweisungscode, einen
zweiten Teil 26 in Bezug auf bezeichnete Speicherzone (die
von der Anweisung betroffen ist) und einen Teil 27 in Bezug
auf eine Information. Teil 27 kann eine festgelegte oder
veränderliche
Länge haben
und in diesem Fall umfasst er bekanntermaßen im Kopf im Binärmodus ein
Byte, das die Länge
der übermittelten
Information angibt.
-
Im
ersten Fall 24 ist die Anweisung eine SELECT-Anweisung. Der betroffene
Speicherbereich ist der reservierte Speicher 20 mit der
Adresse MEM RES, und die Information steht in Beziehung zu den Merkmalen
einer Anweisung, wie z.B. ALGO. Mikroprozessor 9 von Schnittstelle 4 empfängt diese
Meldung 24 und übermittelt
jeweils auf seinem Steuerbus 28, seinem Adressbus 29 und
seinem Datenbus 30 die in Bereich 25 enthaltene
Anweisung, die in Bereich 26 enthaltende Adresse und die
in Bereich 27 enthaltende Information. Diese Übertragung
erfolgt in Richtung Mikroprozessor 14 gemäß bekannten
Protokollen und mittels Laufwerk 12 und Verbinder 18. Mikroprozessor 14 führt die
Anweisung SELECT für Meldung 24 aus,
oder UPDATE für
Meldung 31, und beginnt mit dem Laden dieser Anweisung
in sein Anweisungsverzeichnis 32. Die betroffene Anweisung wird
anschließend
vom Mikroprozessor 14, der den reservierten Speicher 20 auswählt bzw.
aktualisiert, ausgeführt.
Die Auswahladresse MEM RES wird zu diesem Zweck durch einen Adressbus 33 von
Mikroprozessor 14 übertragen.
Ein aus der Ausführung
der Anweisung SELECT oder UPDATE resultierender Befehl wird von
einem Steuerbus 34 auf eine Verwaltungsschaltung 35 von
Speicher 20 angewendet. Schaltung 25 ist eine
einfache Schreib-Lese-Schaltung, so dass die von Bus 33 beförderte Adressen
in Speicher 20a gelesen oder geschrieben werden können. Datenbus 36 überträgt die von
Bus 33 erhaltenen Daten. Im Fall von Meldung 31 lässt Mikroprozessor 14 durch
Schaltung 35 eine Beschriftung, das Schreiben in Speicher 20 der
vom Server 1 erhaltenen ALGO-Meldung ausführen. Man
stellt auf dieser Ebene fest, dass die Tatsache, in den reservierten Speicher 20 zu
schreiben, sich nicht vom Schreiben in einen anderen Teil des Speichers
von Chip 2 unterscheidet. Diese Art von Befehl ist trivial.
Der Automatismus der Erfindung bezweckt also die Übertragung der
unterschiedlichen Anweisung, deren Merkmale im reservierten Speicher 20 gespeichert wurden,
in das Anweisungsverzeichnis 32 von Mikroprozessor 14.
-
In
der Praxis hat man in einer bevorzugten Version in Speicher 20 nicht
die Anweisung selbst, sondern eine Anweisungsadresse im komplementären Anweisungssatz 29 gespeichert.
Nach Eintragung der Merkmale, der Adresse, der zusätzlichen Anweisung,
die ALGO bezeichnet wird, benutzt man den Inhalt von Speicher 20 als
Adresse und zum Zeigen einer Anweisung von Programmspeicher 23.
Mit anderen Worten liest der Mikroprozessor 14 im bevorzugten
Automatismus Speicher 20 und überträgt die gelesene Information
an seinen Adressbus 33. Diese Adresse hat gerade auf eine
Speicherzone von Speicherprogramm 23 gezeigt. Nach dem
Zeigen liest der Mikroprozessor in der gezeigten Speicherzone die
darin gespeicherte Information. Diese Information ist die unterschiedliche
Anweisung. Der Mikroprozessor übermittelt
sie über
seinen Steuerbus 34 an sein Anweisungsverzeichnis 32.
Das Mikroprogramm des Automatismus endet mit der Ausführung der
so geladenen unterschiedlichen Anweisung.
-
Diese
unterschiedliche Anweisung kann die Änderung des Inhalts eines Nebenspeichers 21 von Chip 2 zum
Gegenstand haben. Sie kann ferner in umgekehrter Richtung an Mikroprozessor 9 übermittelt
werden und in Schnittstelle 4 für eine Anzeige auf Bildschirm 13 oder
sonstiges übertragen
werden. Sie kann aber auch direkt durch Mikroprozessor 13 auf den
Inhalt bestimmter Speicher oder Peripheriegeräte von Schnittstelle 4 angewendet
werden. Unter Berücksichtigung
der bevorzugten Wahl eines Serien- oder Parallelprotokolls zieht
man für
eine Chipkarte 3 und eine Schnittstelle 4 vor,
das Umsetzen der unterschiedlichen Anweisung an Mikroprozessor 9 zu
delegieren. Diese wird, wie für
Mikroprozessor 14, in ein Anweisungsverzeichnis von Mikroprozessor 9 geladen.
-
3 zeigt
eine bevorzugte Funktionsweise eines Mikroprogramms, das in einem
Programmspeicher 16 einer Chipkarte, bei der das Kommunikationssystem
der Erfindung angewendet werden soll, vorab gespeichert wurde. Zu
Beginn dieses Mikroprogramms wartet Mikroprozessor 14 auf
den Eingang der Anweisung. Anschließend empfängt er die von Bus 28 übertragene
Anweisung. Er prüft
zunächst
in Schritt 37, ob diese Anweisung eine Auswahlanweisung
ist. Ist dies der Fall, führt
er die bezeichnete Auswahl des Speicherbereichs, Speicher 20 oder
Speicher 21, aus. Ist dies nicht der Fall, testet der Mikroprozessor
in Schritt 38, ob die Anweisung eine Leseanweisung READ
ist. Ist dies der Fall, führt er
das Lesen des Speicherbereichs herbei, dessen Adresse in Teil 26 der
Meldung vereinbart wurde. Ist dies nicht der Fall, prüft er in
Schritt 39, ob es sich um eine Aktualisierungsanweisung
handelt und aktualisiert gegebenenfalls den betroffenen Speicherbereich.
Normalerweise sind keine weiteren Tests vorgesehen und die verbleibende
Anweisung müsste eine
STATUS-Anweisung sein, da es sich theoretisch um die einzigen Anweisungen
des begrenzten Anweisungssatzes handelt, die der Mikroprozessor
erwarten kann.
-
Es
ist zu erkennen, dass man einen größeren oder eventuell einen
weniger großen
begrenzten Anweisungssatz vorsehen kann. Nur die Anweisungen SELECT
und UPDATE sind wirklich unverzichtbar für das Verfahren der Erfindung.
In einem Schritt 40 wird der Mikroprozessor 14 prüfen, ob
die erhaltene Anweisung eine Anfrage zur Erstellung eines STATUS
ist und führt
sie gegebenenfalls aus. Es ist anzumerken, dass die Anweisung STATUS
eine standardisierte Anweisung sein kann und sie theoretisch keine
Bezeichnung des Speicherbereichs in Bereich 26 der Meldung
enthalten muss.
-
Hat
Mikroprozessor 14 dagegen im Laufe der Tests 37 bis 40 nicht
festgestellt, dass eine erwartete Anweisung erkannt wurde, gibt
er in Vorgang 14 eine Fehlermeldung aus (die beispielsweise
auf Bildschirm 13 angezeigt werden kann, aber nicht muss). Im
Laufe eines Vorgangs 42 jeweils nach der Ausführung der
Anweisungen SELECT, READ, UPDATE und eventuell STATUS möchte der
Mikroprozessor 14 ermitteln, ob die in Teil 26 der
Meldung enthaltene Adresse eine Adresse MEM RES des reservierten Speichers
ist. Ist dem nicht so, geht Mikroprozessor 14 davon aus,
dass die Verarbeitung der Meldung vollständig durchgeführt wurde.
Er geht wieder in Warteposition zurück. Was die Anweisung STATUS betrifft,
kann man eine systematische Rücksetzung
in die Position des Erwartens der Anweisungen des Mikroprozessors 14 oder
aber einen Testdurchlauf 42 vorsehen, wenn Bereich 26 der
Meldung angegeben wurde.
-
Ist
die reservierte Speicherzone 20 betroffen, lädt Mikroprozessor 14 über den
Adressbus 33 den Inhalt dieses Speichers. Adressbus 33 zeigt
in diesem Fall auf eine der Adressen des Nebenspeichers 23.
Je nach dem, ob er auf die erste, die zweite oder eine andere Adresse
von Speicher 23 zeigt, kann man mit einer reihengeschalteten
Testbatterie 43, 44 die Auswahl einer von vielen
Anweisungen in Speicher 23 herbeiführen. Die Anweisungen sind
im Steuerverzeichnis 32 von Mikroprozessor 14 zu
speichern. Speicher 23 ist vorzugsweise ein Speicher vom
Typ "nicht flüchtig" mit Speicherzellen,
die Transistoren mit floating gate, vorzugsweise vom Typ elektrisch
beschreibbar und löschbar,
EEPROM, umfassen. In diesem Fall führt man, nachdem man den Mikroprozessor 14 die
komplementäre
Anweisung hat ausführen
lassen, das Löschen
des reservierten Speichers herbei, so dass dieser wieder unbeschrieben
ist. Der Löschschritt 45 folgt
also der Ausführung der
komplementären
Anweisung.
-
Man
kann jedoch auch anders vorgehen. Man kann beispielsweise vorsehen,
dass die von Mikroprozessor 14 ausgeführte Aktualisierungsanweisung
UPDATE (nicht von Mikroprozessor 9) selbst ein Mikroprogramm
enthält,
das darin besteht, den reservierten Speicher 20 vor dem
Schreiben eines neuen Zeigers zur Ausführung einer anderen zusätzlichen
Anweisung vorab zu löschen.
Dies ist sinnvoll, wenn in Speicherbereich 24 der Chipkarte 3 das
Zählen
der Einheiten herbeigeführt
werden soll. In diesem Fall sendet Server 1 das erste Mal
eine Anweisung UPDATE zum Zeigen einer Einheitenzählanweisung
in den komplementären
Bereich 23. Anschließend
braucht er nur den reservierten Speicher auszuwählen, zu lesen und zu Schritt 42 weiter
zu gehen. Da die Zählanweisung
bereits in Speicher 20 eingetragen ist, muss sie nicht
neu geschrieben werden. Es genügt,
sie auszuwählen,
sie zu lesen und zu Schritt 42 weiter zu gehen. Bei Bedarf
kann auch die Anweisung STATUS verwendet werden. Meldung 31 umfasst
im Unterschied zu Meldung 24 im Bereich 27 mehr
Daten. Diese Daten zielen auch auf den reservierten Speicher ab.
Sie können
in unterschiedlichen Speicherbereichen 46 oder 47 des
reservierten Speichers gespeichert werden. In diesem Fall wird ein erster
Teil des Inhalts der Meldung in Bereich 27 in einem ersten
Bereich 46 von Speicher 20 gespeichert, ein zweiter
Teil in einem folgenden Bereich 47 und so fort. Dies bedeutet,
dass Server 1, anstatt alle Anweisungen zwecks Ausführung durch
Mikroprozessor 14 nach und nach abzuschicken, eine einzige
Meldung mit einer Folge von Anweisungen sendet, die in einer Abfolge
ausgeführt
werden sollen.
-
In
diesem Fall umfasst Speicher 20 beispielsweise in jedem
Bereich ein Feld 48, in dem die Zeiger oder Merkmale der
auszuführenden
Anweisungen gespeichert werden, und ein Feld 49, das beispielsweise
ein Bit oder ein anderes System ist, in dem eine Binärinformation
im Falle des Vorhandenseins einer Eins mitteilt, dass nach Ausführung einer
Anweisung des komplementären
Anweisungssatzes die Ausführung
einer weiteren Anweisung des komplementären Satzes folgen muss. Bei
Vorhandensein einer Null dagegen weiß man, dass keine auszuführenden
Anweisungen mehr folgen. Die Ausführung jeder Anweisung des ergänzenden
Anweisungssatzes enthält
aus diesem Grund im Mikroprogramm von 4 einen
Test 50, um zu ermitteln, ob die Ausführung einer komplementären Anweisung von
der Ausführung
einer weiteren komplementären Anweisung
gefolgt sein muss oder nicht. Der Anschluss des Mikroprogramms muss
also sofort erfolgen.
-
Als
Variante verwendet man ein existierendes Kartenverwaltungsverfahren.
Ein existierendes Authentifizierungsverfahren der Karte umfasst
beispielsweise das Senden einer verschlüsselten Zufallszahl vom Server
an die Karte, die "Entschlüsselung
dieser Zufallszahl durch die Karte, die Verschlüsselung durch einen Algorithmus
vom Typ DES, der von der entschlüsselten
Zufallszahl eines Geheimcodes der Karte parametrisiert wird und
das Senden an das Lesegerät
zur Überprüfung des
verschlüsselten
Geheimcodes. In der Erfindung reserviert man eine bestimmte Zufallszahl,
z.B. 0000XXXX, zum einen, um durch die 0000 anzuzeigen, dass es
sich nicht wirklich um ein existierendes Verfahren handelt, und
zum andern, um die Information XXXX in Speicher 20 zu laden.
Der Rest wird wie oben beschrieben ausgeführt. Der Vorteil bei der Verwendung
eines bereits existierenden Verfahrens besteht darin, dass die (zahlreichen)
existierenden Schnittstellen mit diesem Verfahren kompatibel sind. Man
braucht nur den Test über
das Vorhandensein der 0000 im Betriebssystem der neu hergestellten Karten
einfügen.