-
Die vorliegende Erfindung betrifft tragbare Datenträger wie z. B. Massenspeicher-Karten oder Chip-Karten der Art Kreditkarten. Sie betrifft insbesondere Mikrocomputer.
-
Herausnehmbare Massenspeicher-Karten werden neuerdings als Zubehör für PCs oder Mikrocomputer verwendet, insbesondere für tragbare Computer. In der Zukunft könnten sie die Disketten und andere Massenspeichermittel magnetischer Art ersetzen. Sie können als Massenspeicher einer genauso großen Kapazität wie die Magnetdisketten dienen (Größenordnung: eine Million Oktette); ihr Platzbedarf ist nicht größer, da sie das Format einer Kreditkarte mit einer Dicke von 3 bis 5 mm aufweisen, und sie sind wesentlich schneller zugänglich (mehrere tausend mal schneller).
-
Sie können sogar als Programm-Arbeitsspeicher dienen, der direkt vom PC ausgeführt werden kann. In diesem Fall müssen sie im Gegensatz zu den magnetischen Massenspeichern nicht in den Arbeitsspeicher (RAM) des PC geladen werden, um anschließend ausgeführt zu werden. Die Programme, die sie enthalten, werden direkt vom PC ausgeführt.
-
Die Massenspeicher-Karten, die manchmal auch PC-Karten genannt werden, enthalten mehrere Speicherchips und einen Verbinder am Ende der Karte (Kontakthülsen-Verbinder für 68 Stifte gemäß der Norm PCMCIA der ”Personal Computer Memory Card International Association” 1030B East Duane Avenue, Sunnyvale, Kalifornien). Die Karte kann in einen entsprechenden Verbinder eingesteckt werden (Kontaktstift-Verbinder des Computers). Die Verbindungen sind derart, daß der Speicher von einem parallelen Ein-/Ausgabe-Anschluß des PC adressiert werden kann, als ob der Speicher ein magnetischer Massenspeicher wäre, d. h. als ob er eine Erweiterung des Arbeitsspeichers des Computers wäre.
-
Diese einsteckbaren Karten können neben ihrer Speicherfunktion zusätzliche Funktionen anbieten, wie z. B. Kommunikationsfunktionen. Andere, sogenannte intelligente Karten, enthalten einen Mikroprozessor, der selbst Programme ausführen kann, die im RAM-Speicher der Karte enthalten sind. Es ist bei diesen intelligenten Karten auch vorgesehen, daß der Computer direkt in einen Speicher der Karte Dateien laden kann, die direkt vom Mikroprozessor ausgeführt werden können.
-
Der Speicherbereich dieser Speicherkarten mit End-Verbinder wird genauso wie die Magnetdisketten gemäß dem Betriebssystem des Mikrocomputers formatiert. In einem Beispiel, bei dem das Betriebssystem das bekannte DOS-System (Disc Operating System) ist, wird der Speicherbereich somit in Sektoren oder Segmente aufgeteilt. Und dieser Speicherbereich wird adressiert wie der einer Magnetdiskette: zum Beispiel erfolgt der Zugriff zum Lesen des 5. Sektors, indem die zugeordnete DOS-Leseunterbrechung aktiviert wird, wobei als Argumente diese Sektornummer und die Anzahl der zu lesenden Oktette angegeben werden.
-
Es ist auch möglich, Befehlsregister eines Mikrocomputers zu verwenden, um Zugriffe ausführen. Gegebenenfalls bezieht man sich auf die Druckschrift ”PCMCIA Socket Services Interface Specification”, die von der bereits erwähnten ”Personal Computer Memory Card International Association” ausgegeben wird.
-
Ein Kommunikationsprotokoll zwischen diesen Karten und einem Anwendungsprogramm eines Mikrocomputers ermöglicht es dem Mikrocomputer, zum PCMCIA-Speicherbereich Zugriff zu erhalten und Befehle hohen Niveaus auszuführen: Initialisierung/Konfiguration der Karte, Lesen/Schreiben/Löschen von Daten usw.
-
Es gibt außerdem andere Arten von tragbaren Datenträgern, nämlich Chipkarten mit versenkten Kontakten, die weit verbreitet sind für Anwendungen wie z. B. Telefonkarten, Zutrittskarten für gesicherte Räume, Bankkarten usw. Diese Kartenenthalten im allgemeinen nur einen Chip mit einem integrierten Schaltkreis (obwohl es nicht ausgeschlossen ist, daß sie mehrere aufweisen). Die Kontakte befinden sich nicht mehr am Ende der Karte, sondern auf einer der ebenen Hauptseiten der Karte. Es gibt wenig Kontakte, im allgemeinen zwischen sechs und acht. Diese Karten sind sehr viel dünner als die der Norm PCMCIA entsprechenden Speicherkarten: Ihre Dicke beträgt etwa einen Millimeter anstatt 3 bis 5 Millimeter. Sie sollen in entsprechend den Anwendungen speziell ausgebildete Lesegeräte eingeführt werden: Telefonkabinen, Zugriffstore für Zutrittskarten, Geldautomaten für Bankkarten usw. Sie enthalten einen Speicherbereich, der von einem Mikrosteuerbaustein oder einem integrierten Mikroprozessor verwaltet wird.
-
In bestimmten Fällen können die Chipkarten mit einem Mikrocomputer verbunden werden, um seine Benutzungssicherheit zu gewährleisten. In diesem Fall ist ein Lesegerät für die Chipkarte an den Mikrocomputer angeschlossen.
-
Das Kommunikationsprotokoll zwischen diesen Karten und einem Anwendungsprogramm eines Mikrocomputers oder einer beliebigen Datenverarbeitungsmaschine folgt den Normen ISO 7816-3 und 7816-4. Gemäß diesen Normen, und wie in 4a dargestellt, enthält die Struktur einer Befehlsnachricht mit Transportschicht spezifisch einen Vorspann P, einen Datenblock INF und eine Information E der Übertragungskontrolle (”cheksum” in der angelsächsischen Literatur). Der Vorspann P enthält die Adresse NAD des Lesegeräts der Chipkarte, den Typ PCB eines Datenblocks (Anwendungsdaten, Quittungsdaten oder Kontrolldaten) und die Länge LEN des Datenblocks. Der Datenblock INF ist selbst strukturiert in einen Vorspann H und einen Nachrichtenkörper B. Der Vorspann enthält die Klasse der Anweisung (CLA), den Kode der Anweisung (INS) und die Adresse im Speicherbereich der Chipkarte, zu der man Zugriff erhalten möchte (P1, P2). Der Körper der Nachricht enthält die Anzahl von Oktetten (Lc) der Nachricht, die Oktette der Nachricht (DATA) und die maximale Anzahl von Oktetten (Le) der Nachricht, die in der Antwort erwartet werden.
-
Die Klasse der Anweisung identifiziert die genaue Struktur der Nachricht:
- – ohne Nachrichtenkörper: Typ 1;
- – mit einem Nachrichtenkörper, der die Anzahl von Oktetten (Lc) der Nachricht und die Nachricht enthält (keine Antwort erwartet): Typ 2 (zum Beispiel Einschreiben von Daten);
- – mit einem Nachrichtenkörper, der nur die maximale Anzahl von Oktetten (Le) der in der Antwort erwarteten Nachricht enthält: Typ 3 (zum Beispiel Lesen von Daten);
- – mit einem vollständigen Nachrichtenkörper: Typ 4.
-
Der Mikrocomputer kann so von der Chipkarte Befehle der folgenden Art ausführen lassen:
Lesen/Schreiben/Löschen von Daten in einer Elementardatei;
- – Überprüfung von elektronischen Kennzeichnungen;
- – Verschlüsselung, Entschlüsselung.
-
Als Antwort sendet die Chipkarte eine Nachricht, bei der die Struktur der Transportschicht gleich der der Befehlsnachricht ist und bei der der Datenblock INF die Oktette der Antwort (DATA) und einen Zustandskode (STATUS) enthält, wobei die Gesamtzahl der Oktette des Datenblocks von der Länge LEN im Vorspann P vorgegeben wird. Diese Struktur der Antwortnachricht ist in 4b dargestellt.
-
Es wurde erfindungsgemäß überlegt, daß es nützlich wäre, die Protokolle der Dialoge mit den Chipkarten und mit den PCMCIA-Karten zu vereinheitlichen, um ihre gemischte Verwendung zu vereinfachen.
-
Zu diesem Zweck wurde bereits ein Karten-Lesegerät für Mikrocomputer vorgeschlagen, das einen Karten-Einführungsschlitz und Mittel aufweist, um entweder an einen Verbinder am Ende einer Speicherkarte oder an versenkte Kontakte einer Chipkarte angeschlossen zu werden. Dieses Lesegerät enthält somit einen ersten Verbinder, der am Boden des Einführungsschlitzes angeordnet ist, um eine Speicherkarte mit End-Verbinder aufzunehmen, und einen zweiten Verbinder für Chipkarten mit versenkten Kontakten, der auf einer der Hauptseiten des Schlitzes angeordnet ist.
-
Um eine verallgemeinerte Verwendung der Chipkarten mit versenkten Kontakten noch zu vereinfachen, schlägt die Erfindung ein Kommunikationsverfahren vor, das es einem Mikrocomputer erlaubt, sowohl auf ein Lesegerät einer Speicherkarte mit End-Verbinder als auch auf ein Lesegerät einer Chipkarte mit versenkten Kontakten zugreifen zu können, ohne daß er die Art des tragbaren Datenträgers berücksichtigen muß, zu dem er so Zugriff erhält.
-
Gemäß dem erfindungsgemäßen Verfahren verwendet ein Anwendungsprogramm im Mikrocomputer ein einziges Kommunikationsprotokoll zwischen dem Anwendungsprogramm und den tragbaren Datenträgern.
-
Umgekehrt folgen die Nachrichten, die das Anwendungsprogramm von diesen Datenträgern empfängt, aufgrund dieser Kommunikationsschicht dem gleichen Kommunikationsprotokoll.
-
Ein solches Verfahren ermöglicht es einem Benutzer, sehr leicht zu den verschiedenen Arten von Karten Zugriff zu erhalten, da es diese Art für den Benutzer transparent macht.
-
Die Erfindung hat ein Kommunikationsverfahren gemäß Anspruch 1 zum Gegenstand. Die Kommunikationsschicht führt bei Empfang einer Nachricht vom Anwendungsprogramm hauptsächlich die folgenden Schritte durch:
- – Auslesen der Adresse des Lesegeräts des Datenträgers aus der Nachricht;
- – Erfassung des Vorhandenseins eines Datenträgers an dieser Adresse und Identifizierung des entsprechenden Typs;
- – wenn der Datenträger vom Typ Chipkarte mit versenkten Kontakten oder intelligente Speicherkarte mit End-Verbinder ist, direkte Übertragung der Nachricht zum Datenträger;
- – wenn der Datenträger vom Typ Speicherkarte mit End-Verbinder ist, Analyse der Nachricht und Kodierung, um sie mit dem Datenträger kompatibel zu machen.
-
Weitere Merkmale und Vorteile der Erfindung gehen aus der nachfolgenden, beispielhaft und nicht einschränkend zu verstehenden Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen und Dokumente hervor.
-
1 zeigt eine Speicherkarte mit End-Verbinder.
-
2 zeigt eine Chipkarte mit versenkten Kontakten.
-
Die 3a und 3b zeigen ein Zweinorm-Lesegerät, in das man
- (a) eine PCMCIA-Karte
- (b) eine Chipkarte
einführt.
-
Die 4a und 4b zeigen die Struktur der Befehlsnachricht bzw. der Antwort mit einer Transportschicht gemäß den Normen ISO 7816-3 und -4.
-
5 zeigt ein Flußdiagramm des erfindungsgemäßen Verfahrens.
-
1 zeigt eine Karte 10 vom Typ PCMCIA. Diese Karte für einen Mikrocomputer ist einsteckbar. Sie enthält einen End-Verbinder 11. Diese Karte hat eine Dicke e1 der Größenordnung von 3 bis 5 Millimeter, eine Breite von etwa 5 cm und eine Länge von etwa 8 cm. Nachfolgend wird sie als PCMCIA-Karte bezeichnet.
-
2 zeigt eine Karte 20 vom Typ Chipkarte. Ihre Dicke e2 beträgt weniger als ein Millimeter. Diese Chipkarte besitzt einen Verbinder 21 mit versenkten Kontakten, der auf einer der ebenen Hauptseiten der Karte angeordnet ist. Dieser Verbinder besteht üblicherweise aus einer kleinen Anzahl (im allgemeinen sechs bis acht) individueller Kontaktflächen, die nebeneinander angeordnet sind.
-
Bei der PCMCIA-Karte erfolgt der Kontakt nach außen durch Einstecken von 68 Kontaktstiften in Kontakthülsen, wie in 3a dargestellt ist.
-
Bei der Chipkarte, und wie in 3b dargestellt, erfolgt der Kontakt durch Druck von Kontaktlamellen gegen die sechs bis acht individuellen Kontaktflächen der Karte. Die Lamellen können die Form von Schleifkontakten, die über die Kontaktflächen des Verbinders 21 schleifen, oder die Form von Wölbungen 32 haben, die auf diesen Flächen aufliegen.
-
Ein mit den geeigneten Lesegeräten versehener Mikrocomputer kann so mit PCMCIA-Karten oder mit Chipkarten verbunden werden. Besser noch, er kann ein gemischtes Lesegerät der Art enthalten, wie es in den 3a und 3b dargestellt ist, das sowohl eine PCMCIA-Karte als auch eine Chipkarte lesen kann. Er besitzt hauptsächlich einen Schlitz 30 für die Einführung einer Karte, einen ersten Verbinder 31 am Boden des Einführungsschlitzes, um eine Speicherkarte mit End-Verbinder aufzunehmen (3a), und einen zweiten Verbinder 32 für Chipkarten mit versenkten Kontakten, der auf einer der Hauptseiten des Schlitzes angeordnet ist (3b). Bewegliche Mittel, in diesem Beispiel mit einer Rückholfeder 42, sind im Inneren des Schlitzes angeordnet, um eine in den Schlitz eingeführte Karte 20 mit versenkten Kontakten gegen den Verbinder für versenkte Kontakte zu drücken, wobei diese Mittel bei der Einführung einer Karte 10 mit End-Verbinder gegen ihre Rückholfeder zurückgedrückt werden. 3a zeigt eine in den Schlitz eingeführte Karte 10 mit End-Verbinder, während 3b eine Karte 20 mit versenkten Kontakten zeigt, die in den Schlitz eingeführt ist. Die beweglichen Mittel mit Rückholfeder enthalten in dem in den 3a und 3b gezeigten Beispiel eine Platte 33 parallel zu den Hauptflächen des Schlitzes, die auf Säulen 46 montiert ist, welche in Sacklöcher 44 eingeschoben werden können, die in einer der Hauptseiten des Schlitzes angeordnet sind, wobei Rückholfedern 42 vorgesehen sind, um sich dem Eindrücken der Säulen in die Sacklöcher zu widersetzen.
-
Die Platte ist vorzugsweise auf der Seite des Eingangs des Schlitzes mit einer Rampe versehen, die zu der Hauptseite geneigt ist, die derjenigen entgegengesetzt liegt, welche den Verbinder für versenkte Kontakte trägt, um die Einführung der Karten in den Schlitz zwischen der Platte und der Hauptseite zu erleichtern, die den Verbinder für versenkte Kontakte trägt.
-
Der Mikrocomputer, der Zugriff zu diesen verschiedenen, in die Schlitze von Lesegeräten eingeführten Datenträgern vom Typ Chipkarte, PCMCIA-Karte oder gemischte Karte erhalten will, muß aber das geeignete Kommunikationsprotokoll verwenden.
-
Insbesondere die PCMCIA-Karte folgt dem Kommunikationsprotokoll, das dem Betriebssystem des Mikrocomputers zugeordnet ist, wie jeder Massenspeicher. Die Chipkarte ihrerseits folgt einem spezifischen Protokoll gemäß den Normen ISO 7816-3 und -4, das bereits unter Bezugnahme auf die 4a und 4b beschrieben wurde, die die Struktur der Befehls- und der Antwortnachricht mit Transportschicht gemäß diesen Normen zeigen.
-
Erfindungsgemäß ermöglicht ein Kommunikationsverfahren dem Mikrocomputer, diese verschiedenen tragbaren Datenträger ohne Unterschied zu behandeln.
-
Ein vom Mikrocomputer ausgegebenes Anwendungsprogramm verwendet erfindungsgemäß ein einziges Kommunikationsprotokoll mit den tragbaren Datenträgern. In einem Beispiel wird das Kommunikationsprotokoll der Chipkarten verwendet.
-
Eine Kommunikationsschicht zwischen dem Anwendungsprogramm und einem herausnehmbaren Datenträger empfängt die Befehle des Anwendungsprogramms gemäß diesem Kommunikationsprotokoll.
-
Es wird daran erinnert, daß die Struktur einer den ISO-Normen entsprechenden Befehlsnachricht enthält (4a):
- – einen Vorspann P, der insbesondere die Adresse NAD des Ziel-Lesegeräts enthält,
- – einen Datenblock INF, der den Befehl enthält,
- – eine Information E der Übertragungssteuerung. Die erfindungsgemäße Kommunikationsschicht führt dann die folgenden Schritte durch:
- – Auslesen der Adresse NAD des Ziel-Lesegeräts,
- – Erfassung des Vorhandenseins einer Karte an dieser Adresse,
- – wenn eine Karte vorhanden ist und wenn sie vom Typ Chipkarte ist, direkte Übertragung der Befehlsnachricht an das Lesegerät,
- – wenn eine Karte vorhanden ist und wenn sie vom Typ PCMCIA-Karte ist, Analyse des den Befehl enthaltenden Datenblocks INF, um sie auf das entsprechende Format zu bringen,
- – wenn keine Karte vorhanden ist, Rücksendung einer Antwortnachricht: ”keine Karte vorhanden” an das Anwendungsprogramm.
-
Die Erfassung des Vorhandenseins einer Karte sowie die Bestimmung ihres Typs können von mechanischen, optischen oder magnetischen Mitteln durchgeführt werden. Zum Beispiel wird ein kleiner elektrischer Schalter durch die Verbindung der Karte mit ihrem Verbinder betätigt.
-
Wenn die Karte vom Typ PCMCIA-Karte ist, besteht die Analyse des Befehls dann darin, die verschiedenen Informationen aus dem den Befehl enthaltenden Datenblock INF zu entnehmen (
4a), um daraus den Inhalt der verschiedenen Parameter dieses Befehls abzuleiten. Der Datenblock INF hat die Form:
mit einem Vorspann H, der aus den Elementen besteht, die mit CLA, INS, P1, P2 bezeichnet sind, und einem Nachrichtenkörper B, der aus den Elementen Lc, DATA, Le besteht, wobei bedeuten:
- CLA:
- Typ der Anweisung
- INS:
- Kode der Anweisung
- P1:
- geben die Basisadresse des Elements an
- P2:
- Speicher, zu dem man Zugriff erhalten möchte
- Lc:
- Anzahl der Oktette des Elements DATA
- DATA:
- die übertragenen Daten
- Le:
- die maximale Anzahl der in der Antwort erwarteten Oktette.
-
Die Anweisung kann von vier verschiedenen Typen sein (Parameter CLA).
- Typ 1 entspricht einer Nachricht, die nur aus einem Vorspann besteht (Anweisungsbeispiel = Initialisierung der Karte),
- Typ 2 entspricht einer Nachricht, die den Vorspann und die Elemente Lc und DATA enthält (Anweisungsbeispiel: Schreiben),
- Typ 3 entspricht einer Nachricht, die den Vorspann und das Element Le enthält (Anweisungsbeispiel: Lesen),
- Typ 4 entspricht der vollständigen Nachricht (Anweisungsbeispiel: Lesen/Schreiben).
-
Wenn der adressierte, herausnehmbare Datenträger eine Karte des Typs PCMCIA ist, analysiert die Kommunikationsschicht die Nachricht im ISO-Format, um sie in das Format PCMCIA umzuwandeln.
-
In einem Beispiel für einen Lesebefehl im ISO-Format gibt das Feld CLA an, daß die Anweisung vom Typ 3 ist. Der Datenblock INF besteht folglich aus den folgenden Feldern:
-
Die Parameter P1, P2 geben dem Betriebssystem die Basisadresse des Speicherelements, das man lesen will, und das Feld Le gibt die Anzahl der zu lesenden Oktette an.
-
Die Parameter des entsprechenden PCMCIA-Befehls, wenn zum Beispiel die PCMCIA-Karte unter dem DOS-System formatiert ist, sind dann:
der vom Feld INS angegebene Anweisungskode,
die von den Feldern P1, P2 angegebene Sektornummer,
die vom Feld Le angegebene Anzahl der zu lesenden Oktette.
-
Im Betriebssystem DOS zum Beispiel, wenn der Anweisungskode, der sich im Feld INS befindet, der Lesekode ist, führt das System den Lesebefehl ausgehend von der von P1 und P2 angegebenen Sektornummer und von der vom Feld Le angegebenen Anzahl der zu lesenden Oktette aus.
-
In Bezug auf die Antworten, wobei auf das Beispiel der Leseanweisung zurückgegriffen wird, schickt die PCMCIA-Karte die Le gelesenen Oktette und den Zustandskode zurück.
-
Die erfindungsgemäße Kommunikationsschicht empfängt also diese
Le Antwort-Oktette der PCMCIA-Karte und den Zustandskode. Sie präsentiert diese
Le Oktette und den Zustandskode gemäß dem Antwortformat mit der Transportschicht, um sie zum Anwendungsprogramm des Mikrocomputers zurückzuschicken, d. h. gemäß dem folgenden Format:
wobei NAD und PCB die gleichen sind wie in der Befehlsnachricht, und LEN entspricht Le: Anzahl der Oktette der Antwort DATA.
-
Für jede Anweisung ermöglicht so die Kommunikationsschicht, je nach dem Typ der Anweisung, in den verschiedenen Feldern des Datenblocks INF des Befehls die Informationen zu suchen, die notwendig sind, damit das Betriebssystem des Mikrocomputers die Anweisung ausführen kann, die es erkennt.
-
In einem anderen Beispiel, in dem man einen Schreibvorgang durchführen will, ist die Struktur der Nachricht:
-
Wenn die Adresse NAD ein Lesegerät einer PCMCIA-Karte bezeichnet, entnimmt man aus dem Körper der Nachricht INF die Nummer des zu schreibenden Sektors (P1, P2), die Anzahl von Daten (Lc) und die Daten (DATA), die dort einzuschreiben sind, um sie zur PCMCIA-Karte zu übertragen. Diese schickt einfach einen Zustandskode, der die gut verlaufene Operation oder einen Ausführungsfehler angibt, zur erfindungsgemäßen Kommunikationsschicht zurück. Diese zeigt dann die Antwort gemäß dem erforderlichen Antwortformat mit Transportschicht an, d. h. hier:
wobei LEN gleich der Anzahl von Oktetten des Zustandskodes STATUS ist.
-
Erfindungsgemäß verwendet ein Anwendungsprogramm, unabhängig von der Art des im Mikrocomputer verwendeten herausnehmbaren Datenträgers, nur ein einziges Kommunikationsprotokoll.
-
Wenn der herausnehmbare Datenträger eine intelligente PCMCIA-Karte ist, sieht man vor, daß die Nachricht ihr direkt im ISO-Format gesendet wird. Die Bestimmung des intelligenten Charakters der PCMCIA-Karte erfolgt dann zum Beispiel durch Lesen einer bestimmten Speicheradresse der PCMCIA-Karte.
-
So erhält man vorteilhafterweise ein einziges Kommunikationsprotokoll, unabhängig von der Art des Lesegeräts, in das der Datenträger eingeführt wird.