DE69611613T3 - Interface für eine speicherkarte - Google Patents

Interface für eine speicherkarte Download PDF

Info

Publication number
DE69611613T3
DE69611613T3 DE69611613T DE69611613T DE69611613T3 DE 69611613 T3 DE69611613 T3 DE 69611613T3 DE 69611613 T DE69611613 T DE 69611613T DE 69611613 T DE69611613 T DE 69611613T DE 69611613 T3 DE69611613 T3 DE 69611613T3
Authority
DE
Germany
Prior art keywords
card
data
application
commands
writer
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 - Fee Related
Application number
DE69611613T
Other languages
English (en)
Other versions
DE69611613D1 (de
DE69611613T2 (de
Inventor
Noel Alan Ellerslie ZUPPICICH
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.)
Coin Acceptors Inc
Original Assignee
SmartMove NZ Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19925257&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69611613(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SmartMove NZ Ltd filed Critical SmartMove NZ Ltd
Publication of DE69611613D1 publication Critical patent/DE69611613D1/de
Application granted granted Critical
Publication of DE69611613T2 publication Critical patent/DE69611613T2/de
Publication of DE69611613T3 publication Critical patent/DE69611613T3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0004Hybrid readers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0013Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10297Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data

Description

  • 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.
  • Tabelle 1
    Figure 00130001
  • Figure 00140001
  • 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.
  • Tabelle 2
    Figure 00170001
  • 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.
  • Tabelle 3
    Figure 00170002
  • Figure 00180001
  • 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.
  • Tabelle 4
    Figure 00190001
  • 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.
  • Tabelle 5
    Figure 00200001
  • 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.
  • Tabelle 6
    Figure 00210001
  • Figure 00220001
  • 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.
  • Tabelle 7
    Figure 00220002
  • 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.
  • Tabelle 8
    Figure 00240001
  • Figure 00250001
  • 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.
  • Tabelle 9
    Figure 00270001
  • 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.

Claims (11)

  1. Kartenlese-/Schreibgerät (31, 32), welches ein Host-Anwendungsprogramm an eine Datenspeicherkarte mit einer zugehörigen Kartenanwendung anschließt, dadurch gekennzeichnet, dass: das Kartenlese-/Schreibgerät (31, 32) in der Lage ist, dem Host-Anwendungsprogramm unter Verwendung wenigstens einer ausgewählten Hochsprache zu antworten; eine Mehrzahl von niederen (lower level) Protokollsätzen gespeichert werden, die einer Mehrzahl verschiedener Datenspeicherkarten-Anwendungen entsprechen; das Kartenlesegerät (31, 32) 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 Kartenlese-/Schreibgerät (31, 32) eine Einrichtung umfasst 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; und das Kartenlese-/Schreibgerät (31, 32) eine Einrichtung aufweist zum Lesen von Befehlen 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.
  2. Kartenlese-/Schreibgerät (31, 32) nach Anspruch 1, dadurch gekennzeichnet, dass es weitere Protokollsätze laden kann, die für Kartenanwendungen geeignet sind zusätzlich zu denen, für welche anfänglich Protokollsätze gespeichert sind.
  3. Kartenlese-/Schreibgerät (31, 32) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass mehrere Kartenanwendungen charakterisierende Zeichenfolgen (Strings) gespeichert werden, welche jeweils einer bekannten Datenspeicherkarten-Anwendung entsprechen, wobei das Kartenlese-/Schreibgerät eine Einrichtung umfasst zum Lesen der Datenfolge von einer angeschlossenen Karte, welche die Kartenanwendung charakterisiert, und wobei das Kartenlese-/Schreibgerät eine Einrichtung umfasst, um die gelesene Datenfolge mit der gespeicherten, Kartenanwendungen charakterisierenden Zeichenfolge in Übereinstimmung zu bringen und um hierdurch die Kartenanwendung zu identifizieren.
  4. Kartenlese-/Schreibgerät (31, 32) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jeder niedere Protokollsatz eine Menge von Befehlsfolgen umfasst, und dass das Kartenlese-/Schreibgerät eine Einrichtung umfasst zur Übersetzung von Hochsprachenbefehlen vom Host-Programm in entsprechende Befehlsfolgen.
  5. Kartenlese-/Schreibgerät (31, 32) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Kartenlese-/Schreibgerät (31, 32) eine Einrichtung umfasst zur Identifikation von Befehlen vom Host-Programm, welche nicht von der Kartenanwendung unterstützt werden, und eine Einrichtung zum Schreiben eines Fehlerbefehles an das Host-Programm bei Identifikation eines nicht unterstützten Befehles.
  6. Kartenlese-/Schreibgerät (31, 32) nach Anspruch 1, wobei das Kartenlese-/Schreibgerät eine Kartenannahmevorrichtung (31) umfasst sowie eine Steuereinheit (32) zusammen mit einem Prozessor (46) mit zugehöriger Speicherschnittstellensoftware und mit Datenfeldern und Ein-/Ausgabeports, welche eine Verbindung der Kartenannahmevorrichtung (31) mit einem Ein-/Ausgabeport und der Steuereinheit (32) mit einem zweiten Ein-/Ausgabeport ermöglichen, um eine universelle Kartenschnittstelle bereitzustellen zum Anschließen von Chipkarten (smartcards) und anderen Karteneinrichtungen mit einem elektronischen oder magnetischen Datenspeicher an eine Steuereinheit, welche Lese-/Schreibzugriff auf die Karten benötigt; und wobei die Datenfelder erste und zweite Datenfelder enthalten, wobei die ersten Datenfelder Folgen von bekannte Kartenanwendungen charakterisierenden Daten und für jede Folge ihren zugehörigen Kartenanwendungsidentifizierer enthalten, und wobei die zweiten Datenfelder Kartenanwendungsidentifizierer und für jeden Identifizierer seine zugehörigen Befehlsfolgen enthalten, wobei eine Schnittstellensoftware, wenn sie vom Prozessor (46) ausgeführt wird, den Prozessor zu folgendem veranlasst: (1) Detektieren des Vorhandenseins einer der Kartenannahmevorrichtung (31) präsentierten Karte und Weiterleiten eines Kartendetektionssignals an die Steuereinheit (32); (2) Lesen der Datenfolge, welche die Kartenanwendung charakterisiert, von der Karte; (3) Durchsuchen mindestens eines ersten Feldes nach einer übereinstimmenden Datenfolge und, bei Herstellen einer erfolgreichen Übereinstimmung, Abrufen des entsprechenden Kartenanwendungsidentifizierers; (4) Auswählen der passenden Befehlsfolge in dem zweiten Feld unter Verwendung des abgerufenen Kartenanwendungsidentifizierers; (5) Akzeptieren generischer Transaktionsbefehle von der Steuereinheit (32); (6) Übersetzen der Befehle von der Steuereinheit (32) in für die Kartenanwendung auf der Karte geeignete Befehle unter Verwendung der ausgewählten Befehlsfolge vom zweiten Feld, und (7) Lesen oder Schreiben von Daten auf die Karte gemäß den generischen Befehlen.
  7. 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 in dem festgestellten niederen Protokoll von der Karte; Übersetzen der niederen Protokollbefehle in entsprechende Befehle aus der Hochsprache; und Schreiben der entsprechenden Befehle in der Hochsprache zu dem Host-Anwendungsprogramm.
  8. Verfahren nach Anspruch 7, wobei die Identifikation der speziellen Kartenanwendung die folgenden Schritte einschließt: Lesen einer Datenfolge von der Karte, welche die Kartenanwendung charakterisiert, und Abgleich der gelesenen Datenfolge mit einer eine Kartenanwendung charakterisierenden Zeichenfolge aus einer Mehrzahl gespeicherter, Kartenanwendungen charakterisierender Zeichenfolgen; wovon jede einer bekannten Datenspeicherkarten-Anwendung entspricht, um hierdurch die Kartenanwendung zu identifizieren.
  9. Verfahren nach Anspruch 7 oder 8, enthaltend die Identifikation von Hochsprachenbefehlen, die von dem Host-Programm gelesen wurden und die nicht von der Kartenanwendung unterstützt werden, und die Rückgabe eines Fehlerbefehls an das Host-Programm bei Identifikation eines nicht unterstützten Befehls.
  10. Verfahren nach Anspruch 7, enthaltend die Schritte: (1) Lesen der Datenfolge, welche eine spezielle Kartenanwendung charakterisiert, von der anzuschließenden Karte; (2) Durchsuchen eines ersten Datenfeldes, welches Folgen von bekannte Kartenanwendungen charakterisierenden Daten und für jede Folge ihren entsprechenden Kartenanwendungsidentifizierer enthält, nach einer übereinstimmenden Datenfolge, und bei Herstellen einer erfolgreichen Übereinstimmung, Abrufen des entsprechenden Kartenidentifizierers; (3) Auswahl der passenden Befehlsfolgen aus einem zweiten Datenfeld, welches Kartenanwendungsidentifizierer und für jeden Identifizierer seine zugehörigen Befehlsfolgen enthält, unter Verwendung des abgerufenen Kartenanwendungsidentifizierers; (4) Akzeptieren von generischen Transaktionsanweisungen von dem Host-Anwendungsprogramm; (5) Übersetzen der Anweisungen vom Host-Anwendungsprogramm in niedere Befehle, die für die angeschlossene Kartenanwendung geeignet sind, unter Verwendung der ausgewählten Befehlsfolgen vom zweiten Datenteld; und (6) Veranlassung, dass gemäß den generischen Anweisungen Daten entweder von der Karte gelesen oder zu der Karte geschrieben werden.
  11. Verfahren nach Anspruch 7, wobei das Host-Anwendungsprogramm eine Hierarchie von Funktionsmodulen umfasst, wobei: ein Modul ersten Niveaus von der anzuschließenden Karte die Datenfolge liest, welche die Kartenanwendung charakterisiert, und die Datenfolge an ein Modul zweiten Niveaus weiterleitet; das Modul zweiten Niveaus ein erstes Datenfeld, das Folgen von bekannte Kartenanwendungen charakterisierenden Daten und für jede Folge ihre entsprechenden Kartenanwendungsidentifizierer enthält, nach einer übereinstimmenden Datenfolge durchsucht und bei Herstellung einer erfolgreichen Übereinstimmung den entsprechenden Kartenanwendungsidentifizierer abruft und den Kartenanwendungsidentifizierer an ein Modul dritten Niveaus weiterleitet; das Modul dritten Niveaus die passenden Befehlsfolgen aus einem zweiten Datenfeld, den Kartenanwendungsidentifizierer und für jeden Identifizierer seine entsprechenden Befehlsfolgen enthält, auswählt unter Verwendung des an ihn weitergeleiteten Kartenanwendungsidentifizierers; ein Modul fünften Niveaus generische Transaktionsanweisungen von der Host-Anwendungssoftware akzeptiert und diese Anwendungen an ein Modul vierten Niveaus weiterleitet; das Modul vierten Niveaus die Anweisungen vom Modul fünften Niveaus in niedere Befehle, die für die angeschlossene Kartenanwendung geeignet sind, unter Verwendung der vom Modul dritten Niveaus ausgewählten Befehlsfolgen übersetzt, und das Modul ersten Niveaus gemäß den übersetzten generischen Anweisungen, die vom Modul vierten Niveaus übergeben wurden, entweder von der Karte liest oder zu der Karte schreibt.
DE69611613T 1995-05-09 1996-05-09 Interface für eine speicherkarte Expired - Fee Related DE69611613T3 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NZ27209495 1995-05-09
NZ27209495 1995-05-09
PCT/NZ1996/000038 WO1996036051A1 (en) 1995-05-09 1996-05-09 Card interface

Publications (3)

Publication Number Publication Date
DE69611613D1 DE69611613D1 (de) 2001-02-22
DE69611613T2 DE69611613T2 (de) 2001-08-09
DE69611613T3 true DE69611613T3 (de) 2005-10-13

Family

ID=19925257

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69611613T Expired - Fee Related DE69611613T3 (de) 1995-05-09 1996-05-09 Interface für eine speicherkarte

Country Status (14)

Country Link
US (2) US6213392B1 (de)
EP (1) EP0826215B2 (de)
JP (1) JPH11505049A (de)
KR (1) KR100285111B1 (de)
CN (1) CN1138196C (de)
AT (1) ATE198803T1 (de)
AU (1) AU687312B2 (de)
BR (1) BR9608285A (de)
DE (1) DE69611613T3 (de)
DK (1) DK0826215T3 (de)
ES (1) ES2156275T5 (de)
GR (1) GR3035751T3 (de)
PT (1) PT826215E (de)
WO (1) WO1996036051A1 (de)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU687312B2 (en) * 1995-05-09 1998-02-19 Smartmove (Nz) Limited Card interface
US6698654B1 (en) * 1995-05-09 2004-03-02 Smartmove (Nz) Ltd. Method of interfacing with data storage card
US6718319B1 (en) 1996-12-03 2004-04-06 Strategic Analysis, Incorporated Method and apparatus for formatting smart cards and card readers
AU5595398A (en) * 1996-12-03 1998-06-29 Strategic Analysis, Inc. Method and apparatus for formatting smart cards and card readers
ES2125830B1 (es) * 1997-03-04 1999-11-16 Infos Ingenieria Informatica S Lector/grabador de tarjetas microprocesadoras.
JPH1127746A (ja) * 1997-07-03 1999-01-29 Sony Corp 携帯端末機
US6685312B2 (en) 1997-10-24 2004-02-03 Fargo Electronics, Inc. Ink jet card printer
US6702282B2 (en) 1997-10-24 2004-03-09 Fargo Electronics, Inc. Card transport mechanism roller support
US5928347A (en) * 1997-11-18 1999-07-27 Shuttle Technology Group Ltd. Universal memory card interface apparatus
US7809642B1 (en) 1998-06-22 2010-10-05 Jpmorgan Chase Bank, N.A. Debit purchasing of stored value card for use by and/or delivery to others
US6615189B1 (en) 1998-06-22 2003-09-02 Bank One, Delaware, National Association Debit purchasing of stored value card for use by and/or delivery to others
FR2785700B1 (fr) * 1998-11-10 2001-01-12 St Microelectronics Sa Procede de gestion d'un circuit electronique
US6032136A (en) * 1998-11-17 2000-02-29 First Usa Bank, N.A. Customer activated multi-value (CAM) card
US7660763B1 (en) 1998-11-17 2010-02-09 Jpmorgan Chase Bank, N.A. Customer activated multi-value (CAM) card
DE19855813A1 (de) * 1998-12-03 2000-06-15 Kreft Hans Diedrich Mittel und Verfahren zum Test von Karten in einem Terminal
DE69938034T2 (de) * 1999-01-04 2009-01-15 Nidec Sankyo Corp. Kartenlesegerät
US6832866B2 (en) * 1999-01-25 2004-12-21 Fargo Electronics, Inc. Printer or laminator supply
US6932527B2 (en) * 1999-01-25 2005-08-23 Fargo Electronics, Inc. Card cartridge
KR20020015304A (ko) * 1999-01-25 2002-02-27 추후제출 프린터 또는 라미네이터와 공급물간의 통신을 위한 방법및 장치
US7018117B2 (en) * 1999-01-25 2006-03-28 Fargo Electronics, Inc. Identification card printer ribbon cartridge
US7344325B2 (en) * 1999-01-25 2008-03-18 Fargo Electronics, Inc. Identification card printer having ribbon cartridge with cleaner roller
US6694884B2 (en) 1999-01-25 2004-02-24 Fargo Electronics, Inc. Method and apparatus for communicating between printer and card supply
US7154519B2 (en) * 1999-01-25 2006-12-26 Fargo Electronics, Inc. Printer and ribbon cartridge
US20040040026A1 (en) * 1999-06-08 2004-02-26 Thinkpulse, Inc. Method and System of Linking a Smart Device Description File with the Logic of an Application Program
AU5470600A (en) * 1999-06-20 2001-01-09 Thinkpulse, Inc. Method and system of performing a security check of a smart device description file
US8793160B2 (en) 1999-12-07 2014-07-29 Steve Sorem System and method for processing transactions
US6758616B2 (en) 2000-01-21 2004-07-06 Fargo Electronics, Inc. Identification card printer
DE10008308A1 (de) * 2000-02-23 2001-08-30 Orga Kartensysteme Gmbh Kartenterminal
JP2001250092A (ja) * 2000-03-03 2001-09-14 Toshiba Corp カード型電子機器、及びカード型電子機器に適用されるコンテンツ管理方法
US7147558B2 (en) 2000-03-22 2006-12-12 Wms Gaming Inc. System and method for dispensing gaming machine credits in multiple different media of monetary exchange
US6631849B2 (en) * 2000-12-06 2003-10-14 Bank One, Delaware, National Association Selectable multi-purpose card
US7313546B2 (en) 2001-05-23 2007-12-25 Jp Morgan Chase Bank, N.A. System and method for currency selectable stored value instrument
US7860789B2 (en) 2001-07-24 2010-12-28 Jpmorgan Chase Bank, N.A. Multiple account advanced payment card and method of routing card transactions
US8020754B2 (en) 2001-08-13 2011-09-20 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
US7306141B1 (en) 2001-08-13 2007-12-11 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
DE60217370T2 (de) 2001-08-24 2007-10-11 Cubic Corp., San Diego Universelle ticket-transportvorrichtung
JP3641230B2 (ja) * 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
US6985167B2 (en) * 2002-03-01 2006-01-10 Fargo Electronics, Inc. Card cleaner roller assembly
US7756896B1 (en) 2002-03-11 2010-07-13 Jp Morgan Chase Bank System and method for multi-dimensional risk analysis
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
WO2003083619A2 (en) 2002-03-29 2003-10-09 Bank One, Delaware, N.A. System and process for performing purchase transaction using tokens
US20040210498A1 (en) 2002-03-29 2004-10-21 Bank One, National Association Method and system for performing purchase and other transactions using tokens with multiple chips
EP1353289A1 (de) * 2002-04-10 2003-10-15 Schlumberger Systèmes System mit einer Chip-Karte und einem Lesegerät
WO2003085587A1 (en) * 2002-04-10 2003-10-16 Axalto Sa A system comprising a smart card and a reader
US20030197770A1 (en) 2002-04-19 2003-10-23 Klinefelter Gary M. Card cartridge and card feed adapter for an ink jet sheet feeder printer
US20030197056A1 (en) * 2002-04-19 2003-10-23 Dunham Matthew K. Identification card printer data encoder module
AU2003209968A1 (en) * 2002-05-28 2003-12-12 Lukasz Figiel A computer peripheral
US8239304B1 (en) 2002-07-29 2012-08-07 Jpmorgan Chase Bank, N.A. Method and system for providing pre-approved targeted products
US6945524B2 (en) 2002-09-05 2005-09-20 Fargo Electronics, Inc. Card singularization gate
US7809595B2 (en) 2002-09-17 2010-10-05 Jpmorgan Chase Bank, Na System and method for managing risks associated with outside service providers
JP2004264921A (ja) 2003-02-26 2004-09-24 Sony Corp 非接触icカードの通信システム及び通信方法
US7044517B2 (en) * 2003-03-14 2006-05-16 Toyoda Gosei Co., Ltd. Front grille for a vehicle
FI20035072A0 (fi) * 2003-05-22 2003-05-22 Nokia Corp Liitäntäväylä, elektroniikkalaite ja järjestelmä
US8306907B2 (en) 2003-05-30 2012-11-06 Jpmorgan Chase Bank N.A. System and method for offering risk-based interest rates in a credit instrument
US7878505B2 (en) * 2003-08-19 2011-02-01 Hid Global Corporation Credential substrate rotator and processing module
US7953663B1 (en) 2003-09-04 2011-05-31 Jpmorgan Chase Bank, N.A. System and method for financial instrument pre-qualification and offering
US7206010B2 (en) * 2004-04-16 2007-04-17 Zih Corp. Systems and methods for providing a media located on a spool and/or a cartridge where the media includes a wireless communication device attached thereto
US7392222B1 (en) 2004-08-03 2008-06-24 Jpmorgan Chase Bank, N.A. System and method for providing promotional pricing
DE102004049671B4 (de) * 2004-10-12 2007-08-02 Mühlbauer Ag Elektronisches Modul für die Herstellung, Programmierung und das Testen von Chipkarten und zugehöriges Verfahren
KR100706343B1 (ko) * 2005-04-18 2007-04-13 주식회사 케이티프리텔 통합 정보 관리 ic 칩 및 이를 이용한 다중 서비스 제공방법
US7401731B1 (en) 2005-05-27 2008-07-22 Jpmorgan Chase Bank, Na Method and system for implementing a card product with multiple customized relationships
US7747874B2 (en) * 2005-06-02 2010-06-29 Seagate Technology Llc Single command payload transfers block of security functions to a storage device
US7493656B2 (en) 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager
US7455218B2 (en) 2005-06-20 2008-11-25 Microsoft Corproation Rich object model for diverse Auto-ID tags
KR100747601B1 (ko) * 2005-09-27 2007-08-08 한국전자통신연구원 Rfid태그 사용자 데이터 접근 시스템 및 방법
US7309007B2 (en) * 2005-10-04 2007-12-18 First Data Corporation Systems and methods for personalizing transaction cards
CN100461139C (zh) * 2005-10-26 2009-02-11 威盛电子股份有限公司 快闪存储卡存取装置与方法
US7784682B2 (en) 2006-02-08 2010-08-31 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US8408455B1 (en) 2006-02-08 2013-04-02 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US7753259B1 (en) 2006-04-13 2010-07-13 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US20080147495A1 (en) * 2006-12-19 2008-06-19 General Electric Company System and method for providing promotions
US20080147496A1 (en) * 2006-12-19 2008-06-19 General Electric Company System and method for providing promotions
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US8676642B1 (en) 2007-07-05 2014-03-18 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to financial account holders
US20090089148A1 (en) * 2007-09-27 2009-04-02 General Electric Company System and method for providing promotions
US8417601B1 (en) 2007-10-18 2013-04-09 Jpmorgan Chase Bank, N.A. Variable rate payment card
JP4600518B2 (ja) * 2008-05-20 2010-12-15 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
USD636021S1 (en) 2008-07-17 2011-04-12 Jpmorgan Chase Bank, N.A. Eco-friendly transaction device
USD617378S1 (en) 2009-02-12 2010-06-08 Jpmorgan Chase Bank, N.A. Transaction device with a gem-like surface appearance
USD620975S1 (en) 2009-02-12 2010-08-03 Jpmorgan Chase Bank, N.A. Transaction device
CN101820696B (zh) * 2009-02-26 2013-08-07 中兴通讯股份有限公司 支持增强型近场通信的终端及其处理方法
US8725589B1 (en) 2009-07-30 2014-05-13 Jpmorgan Chase Bank, N.A. Methods for personalizing multi-layer transaction cards
EP2477919B1 (de) 2009-09-18 2015-06-17 Assa Abloy AB Kartenträgerrotator
USD623690S1 (en) 2010-03-05 2010-09-14 Jpmorgan Chase Bank, N.A. Metal transaction device with gem-like surface
WO2012000438A1 (zh) * 2010-06-29 2012-01-05 飞天诚信科技股份有限公司 一种对电子钱包进行操作的方法
USD643064S1 (en) 2010-07-29 2011-08-09 Jpmorgan Chase Bank, N.A. Metal transaction device with gem-like surface
US10475024B1 (en) 2012-10-15 2019-11-12 Square, Inc. Secure smart card transactions
USD854083S1 (en) 2013-03-27 2019-07-16 Jpmorgan Chase Bank, N.A. Hybrid transaction device
US9760740B1 (en) 2014-06-23 2017-09-12 Square, Inc. Terminal case with integrated dual reader stack
US10108947B2 (en) * 2014-07-31 2018-10-23 Square, Inc. Smart card reader with public key index on host device
US10753982B2 (en) 2014-12-09 2020-08-25 Square, Inc. Monitoring battery health of a battery used in a device
US10504106B2 (en) * 2016-07-25 2019-12-10 Mastercard International Incorporated Methods, systems, networks, and media for transferring data streams through vibration to haptic devices
US10318319B2 (en) 2016-08-26 2019-06-11 Sap Se Two-model user interface system
US10102014B2 (en) * 2016-08-26 2018-10-16 Sap Se User interface employing nested data
CN107403119B (zh) * 2017-06-13 2021-04-23 北京三快在线科技有限公司 一种智能卡信息读取方法及装置
CN111367465A (zh) * 2018-12-26 2020-07-03 深圳市江波龙电子股份有限公司 一种存储设备的控制方法及存储设备、电子设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392207A (en) * 1980-09-09 1983-07-05 Burroughs Corporation Card reader-data link processor
US4618925A (en) 1981-05-22 1986-10-21 Data General Corporation Digital data processing system capable of executing a plurality of internal language dialects
US4839640A (en) * 1984-09-24 1989-06-13 Adt Inc. Access control system having centralized/distributed control
JP2539385B2 (ja) 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
US4768150A (en) * 1986-09-17 1988-08-30 International Business Machines Corporation Application program interface to networking functions
JPS63250726A (ja) 1987-04-07 1988-10-18 Hitachi Maxell Ltd リ−ダライタ
JPS63250789A (ja) * 1987-04-07 1988-10-18 Hitachi Maxell Ltd Icカ−ドシステムとそのリ−ダライタ
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US4808803A (en) * 1987-08-24 1989-02-28 Figgi International, Inc. Security system
JP2748253B2 (ja) * 1990-06-08 1998-05-06 共同印刷株式会社 Icカード情報処理システム
FR2667171B1 (fr) * 1990-09-25 1994-08-26 Gemplus Card Int Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit.
JP3489123B2 (ja) * 1992-04-15 2004-01-19 株式会社日立製作所 アプリケーション結合方法
ATE187268T1 (de) * 1992-07-06 1999-12-15 Microsoft Corp Verfahren zur namensgebung und zur bindung von objekten
EP0583723A1 (de) 1992-08-20 1994-02-23 THOMSON multimedia Karte, Kartenleser und Verfahren zur Protokollauswahl
FR2701133B1 (fr) 1993-02-04 1995-03-10 Gemplus Card Int Procédé de communication avec un support portatif.
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
EP0624851A1 (de) * 1993-05-13 1994-11-17 Angewandte Digital Elektronik GmbH Anwender-Verbindungsteil zwischen Karten- und Systemebene
US5329291A (en) * 1993-08-18 1994-07-12 Liang Ying Co., Ltd. Cathode ray tube optical filter device with cursor pointing function
JPH07104981A (ja) * 1993-09-30 1995-04-21 Hitachi Software Eng Co Ltd オブジェクトリンク情報を用いたプログラム構築装置
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5613120A (en) * 1994-10-20 1997-03-18 Silicon Graphics, Inc. System and method for enabling, without recompilation, modification of class definitions and implementations in an object-oriented computer program
GB9422803D0 (en) 1994-11-11 1995-01-04 At & T Global Inf Solution A card reader
US5729745A (en) * 1994-11-14 1998-03-17 Microsoft Corporation Methods and apparatus for creating a base class for manipulating external data connections in a computer generated document
DK0823174T3 (da) 1995-04-28 2004-10-25 Koninkl Kpn Nv Anordning til transparent vekselvirkning mellem et integreret kredslöbskort og en fjern terminal
AU687312B2 (en) * 1995-05-09 1998-02-19 Smartmove (Nz) Limited Card interface
US6698654B1 (en) * 1995-05-09 2004-03-02 Smartmove (Nz) Ltd. Method of interfacing with data storage card
US5761625A (en) 1995-06-07 1998-06-02 Alliedsignal Inc. Reconfigurable algorithmic networks for aircraft data management
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US6145119A (en) * 1997-03-31 2000-11-07 International Business Machines Corporation Programming development environment for intranet and internet applications employing unique project data structure
US6308164B1 (en) * 1997-04-28 2001-10-23 Jeff Nummelin Distributed project management system and method
US6185733B1 (en) * 1998-01-20 2001-02-06 International Business Machines Corporation Method and apparatus for remote object code inclusion

Also Published As

Publication number Publication date
US6213392B1 (en) 2001-04-10
EP0826215A4 (de) 1998-12-16
DE69611613D1 (de) 2001-02-22
PT826215E (pt) 2001-07-31
AU687312B2 (en) 1998-02-19
US20040103415A1 (en) 2004-05-27
KR100285111B1 (ko) 2001-03-15
BR9608285A (pt) 2000-04-25
CN1138196C (zh) 2004-02-11
GR3035751T3 (en) 2001-07-31
WO1996036051A1 (en) 1996-11-14
CN1189914A (zh) 1998-08-05
DK0826215T3 (da) 2001-05-07
EP0826215B2 (de) 2005-01-26
AU5517996A (en) 1996-11-29
ATE198803T1 (de) 2001-02-15
EP0826215B1 (de) 2001-01-17
ES2156275T3 (es) 2001-06-16
KR19990008336A (ko) 1999-01-25
JPH11505049A (ja) 1999-05-11
ES2156275T5 (es) 2005-07-16
EP0826215A1 (de) 1998-03-04
DE69611613T2 (de) 2001-08-09

Similar Documents

Publication Publication Date Title
DE69611613T3 (de) Interface für eine speicherkarte
US6698654B1 (en) Method of interfacing with data storage card
DE69813208T2 (de) Chipkarte mit datenumsetzer
DE69823649T2 (de) Multi-anwendungs ic-kartensystem
DE69916260T2 (de) Verfahren und Geräte für dynamische Smartkarten-Synchronisierung und Personalisierung
DE3127825C2 (de)
EP1011080B1 (de) Verfahren zum bidirektionalen Datentransfer zwischen einem Terminal und einer Chipkarte sowie Chipkarte
DE2837201C2 (de)
DE2760486C2 (de)
DE69332942T2 (de) Tragbares Rechnersystem
DE69736752T2 (de) System und Vorrichtung zum Personalisieren von Chipkarten
DE3700663C2 (de)
DE69631510T2 (de) Chipkarte, Chipkartenlese-/-schreibvorrichtung, Host für eine Chipkartenlese-/-schreibvorrichtung, Chipkartensystem und Verfahren zum Gewähren des Gebrauches von mehreren Verkäufern in einem Chipkartensystem
EP0142013A2 (de) Tragbarer Datenträger zur Aufnahme, Speicherung und Wiedergabe von Informationsdaten
DE3743639A1 (de) Ic-karte und system zur ueberpruefung ihrer funktionstuechtigkeit
DE60122865T2 (de) Ausgabesystem für IC-Karten
DE3805291A1 (de) Tragbare elektronische vorrichtung
EP0486960A2 (de) Kodierte Chipkartenaktivierung
DE69930592T2 (de) Verfahren zur Gerätverbindungszustandserkennung und Verarbeitungseinheit mit Funktion einer derartigen Erkennung
DE3720427A1 (de) Tragbare elektronische vorrichtung
DE69631868T2 (de) Vorrichtung zum Bereithalten von elektronischem Geld
DE3636703A1 (de) Tragbare elektronische vorrichtung
DE3541026C2 (de)
DE19916723C2 (de) Steuerverfahren für eine einen Kartenleser aufweisende Tastatur
EP1062620B1 (de) Terminal für chipkarten

Legal Events

Date Code Title Description
8363 Opposition against the patent
8366 Restricted maintained after opposition proceedings
8327 Change in the person/name/address of the patent owner

Owner name: COIN ACCEPTORS, INC., ST. LOUIS, MO., US

8339 Ceased/non-payment of the annual fee