-
Technisches
Gebiet
-
Die
Erfindung betrifft Karten mit magnetischer oder elektronischer Datenspeicherfähigkeit
("Smartcards") und insbesondere
Schnittstellen zwischen diesen Karten und eine anwendungsspezifisch
programmierte Steuereinheit.
-
Stand der
Technik
-
Smartcards
bzw. Chipkarten und Smartcard-Kartenlesegeräte sind in Patenten von Innovatron
und Bull CP offenbart. Vergleiche zum Beispiel die US-Patente 4
102 493 und 4 404 464. Smartcards stimmen im Allgemeinen mit einem
Teil oder mehreren Teilen des ISO-Standards 7816 überein.
-
Mehrere
Smartcard-Lese-/Schreibgeräte
des Standes der Technik verwenden einen programmierten Mikroprozessor,
um eine Serie von vorgegebenen Aktionen für eine Smartcard unter der
Steuerung eines externen Steuersystems durchführen zu können. Das externe Steuersystem
muss das "volle
Wissen" über die verwendete
Smart card haben. Sämtliche Änderungen
der verwendeten Karten müssen
in Änderungen
des externen Steuersystems wiedergegeben werden. Der Entwickler
oder Benutzer des externen Steuersystems müssen ein umfassendes Verständnis über die
Smartcards haben, für
die das Lese-/Schreibgerät
vorgesehen ist.
-
Mehrere
weitere Smartcard-Lese-/Schreibgeräte des Standes der Technik
umfassen einen programmierten Mikroprozessor, um alle Aktionen bezüglich einer
Smartcard unabhängig
durchführen
zu können.
Diese Lese-/Schreibgeräte
stellen typischerweise ein vollständiges Produkt dar, d. h. eine
Verkaufsmaschine oder ein Kassenterminal. Eine Änderung des Produkts, um neue
oder unterschiedliche Smartcards unterstützen zu können, erfordert eine Neuentwicklung
oder eine Modifikation der grundlegenden Lese-/Schreibgerätekomponente.
Dies schränkt
die Fähigkeit
des Herstellers des ursprünglichen
Geräts
dafür ein,
die Smartcard-Technologie
in herkömmlichen
Produkten zu verwenden.
-
Vorhandene
Smartcard-Lese-/Schreibgeräte
können
in zwei Klassen eingeordnet werden. Die erste Klasse ist die, die
als Kartenkoppler arbeitet. Ein Kartenkoppler stellt nur die Hardware
und die minimal notwendige Software für das Lesen von einer Smartcard
oder das Schreiben auf eine Smartcard bereit. Der Koppler kann unterschiedliche
Karten unterstützen,
möglicherweise
von mehr als einem Kartenhersteller. Diese Unterstützung ist
jedoch stark auf die einfachsten und die allgemeinsten Aufgaben
beschränkt,
da die letztendliche Verwendung unbekannt ist. Der Koppler wird
allgemein als Entwicklungswerkzeug für den Einstieg in das Smartcard-Gebiet
oder als eine Einrichtung zum Hinzufügen einer Smartcard-Fähigkeit
zu existierenden Produktentwicklungen verwendet. In jedem Fall muss
der Benutzer des Kopplers ausgeprägte Kenntnisse über die
Smartcard, die Kartendatenstrukturen und die Datenübertragungsprozeduren
erwerben oder besitzen.
-
Das
andere Extrem ist eine Anwendung oder ein Produkt mit eingebetteter
bzw. integrierter Smartcard-Fähigkeit.
Das Lesegerät
ist ein innerer Teil des Host-Steuersystems. Die Unterstützung ist
auf wenige Kartentypen mit Dateninhalten, Strukturen, Sicherheits-
und Übertragungsprozeduren
begrenzt, die von dem Gerätehersteller
vorgegeben sind.
-
Die
japanische Patentschrift
JP
63 250726 beschreibt ein Lese-/Schreibgerät, das Karten
mit unterschiedlichen Protokollspezifikationen verarbeiten kann,
indem es Informationen ausliest, die eine Protokollspezifikation
der Karte angeben, eine Formattabelle und eine Parametersetztabelle
auswählt
und die Daten oder den Befehl für
einen Host-Computer umwandelt.
-
Die
japanische Patentschrift
JP
63 250789 beschreibt ein Lese-/Schreibgerät, das zwischen
einem Host-Computer und einer IC-Karte kommunizieren kann. Das Lese-/Schreibgerät verwendet
auch eine Formatumwandlungstabelle und eine Parametersetztabelle.
-
Die
europäische
Patentanmeldung Nummer 0712087A, die nach dem Prioritätstag der
vorliegenden Anmeldung veröffentlicht
wurde und nur unter A54(3)EPÜ relevant
ist, offenbart ein Karten-Lese-/Schreibgerät, das eine
Anzahl von Kartenformaten lesen und schreiben kann, d. h. Kontakt-Smartcards,
für die
die ISO 7816 zutrifft, kontaktlose Smartcards, für die die ISO 10536 sowohl
für den
kapazitiven Typ als auch den induktiven Typ zutrifft, und Magnetstreifenkarten,
für die
die ISO 7810-13 zutrifft. Das Lese-/Schreibgerät stellt einen einzelnen Kartenschlitz
bereit, der Leseköpfe
für verschiedene
Formate von Karten hat, und speichert die Kommunikationsprotokolle
für diese
unterschiedlichen Kartenformate.
-
Das
US-Patent 5,619,683 offenbart ein Lese-/Schreibgerät für Karten,
die unterschiedliche Anwendungen tragen, und insbesondere für Multianwendungskarten,
das einen gemeinsamen oder abgestimmten Befehlssatz verwendet, den
die Kartenprogramme auch verwenden, um sicherzustellen, dass unabhängig voneinander
entwickelte Kartenanwendungen und Lese-/Schreibgeräteterminals
zusammenarbeiten können.
-
Die
französische
Patentschrift 2,701,133 beschreibt ein Verfahren zur Kommunikation
zwischen einer Verarbeitungseinheit, die mit einem Anwendungsprogramm
verbunden ist, und Smartcards unterschiedlicher Typen. Jede Smartcard
kann Befehle in einem unterschiedlichen Kommunikationsprotokoll
verwenden und benötigen.
Eine Kommunikationsschicht ist zwischen dem Anwendungsprogramm und
den Karten derart hinzugefügt,
dass das Anwendungsprogramm Befehle an eine Karte in nur einem Kommunikationsprotokoll
ausgibt und dass diese Befehle in ein Protokoll übersetzt werden, das für die spezielle
Karte geeignet ist.
-
Es
gibt gegenwärtig
keinen einfachen Weg, dass die Smartcard-Fähigkeit
dem Produkt eines Herstellers hinzugefügt werden kann oder dass ein
existierendes Kartenlesegerät
geändert
werden kann, um die neuen Smartcard-Typen unterstützen zu
können,
außer
dass der Hersteller ein Experte auf dem Gebiet der Smartcard wird.
Wenn ein Wettbewerber diesen Weg beschreitet, ist die Verzögerung bis
zur Wiedergewinnung einer Wettbewerbsposition kostenintensiv und
zeitaufwendig. Desweiteren gibt es gegenwärtig kein erhältliches
Kartenlesegerät,
das eine Vielzahl von Typen von Magnetkarten und auch eine Vielzahl
von Typen von Chipkarten lesen kann.
-
Offenbarung
der Erfindung
-
Es
ist deshalb eine Aufgabe der vorliegenden Erfindung, eine Schnittstelle
zur Verwendung zwischen Karten, die eine magnetische oder eine elektronische
Datenspeicherfähigkeit
haben, und einer anwendungsspezifischen Programmsteuereinheit bereitzustellen,
die zumindest etwas zum Überwinden
der vorstehenden Nachteile beiträgt.
-
Die
Erfindung stellt ein Karten-Lese-/Schreibgerät bereit, das eine Schnittstelle
zwischen einem Host-Anwendungsprogramm und einer Datenspeicherkarte
gemäß Anspruch
1 der angehängten
Ansprüche bereitstellt.
Die Erfindung stellt weiterhin ein Ver fahren der Schnittstellenbildung
zwischen einem Host-Anwendungsprogramm und einer Datenspeicherkarte
in Übereinstimmung
mit Anspruch 7 der angehängten
Ansprüche
bereit.
-
Gemäß einem
ersten Aspekt besteht die Erfindung in einem Karten-Lese-/Schreibgerät, das ein Host-Anwendungsprogramm
an eine Datenspeicherkarte mit einer zugehörigen Kartenanwendung anschließt, dadurch
gekennzeichnet, dass:
das Karten-Lese-/Schreibgerät in der
Lage ist, dem Host-Anwendungsprogramm unter Verwendung wenigstens
einer ausgewählten
Hochsprache zu antworten,
eine Mehrzahl von niederen (low level)
Protokollsätzen
gespeichert wird, die einer Mehrzahl verschiedener Datenspeicherkarten-Anwendungen
entsprechen,
das Kartenlesegerät eine Einrichtung umfasst,
die für
jede damit gekoppelte Karte, für
welche es einen Protokollsatz gespeichert hat, der Identifikation
der speziellen Kartenanwendung von der Karte dient sowie der Auswahl
des für
die identifizierte Kartenanwendung geeigneten niederen Protokolls
aus seinem Speicher an Protokollen,
das Karten-Lese-/Schreibgerät eine Einrichtung
zum Lesen und Übersetzen
von Hochsprachenbefehlen vom Host-Programm in entsprechende Befehle
in dem festgestellten niederen Protokoll und zum Schreiben dieser niederen
Befehle zu der Karte umfasst, und das Karten-Lese-/Schreibgerät eine Einrichtung
aufweist zum Lesen von Befehlen oder Daten von der Karte im festgestellten
niederen Protokoll und zu deren Übersetzung
in entsprechende Befehle oder Daten in der Hochsprache sowie zum
Schreiben dieser Befehle oder Daten zum Host-Anwendungsprogramm.
-
Gemäß einem
zweiten Aspekt besteht die Erfindung aus einem Verfahren zum Anschließen eines Host-Anwendungsprogramms
an eine Datenspeicherkarte mit einer zugehörigen Kartenanwendung, gekennzeichnet
durch die folgenden Schritte:
Identifikation der speziellen
Kartenanwendung von der Karte,
Auswahl des geeigneten niederen
Protokolls für
die identifizierte Kartenanwendung aus einem Speicher mehrerer Protokolle,
Lesen
von Hochsprachenbefehlen von dem Host-Programm,
Übersetzen
der gelesenen Hochsprachenbefehle in entsprechende Befehle des identifizierten
niederen Protokolls,
Schreiben der entsprechenden Befehle zu
der Karte,
Lesen von Befehlen oder Daten in dem festgestellten
niederen Protokoll von der Karte,
Übersetzen der niederen Protokollbefehle
oder Daten in entsprechende Befehle aus der Hochsprache und
Schreiben
der entsprechenden Befehle oder Daten in der Hochsprache zu dem
Host-Anwendungsprogramm.
-
Die
universelle Kartenschnittstelle der vorliegenden Erfindung kann
jeden ISO-Kartentyp erkennen, der ihr dargeboten wird, mit der Karte
unter Verwendung der Protokolle kommunizieren, die für den jeweiligen Kartentyp
geeignet sind, und mit dem Host-Anwendungsprogramm unter Verwendung
einer Hochbefehlssprache kommunizieren.
-
Kurzbeschreibung
der Zeichnungen
-
Eine
bevorzugte Ausführungsform
der vorliegenden Erfindung wird nachfolgend mit Bezug auf die beiliegenden
Zeichnungen beschrieben, in denen:
-
1 eine
perspektivische Ansicht der Vorrichtung der bevorzugten Ausführungsform
der vorliegenden Erfindung ist,
-
2 eine
seitliche Ansicht im Querschnitt der Vorrichtung der Ausführungsform
von 1 ist,
-
3 eine
perspektivische Ansicht der gedruckten Leiterplatte (PCB = printed
circuit board) der Steuersystemanordnung der bevorzugten Ausführungsform
der vorliegenden Erfindung ist,
-
4 eine
weitere perspektivische Ansicht der PCB der bevorzugten Ausführungsform
der vorliegenden Erfindung ist, und
-
5 ein
Blockdiagramm der elektrischen und elektronischen Vorrichtung einer
Ausführungsform
der vorliegenden Erfindung ist.
-
Beste Wege
zum Ausführen
der Erfindung
-
Eine
Ausführungsform
der vorliegenden Erfindung ist eine universelle Kartenschnittstelle
(oder UCI), die eine softwaregesteuerte Kartenschnittstellenvorrichtung
ist, welche eine große
Anzahl von Smartcards und Kreditkarten unterstützt.
-
Gemäß 1 bis 5 hat
die UCI zwei Hauptelemente, eine physische Kartenannahmevorrichtung 31 für eine physikalische
Karte und eine Steuersystemanordnung 32, die alle elektronischen
Schaltungen enthält,
welche zum Steuern der Kartenannahmevorrichtung 31 erforderlich
sind. Die Kartenannahmevorrichtung 31 hat einen einzelnen
Schlitz 33, der alle Kartentypen annimmt. Die Form, die
die Kartenannahmevorrichtung 31 hat, hängt stark von der Anwendung
ab, für
die die UCI vorgesehen ist. Zum Beispiel sind die Größe der Anzeige
und die Anzahl der Tasten auf deren Tastatur, die Konfiguration
des Kartenschlitzes 33 und die Art und Weise der tatsächlichen
Annahme der Karte (ob die Karte voll in die Kartenannahmevorrichtung
eingezogen wird oder ob es erlaubt ist, dass sie teilweise außerhalb
der Vorrichtung bleibt) alles Elemente, die einer Änderung
unterzogen werden können.
Die Steuersystemanordung 32 ist derart vorgesehen, dass
sie unabhängig
von der Anwendung ist und dazu in der Lage ist, Kartenannahmevorrichtungen
mit den zuvor erwähnten Änderungen
zu unterstützen.
-
Gemäß 1 und 2 wurde
die Kartenannahmevorrichtung der vorliegenden Ausführungsform der
vorliegenden Erfindung dafür
ausgelegt, dass sie einfach bzw. leicht an existierende Verkaufsmaschinen angepasst
werden kann, und wurde insbesondere dafür entwickelt, Validierungsräume für Standardbanknoten an
diesen Maschinen zu ersetzen. Die Kartenannahmevorrichtung hat eine
benutzerfreundliche Schnittstelle, die eine zweizeilige LCD-Anzeige 40 enthält, welche
entweder grün
oder gelb zur Verbesserung der Sichtbarkeit bei Dunkelheitsbedingungen
sein kann, eine Benutzereingabeplatte mit 3 Druckknöpfen (OK 43,
Ausgleichen 41 und Löschen 42),
die bevorzugt eine tastbare Antwort an den Benutzer bereitstellen,
und einen Karteneinsetzschlitz 33. Der Karteneinsetzschlitz 33 hat
einen Druck-Zieh-Annehmer, einen Reinigungsraum für Fremdkörper, Positionskontakte,
einen abgedichteten Detektorschalter und nimmt horizontal eingesetzte
Karten mit der Chipseite nach oben an.
-
Gemäß 3 bis 5 umfasst
das UCI-Steuersystem einen primären
Mikroprozessor 46 und einen Hilfsmikroprozessor 47.
Der primäre
Mikroprozessor 46 kann zum Beispiel ein Dallas DS5002 FP-16
sein. Der Hilfsmikroprozessor 47 kann zum Beispiel ein
Motorola MC68302 sein.
-
Der
exemplarische, primäre
Prozessor ist von der "8051"-Industriestandardarchitektur
abgeleitet, mit einem sicheren Speicherschutzmechanismus, der vor
einem zufälligen
oder beabsichtigten Herumhantieren oder Betrachten bzw. Anzeigen
schützt.
Bei dem 8051 ist der Speicher in einen Bereich, der von dem Programm
verwendet wird, und in einen Bereich unterteilt, der zum Spei chern
von Daten verwendet wird. Dieser Speicher 48 ist ein batteriegepufferter
statischer RAM, wobei die Batterie 49 eine langlebige Lithiumzelle
ist. Der Speicher 48 wird automatisch auf die Batterie
umgeschaltet und gegen Schreiben geschützt, wenn die Energieversorgung
ausfällt.
Der Prozessor ist gegen fehlerhafte Aktionen durch eine Überwachungsschaltung geschützt. Die
Speicherkapazität
für sowohl
Daten als auch Programme kann getrennt eingestellt werden. Mögliche Einstellungen
sind in jedem der Fälle
je nach Erfordernis in einem Bereich zwischen 128 KByte und 512
KByte gegeben.
-
Der
exemplarische Hilfsprozessor basiert auf der "68000"-Industriestandardarchitektur mit Verbesserungen
für Hochgeschwindigkeitsdatenkommunikation.
Empfindliche Daten werden nicht in diesem Speicher gespeichert,
da dieser Prozessor nur für
Funktionen mit niedrigem Sicherheitsstandard verantwortlich ist,
z. B. für
Magnetkartenlesen und Datenübertragung.
Der Prozessor ist gegen fehlerhafte Aktionen durch eine Überwachungsschaltung
geschützt.
Der Speicher 50 besteht aus 128 KByte an statischem RAM
für Programm
und Daten. Eine Batteriepufferung dieses Speichers 50 ist
nicht notwendig, da er von dem primären Mikroprozessor aus erneut
geladen werden kann, wenn es erforderlich ist. Ein 32-KByte-ROM enthält einen
eingebetteten Hochlader (bootloader). Bis auf den eingebetteten
Hochlader ist die gesamte Software wieder fernladbar.
-
Die
elektrische UCI-Unteranordnung enthält weiterhin eine Echtzeituhr 51,
z. B. eine Dallas DS1293S. Die Echtzeituhr stellt die genaue Zeit
des Tages unter Länderfunktionen
bereit. Sie arbeitet mit einem unabhängigen Takt bei 32,768 kHz
und erhält
ihre Energieversorgung von dem primären Mikroprozessor 46.
-
Ein
kleiner Socket-Steckverbinder 52 auf der PCB ermöglicht,
dass ein SAM (eine formmäßig verkleinerte
Smartcard) der Leiterplatte, wenn erforderlich, hinzugefügt werden
kann. Dieser SAM kann verwendet werden, um Verschlüsselungsschlüssel oder
einen Verschlüsselungsalgorithmus
für Anwendungen
hohen Sicherheitss tandards zu speichern. Der primäre Mikroprozessor
kann auch diese Aufgabe durchführen,
aber kommerzielle Produkte können
einen SAM bevorzugt verwenden.
-
Die
UCI-PCB hat eine Verbindung, die dafür ausgelegt ist, einen einspurigen
oder zweispurigen Magnetstreifenleser aufzunehmen. Die UCI stellt
5 Volt Versorgungsspannung für
den Leser bereit und akzeptiert Standard TTL-Logikniveausignale.
-
Der
Leser akzeptiert Karten, die mit dem ISO 7811 oder ISO 7813 übereinstimmen.
Die UCI kann zwei Spuren gleichzeitig lesen, wobei dies die Spur
2 und entweder Spur 1 oder Spur 3 sind.
-
Die
Smartcard-Annahmeschaltung ist dafür ausgelegt, Karten zu unterstützen, die
dem ISO 7816 mit dem Zusatz eines geeigneten mechanischen Kartenannahmemechanismus
entsprechen. Mit dem richtigen Kartenannehmer können hybride, "Magnet- und Chip"-Karten durch einen
gemeinsamen Schlitz angenommen werden. Dies ist auf Märkten erwünscht, wo
eine graduelle Verschiebung erforderlich ist. Sowohl synchrone (Speicher-
oder Token-)Karten als auch asynchrone (Mikroprozessor)-Karten können angenommen
werden. Die Programmierspannung (VPP) ist vorzugsweise auf 5 Volt
begrenzt, die moderne Karten benötigen.
-
Weitere
Benutzerschnittstellenoptionen, die bevorzugt von der UCI unterstützt werden,
umfassen:
- – kleine
Tastaturen (keypad), die direkt mit der UCI verbindbar sind. Im
Allgemeinen sind nur kleine Matrixtastaturen erforderlich. Die Unterstützung größerer Tastaturkonfigurationen
würde jedoch
nur einen geringen zusätzlichen
Aufwand erfordern.
- – Flüssigkristallanzeige
(LCD), das direkt mit der UCI verbunden werden kann. Die meisten
LCDs, die den Hitachi HD44780 Chip (einen Industriestandard) oder
seine äquivalenten
Schaltungen verwenden, sind geeignet. Diese Anzeigen sind in ver schiedenen
Formaten von 1 Zeile, 16 Zeichen, bis zu 4 Zeilen, 24 Zeichen, erhältlich.
- – Einen
Statusanzeiger. Bevorzugt sind zwei lichtemittierende Dioden (LED)
an der Vorderseite der UCI angeordnet, um eine Anzeige des Zustands
der UCI mit niedrigen Kosten bereitzustellen. Die LEDs, wenn sie verwendet
werden, stehen durch die Kartenschlitzflächen an jedem Ende des Kartenschlitzes
hervor und wirken sowohl als Statusanzeiger als auch als Beleuchtung
der Kartenschlitzposition.
- – Einen
akustischen Rückkoppelanzeiger.
Ein Summer ist auf der Leiterplatte vorhanden, um eine akustische
Rückkopplung
für Tastenbetätigungen
oder Fehlerzustände
bereitzustellen. Ein Beispiel für
geeignete Summereigenschaften ist ein Summer, der einen akustischen
Druckpegel von 90 dB (@ 0,1 m) bei einer Normfrequenz von 3100 Hz
erzeugt.
-
Die
UCI ist eine uniforme Schnittstelle für eine Drittparteiausrüstung, in
der sie enthalten ist. Die Verkaufsschnittstelle enthält drei
unterschiedliche Elemente, nämlich
ein Hochspannungsrelais, einen seriellen Stromschleifebus und eine
serielle RS232-Schnittstelle. Weiterhin unterstützt die Kartenannahmevorrichtung eine
Verbindung mit einem seriellen Datenmodem oder eine Druckerverbindung über einen RS485/RS232-Verbinder
16.
-
Die
Steuersystemanordnung enthält
zwei Energieversorgungen, insbesondere eine On-Board-Batterie, die
eine Pufferenergie für
den primären
Mikroprozessorspeicher und den Taktgeber zusammen bereitstellt, zusammen
mit einer geregelten Netzspannungsversorgung. Eine geeignete Batterie
für die
Batterieversorgung kann zum Beispiel eine 3,6 Volt 1200 mAHr Batterie
sein.
-
Die
UCI der vorliegenden Erfindung hat die Fähigkeit, als Schnittstelle
für eine
Vielzahl von Karten, sowohl Smartcards als auch Magnetkarten, zu
dienen, diese Karten zu verstehen und jegliche Aktion, die erforderlich
ist, mit dem absoluten Minimum an Befehlen durchzuführen. Sie
kann ISO 7811 Kreditkarten Spur 1 oder Spur 2 lesen, ISO 7816-3
(T = 0 und T = 1) Smartcards lesen und beschreiben und ISO 7816
Speicherkarten lesen und beschreiben.
-
In
herkömmlichen
Smartcard-Kopplern war die elektronische Unterstützung der Karte auf sehr einfache
Aufgaben begrenzt, da die Endverwendung des Kopplers unbekannt war.
Die vorliegende Erfindung erweitert jedoch die Fähigkeiten des Kopplerkonzepts
mit hinzugefügten
Softwareschichten (das Mikroprozessorprogramm), wobei jede Schicht
zusätzliche
Funktionalität
einbaut und gleichzeitig die Aufgabe der Kommunikation mit der Karte
vereinfacht. Um diese Schichten hinzuzufügen und eine nützliche
Funktion mit ihnen durchzuführen,
enthält
die UCI eine Formatdatenbank, die Informationen über jeden Kartentyp enthält, den
die UCI annehmen kann. Diese Informationen bilden die Regeln und
Richtlinien für
die Verwendung der Karte. Sie umfassen eine Zusammenfassung der
Kartendatenstrukturen, der Transferprozeduren, der Dateninhalte
und von Sicherheitsinformationen. Die Richtlinien können die
UCI mit einem Sicherheitsmodul verbinden, wenn es notwendig ist.
Der Sicherheitsmodul ist eine kleine Mikroprozessorvorrichtung ähnlich zu
einer Smartcard, die ein halb-permanenter Teil des PCB ist.
-
Mit
den Informationen, die von der Formatdatenbank verfügbar sind,
kann die UCI leicht die Gesamtfunktionalität der UCI und Kartenkombination
festlegen. Sie kann die Sequenz der Aktionen modifizieren, die intern
in Antwort auf irgendeinen externen Befehl ausgeführt werden.
Die externe Vorrichtung muss nicht die Unterschiede zwischen verschiedenen
Typen von Karten beurteilen. Da die externe Vorrichtung keine stark
unterschiedlichen Befehle bei jeder neu eingegebenen Karte ausgeben
muss, wird die Softwareschnittstelle zwischen der UCI und der externen
Vorrichtung vereinfacht.
-
Die
Softwareschnittstelle kann weiterhin durch Erkennen, dass eine begrenzte
Anzahl von Befehlen die große
Mehrheit der gewünschten
Aktionen auf der Karte durchführen
kann, vereinfacht werden. Die alleroberste Softwareschicht akkumuliert
alle notwendigen Befehle oder Kommandos, um die Softwareschnittstelle einzurichten.
Die Informationen der Formatdatenbank werden auch verwendet, um
jede potenzielle Verletzung der Systemsicherheit zu finden, wenn
Befehle in einer niedrigeren Softwareschicht verwendet werden.
-
Die
Software ist in geschichteten, modularen Strukturen organisiert,
wie in der nachfolgenden Tabelle gezeigt ist.
-
-
-
Wie
aus der vorstehenden Tabelle der bevorzugten Ausführungsform
ersichtlich ist, sind die Operationen der UCI in acht Schichten
aufgeteilt.
-
Jede
Schicht kann derart betrachtet werden, dass sie aus Sammlungen von
Objekten besteht, wobei ein Objekt eine eingebaute Anordnung von
Funktionen und Daten ist. Die Objekte in jeder Schicht sind im Allgemeinen
nur durch die Schicht zugreifbar, die unmittelbar darüber oder
darunter ist. Die Schnittstelle zwischen den Schichten wird durch
Steuerung auf der Basis von Formatdatenbankinformationen gut verwaltet, die
fehlangeordnete Operationen verhindern.
-
Die
Daten, die in der Formatdatenbank enthalten sind, sind nur für ausgewählte Objekte
und Schichten verfügbar.
Dies minimiert die Möglichkeit,
dass eine externe Vorrichtung sensitive Kenntnisse über bestimmte Kartenformate
gewinnen kann. Ähnlich
ist der Zugriff auf Sicherheitsprogrammmodule und Verschlüsselungsprogrammmodule
auf ausgewählte
Objekte und Schichten begrenzt.
-
Die
Formatdatenbank besteht aus zwei primären Gebieten, der Formatbibliothek
und der Grundlagenbibliothek (primitive library). Die Grundlagenbibliothek
enthält
Details aller annehmbaren Karten vor ihrer Personalisierung. Diese
umfassen die Kartenkapazität,
das elektrische Signaltiming, Zeichenaustauschprotokolle und eine
Liste der Merkmale, die auf der grundlegenden Karte verfügbar sind.
Diese Informationen entsprechen jenen, die von dem Kartenhersteller
geliefert werden. Die Formatbibliothek enthält die Details, die der Karte
durch den Aussteller hinzugefügt
werden, nachdem die Karte den Hersteller verlassen hat.
-
Betrachtet
man nun die Operationen jeder Schicht, reichen die Schichten von
den grundlegenden bzw. primären
zeichenorientierten niedrigen (low level) Operationen der Schicht
1 zu der generischen, hohen (high level) Schnittstelle der Schicht
8.
-
Die
Aufgaben der Schicht 1 umfassen die grundlegenden Aktionen, die
für das
Karteneinführen
oder das Kartenentfernen und die einfache Übertragung von Daten zu der
Karte und von der Karte erforderlich sind.
-
Das
Einführen
der Karte aktiviert einen Mikroschalter, der ständig überwacht wird. Das Karteneinführen wird
höheren
Schichten mitgeteilt, so dass eine geeignete Aktion ausgeführt werden
kann. Höhere
Schichten reichen den Befehl mit der Absicht der Identifizierung
der vorliegenden Karte nach unten weiter. Die Karte hat dann Energie-
und Steuersignale, die gemäß der ISO
7816 anliegen. Wenn die Karte nicht länger erforderlich ist, wird
die Kartenschnittstellenschaltung in einer Sequenz nach unten gefahren,
die durch die ISO 7816 spezifiziert ist. Wenn die Karte vorzeitig
entfernt wird, folgt die gleiche Sequenz so schnell wie möglich. Höhere Schichten
werden über
die Abwesenheit der Karte derart informiert, dass weitere "Schließ"-Aktionen ausgeführt werden
können.
Diese können
die Löschung
der Sitzungsschlüssel,
des Ausnahmeloggings oder der Änderung
des Kartenhalters enthalten. Eine weitere Funktion, die auf diesem
Niveau verwendet wird, ist die Verschlüsselung oder Entschlüsselung
des Datenstromes.
-
Die Übertragung
der einzelnen Zeichen und Bits von Daten zu der Karte und von der
Karte wird in dieser Schicht ausgeführt, aber die Gruppierung von
Zeichen in Nachrichten und Befehle ist die Aufgabe höherer Schichten.
Im Allgemeinen arbeitet die UCI-Hardware auf diesem Niveau nur auf
einer Zeichen-zu-Zeichen-Basis. Die Verarbeitung intelligenter Strukturen
innerhalb der Datenströme,
Nachrichten und Befehle und Ähnlichem
wird höheren
Codierschichten überlassen.
-
Die
Schicht 2 der UCI steuert das Zusammenwirken mit der Karte auf einem
Kartenbefehlsniveau. Das Niveau 2 ist zum Beispiel an richtige Formatbefehle
und Daten für
die Übertragung
zu der Karte durch die Schicht 1 angepasst. Ein Nachrichtenformatieren,
eine Fehlerdetektion und eine Übertragung
von Eigenschaften für
die Smartcard werden durch die Schicht 2 gemäß den Spezifikationen der ISO
7816 durchgeführt.
-
Die
Unterstützung
verschiedener UCI-Eigenschaften wie zum Beispiel Zeit der Tagesuhr,
Summer, Kommunikationsanschlüsse,
Anzeige und Tastatur werden durch einen Code in dieser Schicht ausgeführt. Ein weiterer
Unterstützungscode,
der hier gefunden wird, enthält
Druckertreiber, Anzeigetreiber, Modemtreiber, Tastaturpuffer und
Magnetkartenleser-Datenpuffer gemäß ISO 7810.
-
Während der
Karteneinführphase
wird die Schicht 2 verwendet, um den Rücksetzprozess für die Karte auszulösen. Die
Antwort der Karte auf den Rücksetzprozess
wird verwendet, um zu bestimmen, ob die Karte in einem synchronen
oder asynchronen Modus kommuniziert. Diese Informationen werden
von der Schicht 3 verwendet.
-
Die
Schnittstellenbildung zur Schicht 3 findet durch "Fallen (traps)" oder Softwareinterrupts
statt. Schicht-1 + 2-Fallen existieren für: die Echtzeituhr, das System,
die Tastatur, die LCD, Kommunikationsanschlüsse, den Magnetkartenleser
und den Smartcard/Sicherheitsmodul.
-
Der
Betrieb der Schicht 3 der UCI ist vom Kartentyp abhängig. Es
ist deshalb wichtig, den Typ der Karte richtig zu identifizieren,
in Abhängigkeit
davon, ob sie eine synchrone Karte (typischerweise Token-Cards oder
Speicherkarten, Karten, die nicht auf einem Mikroprozessor basieren)
oder eine auf einem Mikroprozessor basierende asynchrone Karte ist.
-
Beim
Identifizieren einer synchronen Karte werden die drei ersten Bytes
aus der Karte ausgelesen. Diese werden mit einer Bytekette oder
-folge aus 3, 2 oder auch nur 1 Byte verglichen, die in einer Spalte
eines kleinen Feldes enthalten sind. In einer benachbarten Spalte
sind Referenznummern für
Kartenarten von verschiedenen Kartenherstellern vorhanden. Eine Übereinstimmung
mit einer Folge gibt an, dass die Karte bekannt und zugelassen ist.
Die Tabelle 2 zeigt ein Beispiel eines solchen Feldes. Nachdem identifiziert
wurde, dass die Karte eine synchrone Karte eines bestimmten "Modells" oder Typs von einem
bestimmten Hersteller ist, kann die UCI nur jene Befehle und Verarbeitungsprozeduren
auswählen,
die bei dieser Karte anwendbar sind. Die höheren Schichten werden deshalb über den
aufgefundenen Kartentyp informiert.
-
-
Beim
Identifizieren einer asynchronen Karte werden die vergangenen Bytes
(Historical Bytes) der Antwort auf die Rücksetzfolge des ISO 7816 mit
Folgen verglichen, die in einer Spalte eines kleinen Feldes enthalten
sind. In einer benachbarten Spalte sind Bezugszahlen für Kartenarten
von verschiedenen Kartenherstellern vorhanden. Eine Übereinstimmung
zwischen Folgen gibt an, dass die Karte bekannt und zugelassen ist.
Ein Beispiel für
ein solches Feldes ist in der Tabelle 3 gezeigt.
-
-
-
Wenn
nun identifiziert worden ist, dass die Karte eine asynchrone Karte
eines bestimmten "Modells" oder Typs von einem
bestimmten Hersteller ist, kann die UCI nur jene Befehle und Verarbeitungsprozeduren auswählen, die
bei dieser Karte anwendbar sind. Die höheren Schichten werden deshalb über den
gefundenen Kartentyp informiert.
-
Ein
Zugriff auf die Verarbeitungen, die vorstehend erläutert wurden,
wird durch die Funktion ausgeführt:
int
decide_card_type (unbestimmt (void))
Rückgaben: M_CARD_TYPE oder NULL,
wenn der Kartentyp nicht bekannt ist.
-
Beim
Kommunizieren mit einer synchronen Karte, verwendet die Schicht
3 eine Funktion "Access_Sync_Card", um die Kommunikation
zu steuern. Zum Beispiel:
int Access_Sync_Card (int Befehl,
int card_type, int len, char *Zeiger)
wobei der Befehl aus
READ_UPDATE ausgewählt
wird.
ERASE_UPDATE
READ_FIXED
READ_TOKEN
READ_MANUFACTURER
DECREMENT_TOKENS
PRESENT_SECRET_CODE
card_type
ist der Kartentyp, wie er in L3.1, L3.3 bestimmt ist,
len ist
die Anzahl der Bytes, die aus dem Puffer genommen werden müssen, oder
die Anzahl der Datenbytes, die von der Karte zurückerwartet werden,
*Zeiger
(pointer) zeigt auf einen Puffer, der Daten für die Karte oder Daten von
der Karte bei der Beendigung des Funktionsaufrufs enthält und die
Funktion gibt zurück
(return) NO_ERROR, wenn der Befehl erfolgreich ist oder
ERR_CARD_LOCKED
oder
ERR_FUNCTION REFUSED oder
ERR_THREE_BAD_PRESENTATIONS,
wenn der Befehl nicht erfolgreich ist.
-
Auf
der Basis des Kartentyps und des Befehls bezieht sich die Funktion "Access_Sync_Card" auf eine Tabelle
von "Aktionsfolge"-Zeigern, wie in Tabelle 4 gezeigt ist.
-
-
Die
Zeiger s1 usw. der Tabelle 4 beziehen sich auf eine weitere Tabelle,
zum Beispiel die Tabelle 5, die "Aktionsfolgen" angibt. Eine "Aktionsfolge" kann von einer oder
mehreren Karten verwendet werden.
-
-
Eine "Aktionsfolge" besteht aus einer
Folge von einem oder mehreren "Kennzeichen
(tags)", mit einem NULL-Abschluss.
Den meisten "Kennzeichen" folgt ein "Zähl(count)"-Wert. Der "Zähl"-Wert bestimmt die
Anzahl der Kartenbits oder Taktzyklen, auf die das "Kennzeichen" einwirken soll. "Aktionsfolgen" haben zum Beispiel
das folgende Format:
[Kennzeichen[,Zähl],] [Kennzeichen[,Zähl],]NULL
wobei
das Kennzeichen entweder RESET_ADDRESS oder
STEP_count
READ_count
ERASE_count
WRITE_count
ist.
-
Bei
der Kommunikation mit einer asynchronen Karte verwendet die Schicht
3 eine Funktion "Access_Async_Card", um die Kommunikation
zu steuern. Zum Beispiel:
int Access_Async_Card (int Befehl,
int card_type, int len, char *Zeiger, int P1, int P2)
wobei
Befehl aus READ_FILE
WRITE_FILE
SELECT_FILE
SELECT_DIRECTORY
SELECT_KEY
UPDATE
FILE
PRESENT_SECRET_CODE
ausgewählt sein kann.
card_type
ist der Kartentyp, wie in L3.2, L3.3 bestimmt ist,
len ist
die Anzahl der Bytes, die aus dem Puffer geholt werden, oder die
Anzahl der Bytes, die von der Karte zurückerwartet werden.
*Zeiger
zeigt auf einen Puffer, der Daten für die Karte enthält, oder
auf Daten von der Karte bei der Beendigung des Funktionsaufrufs.
P1:
Argument 1: zum Beispiel der Versatz in der Datei
P2: Argument
1: zum Beispiel die ausgewählte
Dateinummer und die Funktion gibt einen der nachfolgenden Ausdrücke zurück:
4001
ERR_FUNCTION_INVALID
4002 ERR_FUNCTION_MISMATCH
4xxx hex
andere Fehlerzustände
detektiert durch den UCI-Code
6xxx hex = ISO und Herstellerfehlercode
(keine Übersetzung)
9000
NO_ERROR
9xxx hex = ISO und Herstellerfehlercodes (keine Übersetzung),
die
Funktion gibt "NO_ERROR" zurück, wenn
der Befehl erfolgreich ausgeführt
wurde.
-
Auf
der Basis des Kartentyps und des Befehls bezieht sich die Funktion "Access_Async_Card" auf eine Tabelle
mit "Formatfolge"-Zeigern, wie in der Tabelle 6 gezeigt
ist.
-
-
-
Die
Zeiger zeigen auf eine weitere Tabelle, zum Beispiel die Tabelle
7 mit "Formatfolgen". Eine "Formatfolge" (format string)
kann von einer Karte oder mehr als einer Karte verwendet werden.
-
-
Die
Formatfolgen sind ein Maschinencodebefehl, der für die direkte Übertragung
zu der Karte vorgesehen ist. Die Formatfolgen sind ein kleines Feld,
das aus der folgenden Form besteht:
FLAG, CLA, INS, P1, P2,
LEN
FLAG:
wenn Bit 0 gesetzt ist: "Schreib"-Befehl
wenn Bit 1 gesetzt ist:
len in Parametern muss LEN in der Folge entsprechen, wenn nicht
Fehlerrückgabe
wenn
Bit 2 gesetzt ist: P2 in Parametern muss P2 in der Folge entsprechen,
wenn nicht Fehlerrückgabe
wenn
Bit 3 gesetzt ist: P1 in Parametern muss P1 in der Folge entsprechen,
wenn nicht Fehlerrückgabe
wenn
Bit 4 gesetzt ist: LEN in der verwendeten Folge, der Parameter wird
ignoriert
wenn Bit 5 gesetzt ist: P2 in der verwendeten Folge,
der Parameter wird ignoriert
wenn Bit 6 gesetzt ist: P1 in
der verwendeten Folge, der Parameter wird ignoriert.
-
Bei
der Schnittstellenbildung mit höheren
Schichten verwendet die Schicht 3 "Befehlsfolgen" (command strings). Befehlsfolgen bestehen
aus einem Befehlskennzeichen oder mehreren Befehlskennzeichen, die
mit einer Null abschließen.
Auf jede Befehlsfolge (CS) wird durch ihre CS-Nummer oder ihren
CS-Namen verwiesen. Das Gleiche gilt auch für Befehlskennzeichen. Befehlsfolgen
können
aus Kennzeichen und weiteren Befehlsfolgen bestehen, um kartenbezogene
und systembezogene Funktionen durchzuführen.
-
Befehlskennzeichen
sind vorhanden, um fast jede mögliche
Aktion innerhalb der UCI durchzuführen. In den meisten Fällen können sie
derart betrachtet werden, dass sie eine hohe (high level) Programmiersprache
bilden. Befehlskennzeichen gibt es in drei Typen, nämlich relative,
direkte und indirekte. Das Verhalten des direkten Befehlskennzeichens
kann nicht geändert
werden, wobei das exakte Betriebsverhalten in das Kennzeichen eincodiert
ist. Relative und indirekte Kennzeichen verwenden Parameter, um
das Verhalten der Kennzeichen zu modifizieren. Bei relativen Kennzeichen
folgen die modifizierenden Parameter dem Kennzeichen in der Befehlsfolge.
Bei indirekten Befehlskennzeichen werden die Parameter aus einem
Parameterstapel ausgelesen, der durch weitere Kennzeichen geändert werden
kann.
-
Beispiele
für Befehlskennzeichen
umfassen:
Bestimme den Kartentyp und den Ausgeber,
Call
Access_Sync_Card Funktion
Call Access_Async_Card Funktion
Lese
Magnetkartendaten,
für
Kartenschnittstellenbelange:
Sende Nachrichten zu Druckern,
Modems, Anzeigen,
Hole Daten von Tastaturen, Eingabeschaltern,
Lese
Echtzeituhr,
zum Steuern externer Vorrichtungen: und
Kopiere,
Manipuliere Datenfolgen,
Vergleiche Folgen,
Teste "Zustand",
Überspringe
nächstes
Befehlskennzeichen, wenn "Zustand",
Springe zu
neuer Befehlsfolge,
Rufe neue Befehlsfolge auf,
für interne
Programmoperationen.
-
Für die Schnittstellenbildung
mit den Karten ist es wichtig, die Datenstruktur und das Format
des Speichers der Karte zu kennen. Zum Organisieren und Zuführen der
erforderlichen Daten bezüglich
des Speichers der Karte hat die UCI eine Dateiformatdatenbank. Sobald
der Kartentyp und die Ausgebernummer identifiziert worden sind und
(wenn anwendbar) eine Anwendung ausgewählt worden ist, kann die Datenbank
verwendet werden, um Zugriff auf die Anwendungsdateien zu erhalten.
Die Tabelle 8 ist ein Beispiel einer solchen Datenbank, die die
Unterteilungen für
Kartentyp, Ausgeber und Anwendung aufweist. Auf Dateien für eine gegebene Anwendung
wird durch die Dateinummer und möglicherweise
den Dateinamen verwiesen, die wiederum auf einen Dateibeschreiber
(file descriptor) zeigen.
-
-
-
Dateibeschreiber
listen die folgenden Dateiattribute auf:
Dateityp
Debitschlüsselzeiger
Kreditschlüsselzeiger
Sicherheitscodezeiger
Leseberechtigung
Schreibberechtigung
Aktualisiere
Berechtigung
Dateigröße
Verschlüsselungsverfahren.
-
Schlüsselzeiger
können
auch die Notwendigkeit für
einen Fernschlüsselzugriff,
AS2805 (öder ähnliche)
Protokolle, Onlinekredit oder andere Eigenschaften angeben.
-
Jedesmal
wenn eine neue Datei (oder "Dateigebiet" im Fall einer Speicherkarte)
ausgewählt
wird, wird das Dateistatusregister aktualisiert. Dieses enthält einige
oder alle der nachfolgenden Informationen:
Dateihierarchie/Dateiverzeichnis
Dateinummer/Name
Dateiidentifizierer,
optional langer Name
Dateibeschreibung Purse/Schlüssel/Standard/Eigentümer
Option
pursespezifisch
Größe in Byte
+ Bits
Zugriffskriterien Lesen/Schreiben/Aktualisieren von
Niveaus und Sperren.
-
Bei
Karten, die nicht die höheren
(advanced) Eigenschaften unterstützen,
sind die relevanten Teile des Registers leer.
-
Ähnliche
aber begrenztere Informationen sind von Karten erhältlich,
die mehr als ein Ausgabegebiet unterstützen. Nachfolgend werden einige
Daten angegeben, die typischerweise erhältlich sind, wenn die Verzeichnisse
umgeschaltet werden:
Verzeichnisnummer
Zugriffsbedingungen.
-
Auf
einige allgemeine Daten von der Karte kann durch eine elementare
Prüfung
zugegriffen werden. Diese Informationen werden von den Schichten
4 und 6 der UCI verwendet, um die Informationen, die von der Tabelle
8 abgeleitet werden, zu unterstützen
und zu bestätigen.
-
Die
Schicht 4 des UCI-Programms führt
Datenelementprozeduren aus. Ihr Zweck ist die Schnittstellenbildung
mit den Kartenda tenstrukturen, Dateien, Purses und dem Datenverzeichnis.
Eine der Funktionen, die durch die Schicht 4 ausgeführt werden,
ist das Bestimmen des Ausgebers einer eingeführten Karte. Sobald der Kartentyp
bestimmt worden ist, wird eine Anzahl von Befehlsfolgen verfolgt,
um die Identifizierung der Kartendatei und des Datenlayouts zu versuchen.
Ein Beispiel für
Befehlsfolgen, um verschiedene Kartentypen zu verfolgen, ist in
Tabelle 9 gezeigt.
-
-
Wenn
eine Befehlsfolge wie programmiert ausgeführt wird, wird die resultierende
Ausgebernummer die Referenz auf den Kartenausgeber (oder die mitbesetzte
Anwendung).
-
Sobald
die Kartenausgebernummer bestimmt worden ist, können höhere Codeschichten die Eigenschaften
der vorliegenden Karte und die Anwendungskombination bestimmen.
-
Ein
Beispiel einer Befehlsfolgenaktion, die primär für die Ausgeberidentifikation
verwendet wird, ist:
CS n:
IF Karte ist "Async" und Multiverzeichnis
Wähle Hauptverzeichnis
Finde
erste "Uneingeschränkte Lese"-Datei
Öffne Datei
Lese
Datei
IF Dateiinhalte = CRD-Muster
Kopiere Dateidaten
in den CRD-Puffer
Setze Ausgebernummer = n
-
Die
Schicht 4 ist auch verantwortlich für den Schlüssel und die Sicherheitscodeverwaltung
für Karten.
-
Die
Schicht 5 der UCI enthält
die Prozessgrundlagen für
das Zusammenwirken mit den Karten. Für jede kartenzugehörige, generische
Funktion, auf die in der Schicht 8 der UCI zugegriffen wird, enthält die Schicht
5 eine Tabelle mit Kartentypnummern + Ausgebernummern, die die entsprechende
Befehlsfolge für diese
Anwendung zeigen. Nullen nehmen den Platz von Befehlsfolgenummern
ein, wenn die nachgefragte Funktion für die vorliegende Karte oder
Anwendung ungültig
ist.
-
Diese
Tabelle ermöglicht
die Übersetzung
der generischen Funktionsbeschreibungen der Schicht 8 in die anwendungsspezifischen
Beschreibungen der niedrigeren Schichten.
-
Die
Schicht 5 enthält
auch Unterstützungsroutinen
für:
Kommunikationsprotokolle
(Entscheidungen bezüglich
der Verwendung von DES, HDLC, Modem, verschobenem Hochladen).
Soll-,
Haben-Transaktionen
Finanzielle Transaktionen auf AS2805 oder ähnlichen
MACing
Transaktionsprotokoll hochladen
Nachricht formatieren
Logische
Verbindung des Sicherheitsmoduls mit der Kartenanwendung
Handhabung
des Schlüssels
und des Sicherheitscodes für
Kommunikationen
RSA-Verschlüsselung.
-
Während die
Schicht 5 Tabellen und Routinen für die Prozessgrundlagen enthält, verwendet
die Schicht 6 diese Tabellen und Routinen, um zwischen den generischen
Funktionen und Instruktionen der Schicht 7 und 8 und den niedrigeren
Schichten des Kartentyps oder Ausgebers oder den anwendungsspezifischen
Befehlen der niedrigeren Schichten zu übersetzen.
-
Die
Schicht 7 stellt einen uniformen, reduzierten Satz von Instruktionen
zur Verwendung durch die externe Vorrichtung bereit.
-
Die
Schicht 8 der UCI isoliert den Benutzer (die externe Vorrichtung)
von allen niedrigeren Niveaus derart, dass der Benutzer einfache,
generische Befehle ausgeben kann und der UCI ermöglicht, die komplizierten Aktionen
auszuführen,
die für
die Ausführung
der Befehle erforderlich sind.
-
Die
Schnittstelle bei der Schicht 8 wird somit scheinbar effektiv unabhängig vom
Kartentyp.
-
Mit
der UCI bei der Schicht 8 kann der Benutzer zum Beispiel durch Schalter,
Druckknöpfe
und Verbindungen oder eine serielle RS232-Datenverbindung kommunizieren.
-
Beispiele
der generischen Befehle, die von der Schicht 8 ausgeführt werden,
sind:
Neue Karte detektiert
Identifiziere neue Karte,
Lese Kartennummer, die globale Zusammenfassung und die Benutzerzusammenfassung
Kontoausgleich
(acc)
Aktualisiere global, Benutzerinformationen
Sollkonto
(acc, amnt)
Habenkonto (acc, amnt)
Lese unformatierte
Datendateien (Dateiname)
Aktualisiere unformatierte Datendatei
(Dateiname)
Hochladen von Transaktionen
Herunterladen
OS (Betriebssystem)
Lese Tastatur
Drucke Nachricht
Anzeige
der Nachricht
Konfiguriere Anzeige, Drucker, Modem, I/O-Vorrichtungen
Lade
den (die) Schlüssel.
-
Als
Beispiel für
den Betrieb der UCI, wenn eine neue Karte eingeführt wird, empfängt die
Schicht 8 ein Signal "Neue
Karte detektiert" (Schicht
1). Die externe Vorrichtung (Benutzersoftware) kann dann entscheiden, ob
sie die Karte identifiziert, und kann dann möglicherweise eine Transaktion
bzw. Überweisung
ausführen.
-
Von
der Schicht 8: Führe
Identifizierung neuer Karte usw. aus dies wird in die folgenden
Aktionen umgesetzt:
- – Führe aus decide_card_type, um
den Hersteller des Kartentyps zu bestimmen (dies verwendet Prozeduren,
die von den Tabellen 2 und 3 bereitgestellt werden, welche wiederum
Prozeduren verwenden, die mit Bezug auf Schicht 2 erwähnt wurden)
- – Ausführen von
Prozeduren, die bezüglich
der Schicht 4 erläutert
wurden, um irgendwelche möglichen
Anwendungen zu identifizieren (dies verwendet die Funktionen der
Schicht 3, Befehlsfolgen, Befehlskennzeichen und die zugehörigen Daten
der Tabellen 6 und 7).
-
Als
weiteres Beispiel der UCI beim Betrieb, wenn eine Sollbelastung
eines Kontos von einer Karte vorliegt:
Von Schicht 8: Ausführen Soll
(acc # amt$) Funktion [L8.1.5]
Von Schicht 6: Verwende die
Tabelle in der Schicht 5, Überprüfe, ob Befehlsfolge
für "Soll (Debit)" für diese Karte
existiert
Von Schicht 6: Führe
Befehlsfolge (Sequenz von Befehlskennzeichen) aus, wenn in der Tabelle
verfügbar.
Von
Schicht 3: die Befehlsfolge wird in die nachfolgenden Aktionen interpretiert:
- – Auswählen des
Anwendungsgebiets/Unterverzeichnisses auf der Karte,
- – Auswählen der
Datei oder der Purse-Datei in dem Unterverzeichnis,
- – Auswählen von
richtigen Verschlüsselungsschlüsseln, wenn
erforderlich (wie in der Befehlsfolge angegeben),
(Auswahl
der Unterverzeichnisse, Dateien und Schlüssel wird durch Verwendung
der Tabelle 8 unterstützt) präsentieren
irgendwelcher verwendeten Verschlüsselungsschlüssel,
Ändere Datei
oder Purse-Datei durch "Betrag",
Aufzeichnen
von Transaktionsdetails (wenn erforderlich).
-
Deshalb
ist der einfache, generische Befehl "Soll",
der an die UCI ausgegeben wird, alles, was von der Benutzersoftware
erforderlich ist, wobei die UCI alle Aspekte der Schnittstellenbildung
mit der tatsächlichen Karte
unabhängig
von dem Kartentyp des Ausgebers vervollständigt.
-
Die
UCI in der bevorzugten, beschriebenen Ausführungsform hat die folgenden
Vorteile:
- 1) sie kann eine Vielzahl von Kartentypen
erkennen,
- 2) sie kennt die Merkmale und Einschränkungen jedes Kartentyps,
- 3) sie kennt die Anordnung der Daten auf jedem Kartentyp und
alle relevanten Regeln für
den Zugriff,
- 4) Aktionen sind nicht vorgegeben, sondern werden durch externe
Vorrichtungen bestimmt, und
- 5) die Schnittstelle zu der externen Vorrichtung ist einfach,
so dass der Hersteller der externen Vorrichtung nur geringe Kenntnisse
oder keine externen Kenntnisse über
Smartcards, Sicherheitsalgorithmen oder die Handhabung finanzieller
Transaktionen benötigt.