DE69123775T2 - Programmsteuersystem für eine tragbare Datenspeichervorrichtung - Google Patents

Programmsteuersystem für eine tragbare Datenspeichervorrichtung

Info

Publication number
DE69123775T2
DE69123775T2 DE69123775T DE69123775T DE69123775T2 DE 69123775 T2 DE69123775 T2 DE 69123775T2 DE 69123775 T DE69123775 T DE 69123775T DE 69123775 T DE69123775 T DE 69123775T DE 69123775 T2 DE69123775 T2 DE 69123775T2
Authority
DE
Germany
Prior art keywords
program
memory
mpu
alternative
stored
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
DE69123775T
Other languages
English (en)
Other versions
DE69123775D1 (de
Inventor
Takashi Nakamura
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.)
Maxell Ltd
Original Assignee
Hitachi Maxell 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
Application filed by Hitachi Maxell Ltd filed Critical Hitachi Maxell Ltd
Publication of DE69123775D1 publication Critical patent/DE69123775D1/de
Application granted granted Critical
Publication of DE69123775T2 publication Critical patent/DE69123775T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • 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/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)
  • Read Only Memory (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Programmsteuerungssystem, das vorzugsweise für einen tragbaren Datenspeicher, wie eine IC-Karte, eine Speicherkarte oder eine kontaktiose IC-Karte verwendet wird.
  • Gewöhnlich enthält eine IC-Karte oder Speicherkarte zusätzlich zu einem Speicher zum Speichern der Benutzerdaten eine MPU (Hauptprozessoreinheit) zum Ausführen verschiedener Arbeitsschritte, wie der Entscheidung über Befehle von einer Lese/Schreibvorrichtung, dem Lesen/Schreiben von Benutzerdaten für den Speicher als Reaktion auf einen Befehl, der Kommunikation, dem Überprüfen einer für den Sicherheitsschutz der im Speicher gespeicherten Benutzerdaten verwendeten Codenummer und Chiffnerung (Verschlüsseln/Entschlüsseln) und einen weiteren mit der CPU (Zentraleinheit) zusammenwirkenden Speicher zum Speichern verschiedener Programme zur Ausführung dieser Arbeitsschritte durch die der MPU.
  • Es existieren zwei herkömmliche Techniken für diese Programme. Die erste Technik ist die Verwendung eines Masken-ROM (Festspeichers), in dem alle erforderlichen Programme gespeichert sind. Die zweite Technik ist die Verwendung eines Masken-ROM, in dem Steuerungsprogramme für die Basisverarbeitungen in der MPU gespeichert sind, und eines PROM (programmierbaren Festspeichers), in dem ein Anwenderprogramm für jeden Benutzer gespeichert ist. Der PROM enthält ein EPROM (löschbarer, programmierbarer ROM), und ein EEPROM (elektrisch löschbarer, programmierbarer ROM); die Benutzerdaten sind ebenfalls in dem PROM gespeichert.
  • Indessen ist die Speicherkapazität eines Halbleiterspeichers wie eines EPROM und eines EEPROM bis zu einem gewissen Grad begrenzt. Deshalb ist es wünschenswert, den Benutzerbereich zum Speichern von Benutzerdaten bei einem derartigen Halbleiterspeicher bis zur möglichen Höchstgrenze zu vergrößern, um die mögliche Speicherkapazität für Benutzerdaten zu vergrößern.
  • Im Hinblick darauf ist die vorstehend beschriebene erste Technik, bei der sämtliche Programme in einem Masken-ROM gespeichert sind, vorzuziehen. Diese Technik hat jedoch den Nachteil, daß die Programme nicht verändert werden können, so daß sie die Forderung nicht erfüllen kann, infolge der Entwicklung der Standardisierung und der Verarbeitung für eine Verschlüsselung und der Kommunikation ein Programm (Programme) für eine Standardbefehlsverarbeitung zu verändern, ein neues Programm einzuschreiben und ein bestimmtes Programm durch ein anderes Programm zu ersetzen.
  • Andererseits kann die vorstehend beschriebene zweite Technik, bei der nur das für das Betreiben der MPU notwendige Basisprogramm in dem Masken-ROM gespeichert ist und die anderen Verarbeitungsprogramme (die alternativen Programme) im PROM gespeichert sind, der oben beschriebenen Forderung nach Modifikation oder einem Einschreiben eines Teils des Basisprogramms und/oder nach dem Ersetzen des gesamten Basisprogramms gerecht werden. Diese Technik jedoch hat ebenfalls einen Nachteil, nämlich daß der Masken-ROM, in dem nur das Basisprogramm gespeichert ist, eine sehr geringe Nutzungseffizienz hat und daher in unbefriedigender Weise genutzt wird.
  • In US-4,777,355 und EP-A-O,354,793 werden Programmsteuerungssysteme mit einem Festwertspeicher und einem zusätzlichen programnierbarenbaren Speicher zum Speichern von zusätzlichen Programmen offenbart.
  • Es ist Aufgabe der vorliegenden Erfindung, ein Programmsteuerungssystem für einen tragbaren Datenspeicher zu schaffen, durch das der Nutzungsgrad eines Speichers gesteigert werden kann und das auch in zufriedenstellender Weise zur Anderung, zum Einschreiben und/oder zum Ersetzen eines Programms geeignet ist.
  • Das erfindungsgemäße Programmsteuerungssystem ist in Anspruch 1 definiert und enthält als Programmspeicher für die MPU einen ersten Speicher, der ein ROM ist, um vorab alle erforderlichen Programme zu speichern, und einen zweiten Speicher, der ein PROM ist und in dem alternative Programme oder Ersatzprogramme, die den erforderlichen Programmen entsprechen, gespeichert werden können, sowie eine Prioritätssteuerung.
  • Die MPU durchsucht mit Hilfe der Prioritätssteuerung vor dem ersten Speicher eine in dem zweiten Speicher gespeicherte Liste von Programmen; dann führt die MPU, wenn das von einem Eingangsbefehl bezeichnete Programm in der Liste enthalten ist, das Programm aus, und nur wenn es nicht enthalten ist, führt sie das im ersten Speicher gespeicherte, bezeichnete Programm aus.
  • Im zweiten Speicher ist ein modifiziertes Programm und ein Ersatzprogramm für die im ersten Speicher gespeicherten Programme und/oder ein neu hinzuzufügendes Programm gespeichert. Wenn beispielsweise in einem Zustand, in dem vorab ein Ersatzprogramm für das im ersten Speicher gespeicherte Programm in dem zweiten Speicher gespeichert wurde, diese Programme bezeichnet werden, wird bevorzugt das im zweiten Speicher gespeicherte Ersatzprogramm durchgeführt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 zeigt den Aufbau einer IC-Karte gemäß einer Ausführungsform der vorliegenden Erfindung, die mit einer Lese/Schreibvorrichtung verbunden ist;
  • Die Figuren 2A und 2B zeigen die in einem PROM in der IC- Karte gespeicherte Prioritätsverwaltungstabelle;
  • Fig. 3 ist ein Ablaufdiagramm, das den Vorgang des Schreibens eines alternativen Programms in den Programmbereich des PROM auf einer IC-Karte zeigt;
  • Fig. 4 zeigt ein Beispiel eines einen Prüfschritt anzeigenden Programms, das in ein in einem nicht programmierbaren oder einschreibbaren Speicher auf einer IC-Karte gespeicherten Programm eingefügt ist;
  • Fig. 5 stellt die Verarbeitung dar, wenn ein alternatives Programm, das einem eingegangenen Befehl entspricht, in einem PROM vorhanden ist;
  • Fig. 6 stellt die Verarbeitung dar, wenn kein einem eingegangenen Befehl entsprechendes alternatives Programm im PROM vorhanden ist;
  • Fig. 7 ist ein Ablaufdiagramm, das die Arbeitsschritte gemäß den Figuren 5 und 6 zeigt; und
  • Fig. 8 ist ein Ablaufdiagramm, das das Unterprogramm der Verarbeitung aufgrund eines Zugriffs in einem anderen Kommunikationssystem zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Im folgenden werden unter Bezugnahme auf die Zeichnungen Ausführungsformen der vorliegenden Erfindung beschrieben.
  • Fig. 1 ist ein Blockdiagramm eines für eine IC-Karte angewendeten erfindungsgemäßen Programmsteuerungssystems. In Fig. 1 bezeichnen 1 einen Eingangskontakt; 2 eine MPU; 3 einen RAM (Direktzugriffsspeicher); 4 einen Masken-ROM; 5 einen PROM; und 6 bis 12 Programmbereiche, in denen jeweils verschiedene Arten von Programmen gespeichert sind.
  • Der Eingangsanschluß 1, der mit einer Lese/Schreibvorrichtung verbunden ist, dient dazu, Daten oder Befehle in Abhängigkeit von einer Anweisung von der MPU 2 von der Lese/Schreibvorrichtung zu empfangen oder an diese zu übertragen. Die MPU 2 dient zur Ausführung der Startverwaltung, der Steuerung des Eingangsanschlusses 1 und der Verarbeitung von Benutzerdaten und/oder Befehlen und einer Codenummer gemäß den in den jeweiligen Programmbereichen des Masken-ROM 4 gespeicherten Programmen 6 bis 12 unter Verwendung des RAM 3. Der PROM 5 kann beispielsweise ein EEPROM sein, der einen Datenbereich mit einer Speicherkapazität von etwa 8 Kilobyte aufweist, in den eine Prioritätsverwaltungstabelle und ein Programmbereich 11 teilweise eingegliedert sind. Der RAM 3 kann eine Speicherkapazität von ca. 256 Byte aufweisen.
  • Selbstverständlich werden mehrere Programme in dem Masken- ROM gespeichert, bevor er in die IC-Karte eingebaut wird. Wenn nach der Verwendung der IC-Karte eine Modifikation, ein Einschreiben und/oder das Ersetzen eines Programms erfolgen, wird ein alternatives Programm (zur Modifikation und zum Einschreiben eines Teils des Originalprogramms und zum Ersatz des gesamten Originalprogramms) im Programmbereich 11 des PROM 5 gespeichert. Ferner werden, wann immer ein Programm im PROM 5 gespeichert wird, die Daten, die seine Position angeben, in der Prioritätensteuerungstabelle 10 gespeichert.
  • Eine derartige Operation wird in der Kommunikationsverarbeitung mit DES (Datenchiffrierungsstandard) ausgeführt, wobei das Chiffrierungssystem durch Kommunikation und RSA oder Protokoll, mit T = 1 (150-Protokoll in ISO = 7-Bit-Code), T = 140 (von den Japanern vorgeschlagenes ISO-Protokoll), T = 0, etc., und auch in einer Befehlsverarbeitung, bei der mehrere Arten von Optionen verwendet werden, definiert wird. Obwohl dieses erst weiter unten beschrieben wird, wird als Beispiel angenommen, daß bei der Herstellung der IC-Karte ein Steuerungsprogramm in dem Masken-ROM 4 der IC-Karte gespeichert wurde, so daß die Kommunikation zwischen einer Lese-/Schreibvorrichtung und der IC-Karte mit dem Chiffriersystem DES und dem Protokoll T = 1 ausgeführt wird. Danach wird, wenn die Kommunikation mit RSA, T = 14 durchgeführt werden soll, der Sicherheit wegen die Steuerungsprogrammbasis über dieses Protokoll im PROM 5, wie einem EEPROM, gespeichert.
  • Damit ein Programm oder Programmodul in den PROM 5 geschrieben werden kann, wird vorab ein Schreibprogramm 12 in einem speziellen Bereich des Masken-ROM 4 gespeichert. Wenn die MPU 2 den Befehl empfängt, ein alternatives Programm zu schreiben, führt sie das Schreibprogramm 12 aus. Ferner wird, damit die MPU 2 das im PROM 5 gespeicherte Programm ausführt, vorab ein Prioritätensteuerungsprogramm 7 in dem Masken-ROM 4 gespeichert. Es wird nun davon ausgegangen, daß das Prioritätensteuerungsprogramm 7 in einem vorher festgelegten Programmbereich des Masken-ROM 4 gespeichert wird. Zudem wird ein Kommunikationsprogramm 6 zur Steuerung des Eingangskontakts 1 in einem anderen Bereich des Masken-ROM 4 gespeichert, und das Programm 9 für jeden Benutzer wird in dem Programmbereich 8 gespeichert. Das Programm 9 für jeden Benutzer beinhaltet eine Dateiverwaltung (Lesen/Schreiben) der im PROM 5 gespeicherten Daten, eine Verzeichnisverwaltung, das Sperren/Freigeben einer Karte, eine Prüf-PIN (eine Codenummer), etc.
  • Wie aus Fig. 2A ersichtlich, besteht die Prioritätsverwaltungstabelle aus einer Programmnummer zur Identifizierung jedes Programms und der Basisadresse des Bereichs zum Speichern des Programms und Daten, die die Größe des Programms angeben. Die Programmnummer jedes Programms ist so eingerichtet, daß sie mit der Programmnummer eines entsprechenden, im Programmbereich 8 gespeicherten Programms übereinstimmt. So ist beispielsweise , wie aus Fig. 2B ersichtlich, das Programm mit der Programmnr. ¥1 in einem Bereich des PROM 5 gespeichert, der mit der Adresse 3200 (in hexadezimaler Schreibweise) beginnt, und hat die der Adresse 3FF entsprechende Größe.
  • Unter Bezugnahme auf das Ablaufdiagramm gemäß Fig. 3 wird im folgenden der Vorgang des Schreibens und Speicherns eines alternativen Programms (bezüglich einer Modifikation, des Einschreibens und des Ersetzens) in den PROM 5 erläutert. Als erstes wird die IC-Karte initialisiert. Als nächstes empfängt die MPU 2 einen Schreibbefehl, ein diesem folgendes Programm, eine designierte Adresse im Programmbereich und eine Befehlsnummer zum Starten des Programms (Schritt 100). Darauf übergibt die MPU 2 ihre Steuerfunktion an das Schreibprogramm 12 (Schritt 110). Danach bearbeitet die MPU 2 in Abhängigkeit von dem Schreibprogramm 12 die Prioritätenverwaltungstabelle und schreibt auch das alternative Programm an der designierten Adresse in den Programmbereich 11 (Schritt 120). Auf diese Weise kann, wenn untersucht wird, ob jeder von der Lese-/Schreibvorrichtung eingegebene Befehl in der Prioritätenverwaltungstabelle 10 gespeichert ist, das spezielle gespeicherte Programm gestartet werden.
  • Im folgenden wird der Vorgang der Ausführung des von der Lese-/Schreibvorrichtung empfangenen Befehls erläutert. Fig. 5 zeigt den Ablauf ( , ...) in einem Fall, in dem das dem empfangenen Befehl entsprechende Programm im PROM 5 gespeichert ist. Der Ablauf gemäß Fig. 5 wird unter Bezugnahme auf das Ablaufdiagramm gemäß Fig. 7 erläutert, das die Veränderungen des Steuerstatus der MPU 2 zeigt.
  • Als erstes wird, wenn die IC-Karte mit der Lese/Schreibvorrichtung verbunden wird, die IC-Karte bei der Verarbeitung eines Kommunikationsprogramms initialisiert (Schritt 200). Ein Befehl ( in Fig. 5) von der Lese-/Schreibvorrichtung wird in einem Bereitschaftsstatus ( in Fig. 5; Fig.7, Schritt 200) durch den Eingangsanschluß 1 in die MPU 2 eingegeben ( in Fig. 5). Anschließend liest die MPU 2 das in dem Masken-ROM 4 gespeicherte Kommunikationsprogramm 6 ( in Fig. 5),und führt es aus, um den Eingangsanschluß 1 in einen Status zu versetzen, in dem er Daten für die Lese-/Schreibvorrichtung übertragen/empfangen kann. Danach liest die MPU 2 das im Masken-ROM 4 gespeicherte Prioritätensteuerungsprogramm 7 ( in Fig. 5) und führt es aus, um die Programmnummer (¥1, ¥2, ... in Fig. 2B) zu suchen, die durch den empfangenen Befehl in der Prioritätenverwaltungstabelle 10 im PROM 5 ausgewählt wurde ( in Fig. 4, Schritt 230). Da nun davon ausgegangen wird, daß die durch den empfangenen Befehl ausgewählte Programmnummer in der Prioritätenverwaltungstabelle 10 vorhanden ist, werden das Vorhandensein des dem empfangenen Befehl entsprechenden Programms und ebenso die dazugehörige Speicherposition (Adresse) erfaßt (Fig. 7, Schritt 240). Die MPU 2 überträgt ihre Steuerungsfunktion an die Speicheradresse im Programmbereich 11, um das alternative Programm anstelle des in dem Masken-ROM 4 gespeicherten, vorab festgelegten Programmn auszuführen (Fig. 7 Schritt 270).
  • Ferner wird als Vereinfachung für den Benutzer gewöhnlich dem im Programmbereich 8 im Masken-ROM 4 gespeicherten, vorab festgelegten Programm und dem im PROM 5 gespeicherten alternativen Programm die gleiche Programmnummer zugewiesen, so daß das alternative Programm, wenn es einmal gespeichert ist, automatisch verwendet wird. Es wird nun davon ausgegangen, daß das alternative Programm, das einer Anderung im Programm 9 im Masken-ROM 4 entspricht, im Programmbereich 11 im PROM 5 gespeichert wurde. In diesem Fall führt die MPU 2, wenn der empfangene Befehl an das Programmodul 9 gerichtet ist, notwendiger Weise das alternative Programm aus, das der Anderung des im Programmbereich 11 im Masken-ROM 5 gespeicherten Programmoduls 9 entspricht. Insbesondere wird die MPU 2, wenn Programme vorhanden sind, die dem gleichen Befehl entsprechen, mit Hilfe des Prioritätensteuerungsprogramms 7 bevorzugt das im PROM 5 gespeicherte Programm durchführen.
  • Fig. 6 zeigt den Programmablauf ( , ...) in einem Fall, in dem das dem empfangenen Befehl entsprechende Programm nicht in dem PROM 5 gespeichert ist. Der Programmablauf gemäß Fig. 5 wird unter Bezugnahme auf das Ablaufdiagramm gemäß Fig. 7 erläutert.
  • Wie in dem unter Bezugnahme auf Fig. 5 beschriebenen Fall führt die MPU 2, wenn sie einen Befehl von der Lese/Schreibvorrichtung empfängt (Fig. 7, Schritt 210), das im Masken- ROM 4 gespeicherte Kommunikationsprogramm 6 aus ( - in Fig. 6). Danach führt die MPU 2 das im Masken-ROM 4 gespeicherte Prioritätssteuerungsprogramm 7 aus ( in Fig. 6), um die dem empfangenen Befehl entsprechende Programmnummer in der im PROM 5 gespeicherten Prioritätsverwaltungstabelle 10 zu suchen (Fig. 7, Schritt 230). In diesem Fall wird davon ausgegangen, daß kein alternatives Programm für das vorab in dem Programmbereich 8 des Masken-ROM 4 gespeicherte Programm vorhanden ist. Wenn die MPU 2 dies feststellt, beginnt sie, das Programm in dem Programmbereich 8 zu suchen ( in Fig. 6) und liest in dem Programmbereich das dem empfangenen Befehl entsprechende Programm und führt es aus ( in Fig. 6, Fig. 7, Schritt 250).
  • Unterdessen sollen einige Programme 9 geändert werden. Darum ist es möglich, vorab die Nummer (Prüfschritt), die die Änderung angibt, an einem bestimmten Punkt des Programms 9 (¥20 in dem in Fig. 4 dargestellten Programm) anzuordnen, wobei diese in dem Programmbereich gespeichert werden kann. Der Inhalt der Änderung, mit anderen Worten, das Hinzufügen eines Schrittes, kann unter Verwendung der ausgewählten Nummer ¥20 in der Prioritätsverwaltungstabelle 10 gespeichert werden, und auch das entsprechende Programm kann auf die gleiche Weise wie in dem Fall gemäß Fig. 3 in dem Programmbereich 11 im PROM 5 gespeichert werden.
  • Auf diese Weise führt die MPU 2, wenn sie den Prüfschritt erreicht (Fig. 7. Schritt 260) bei der Ausführung des Programms 9 (Fig. 7, Schritt 250) das Prioritätssteuerungsprogramm 7 aus (Schritt 220), um die Prioritätsverwaltungstabelle 10 zu suchen (Schritt 230). Wenn als Ergebnis der Überprüfung das Vorhandensein der dem Prüfschritt entsprechenden Befehlsnummer festgestellt wird (Schritt 240), führt die MPU 2 das entsprechende im Programmbereich 11 gespeicherte alternative Programm aus. Soll aufgrund der Prüfung in Schritt 280 das Programms ausgeführt werden, so wird der betreffende Prozeß im Schritt 250 zur Ausführung des ursprünglichen Programms zurückgestellt, um am Prüfpunkt zum nächsten Schritt vorzurücken. Auf diese Weise ist es, wenn sich der Prüfschritt wie in Fig. 4 gezeigt an einem bestimmten Punkt des Programmoduls befindet, möglich, die Prioritätsverwaltungstabelle 10 mit Hilfe der Entscheidung in Schritt 260 zu durchsuchen und den alternativen Teil des entsprechenden Programms im Programmbereich 11 auszuführen, um jedes beliebige Programm zu dem vorher in dem Masken-ROM 4 gespeicherten Programm hinzuzufügen. Ferner kann, wenn ein Sprungbefehl, wie "JUMP TO 500" an einem vorher festgelegten Schritt des passenden Programms im Programmbereich 11 gespeichert ist, das vorab in dem Masken-ROM 4 gespeicherte Programm so umgeschrieben werden, daß der unnötige Teil übersprungen wird.
  • Wie oben beschrieben führt die MPU gemäß dieser Ausführungsform mit Hilfe des Prioritätssteuerungsprogramms 7 das in dem PROM 7 gespeicherte Programm vor dem vorab im Masken-ROM 4 gespeicherten Programm mit derselben Nummer aus. Nur wenn kein entsprechendes Programm im PROM 5 vorhanden ist, wird das im Masken-ROM 4 gespeicherte Programm ausgeführt. Daher wird, wenn zusätzlich zu allen im Masken-ROM 4 gespeicherten erforderlichen Programmen gegebenenfalls ein (einer Modifikation des ursprünglichen Programms unter Verwendung der Programmnummer (des Prüfpunkts), einem Hinzufügen einiger Programme und einem Neuschreiben des gesamten Programms unter Verwendung des Aktivierungsbefehls des ursprünglichen Programms selbst entsprechendes) alternatives Programm im PROM 5 gespeichert ist, dieses alternative Programm bevorzugt ausgeführt. Daher wird, wenn im PROM 5 das alternative Programm für das im Masken-ROM 4 gespeicherte Programm gespeichert ist, das alternative Programm notwendigerweise anstelle des im Masken-ROM 4 gespeicherten Programms ausgeführt.
  • Auf diese Weise kann die vorliegende Erfindung leicht alle Forderungen nach einer Modifikation, einem Einschreiben und einem Ersatz eines Programms in einer IC-Karte erfüllen.
  • Zudem kann, da alle erforderlichen Programme vorab im Masken-ROM 4 gespeichert wurden, das Masken-ROM bei besserer Ausnutzung effektiver genutzt werden. Da die Speicherkapazität für die Modifikation, das Einschreiben und das Ersetzen eines Programms stark begrenzt ist, ist die Speicherkapazität für die Speicherung von Benutzerdaten im PROM 5 nicht besonders begrenzt.
  • Ferner wird darauf hingewiesen, daß die oben beschriebene Ausführungsform nicht nur zur Modifikation, zum Einschreiben und Ersetzen eines Anwendungsprogramms für jeden Benutzer verwendet werden kann, sondern auch für jedes andere Programm, beispielsweise ein Kommunikationsprogramm. Wenn z.B. das Kommunikationssystem verändert wird, kann sein alternatives Programm im PROM 5 gespeichert werden.
  • Insbesondere kann die Kommunikation durch den Ersatz der Kommunikationsprogrammverarbeitung (Schritt 200) gemäß Fig. 7 durch die in Fig. 8 dargestellte Subroutinenverarbeitung verändert werden, die im folgenden Prozeß ausgeführt wird. Als erstes wird, wenn ein Initialisierungssignal von der Lese-/Schreibvorrichtung empfangen wird (Schritt 200), ein anderes in der Subroutine angeordnetes Prioritätssteuerungsprogramm ausgeführt (Schritt 202), um die Prioritätsverwaltungstabelle 10 zu durchsuchen (Schritt 203). Wenn die Befehlsnummer des dem betreffenden Kommunikationssystem entsprechenden Steuerungsprogramms in der Prioritätsverwaltungstabelle 10 vorhanden ist (Schritt 204) wird das entsprechende im Programmbereich 11 gespeicherte Steuerungsprogramm ausgeführt (Schritt 206). Ist dies nicht der Fall, wird die Kommunikationssteuerung unter Verwendung des Kommunikationsprogramms des ursprünglichen, vorab im Masken-ROM 4 gespeicherten Kommunikationssystems ausgeführt. Daher kann auch bei einer Änderung des Kommunikationsprogramms gemäß dem in Fig. 3 gezeigten Vorgang die gleiche Befehlsnummer wie die Befehlsnummer, die das ursprüngliche Befehlssystem aktiviert, in der Prioritätsverwaltungstabelle 10 gespeichert werden, und auch ein alternatives Kommunikationsprogramm kann in dem Programmbereich 11 gespeichert werden.
  • Zudem können die Daten, die im PROM 5 gespeichert werden sollen, unter Verwendung der Prioritätsverwaltungstabelle 10 verwaltet werden, wie in den Figuren 2A und 2B dargestellt. Dies ermöglicht ein leichtes Auffinden eines leeren Speicherbereichs im PROM 5 und ein kurzzeitiges Speichern neuer Daten/Programme. Hierbei können die Daten und die Programme voneinander unterschieden werden, indem sie mit unterscheidbaren Symbolen markiert werden (Z.B. $ für die Daten und ¥ für das Programm). Ferner können die Speicherbereiche für die Programme und Daten vorab unterteilt werden. Bei der Verwaltung sowohl von Daten als auch von Programmen können Daten und Programme ohne Unterscheidung in der Reihenfolge ihrer Eingabe von einer Seite des PROM gespeichert werden.
  • Überdies können sämtliche im PROM 5 gespeicherten Daten einmal ausgelesen und anschließend mit ihrem neuen Layout mit einem neu hinzuzufügenden Programm gespeichert werden.
  • Ferner kann, wenn einem Benutzer eine Anleitung zum Schreiben eines neuen Programms gegeben wurde, der Benutzer selbst ein neu hinzuzufügendes Programm schreiben. Daher muß auf einer Karte (ISO-Karte) unter den nach ISO-Standard geltenden elektrischen und physikalischen Bedingungen (ISON 7816/1-3) nur das Prioritätssteuerungsprogramm eingefügt werden, um ein neues Programm zu erzeugen.

Claims (7)

1. Programmsteuerungssystem für einen tragbaren Datenspeicher, das umfaßt:
Eine Hauptprozessoreinheit MPU(2) zum Starten und Abarbeiten eines internen Programms in Abhängigkeit von einem Eingabe/Ausgabe-Anfragesignal von einer vorgegebenen externen Vorrichtung;
einen ersten Speicher (4), der ein Festwertspeicher für die Speicherung nicht änderbarer Fixwertprogramme (9, 12) ist, auf die von der besagten MPU zugegriffen werden soll; und
einen zweiten Speicher (5) zur Speicherung alternativer Programme und welche geschrieben oder gelesen werden können durch die besagte MPU;
dadurch gekennzeichnet, daß:
der besagte zweite Speicher (5) eine Prioritätsverwaltungstabelle (10) zur Speicherung von Indexinformation der besagten alternativen Programme in dem besagten zweiten Speicher und einen Programmbereich (11) zur Speicherung der besagten alternativen Programme gemäß den besagten Indexinformationen in dem besagten zweiten Speicher umfaßt,
eine Prioritätssteuerung (7) auf Aufforderung zur Ausführung des besagten internen Programms die besagte Prioritätsverwaltungstabelle (10) nach Indexinformation durchsucht, die dem auszuführenden Programm entspricht, und bei Vorhandensein dieser Indexinformation in dem besagten zweiten Speicher die besagte MPU anweist, das alternative Programm in dem besagten Programmbereich (11), das durch die besagte Indexinformation bezeichnet ist, auszuführen, und im gegenteiligen Fall die besagte MPU anweist, das dazugehörige Festwertprogramm (9, 12) in dem besagten ersten Speicher (4) auszuführen.
2. Programmsteuerungssystem nach Anspruch 1,bei dem ein in dem besagten zweiten Speicher (5) zu speicherndes alternatives Programm ein teilweise hinzugefügtes oder verbessertes Programm eines Festwertprogramms (9, 12) in dem besagten ersten Speicher ist.
3. Programmsteuerungssysten nach Anspruch 1 oder 2, bei dem die besagte Prioritätsverwaltungstabelle außerdem eine Basisadresse für jedes alternative Programm umfaßt und die besagte MPU (2) ein alternatives Programm in Abhängigkeit von dessen Basisadresse ausführt.
4. Programmsteuerungssystem nach Anspruch 1, 2 oder 3, bei dem ein Festwertprogramm (9, 12) zunächst einen Prüfschritt mit vorgegebener Identifizierungsinformation umfaßt, und wenn die besagte MPU den besagten Prüfschritt bei der Abarbeitung des besagten Festwertprogramms erreicht, sucht die besagte Prioritätssteuerung die besagte Prioritätsverwaltungstabelle durch und wenn Indexinformation entsprechend der besagten Identifizierungsinformation vorliegt, führt die besagte MPU das entsprechende alternative Programm durch.
5. Programmsteuerungssystem nach Anspruch 4, bei dem nach Ausführung des besagten entsprechenden alternativen Programms die besagte MPU (2), die Ausführung des besagten Festwertprogramms (9, 12) wieder in dem Teil aufnimmt, der dessen Prüfschritt folgt.
6. Programmsteuerungssystem nach Anspruch 1, 2, 3, 4 oder 5, bei dem der besagte tragbare Datenspeicher Schreibvorrichtungen (12) zum Schreiben eines alternativen Programms in dem besagten zweiten Speicher (5) umfaßt; und die besagte Schreibvorrichtung in Abhängigkeit von einem Schreibbefehl von der besagten externen Vorrichtung die Indexinformation des alternativen Programms im besagten zweiten Speicher (5) der besagten Prioritätsverwaltungstabelle (10) speichert und das Programm in dem besagten Programmbereich (11) des zweiten Speichers (5) speichert.
7. IC-Karte mit einem Programmsteuerungssystem nach einem der vorangehenden Ansprüche.
DE69123775T 1990-02-17 1991-02-12 Programmsteuersystem für eine tragbare Datenspeichervorrichtung Expired - Fee Related DE69123775T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2035096A JPH03240127A (ja) 1990-02-17 1990-02-17 プログラム制御システム

Publications (2)

Publication Number Publication Date
DE69123775D1 DE69123775D1 (de) 1997-02-06
DE69123775T2 true DE69123775T2 (de) 1997-07-10

Family

ID=12432415

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69123775T Expired - Fee Related DE69123775T2 (de) 1990-02-17 1991-02-12 Programmsteuersystem für eine tragbare Datenspeichervorrichtung

Country Status (4)

Country Link
US (1) US5252812A (de)
EP (1) EP0451936B1 (de)
JP (1) JPH03240127A (de)
DE (1) DE69123775T2 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9019423D0 (en) * 1990-09-06 1990-10-24 Gen Motors Luxembourg Operatio Electronic controller for vehicle
FR2667417B1 (fr) * 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.
JP2724046B2 (ja) * 1991-02-07 1998-03-09 富士写真フイルム株式会社 Icメモリカードシステム
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
EP0583526A1 (de) * 1992-08-20 1994-02-23 THOMSON multimedia Karte, Kartenleser und Verfahren zur Protokollauswahl
EP0583723A1 (de) * 1992-08-20 1994-02-23 THOMSON multimedia Karte, Kartenleser und Verfahren zur Protokollauswahl
WO1994010657A1 (en) * 1992-10-26 1994-05-11 Intellect Australia Pty. Ltd. Host and user transaction system
JP3480958B2 (ja) * 1993-02-19 2003-12-22 富士通株式会社 文字ファイルアクセス方式
JP3568970B2 (ja) * 1993-04-12 2004-09-22 株式会社東芝 Icカード発行装置
US5555389A (en) * 1993-07-07 1996-09-10 Hitachi, Ltd. Storage controller for performing dump processing
JP3662946B2 (ja) * 1993-09-22 2005-06-22 株式会社東芝 ファイル管理方式および携帯可能電子装置
US6145739A (en) * 1993-10-26 2000-11-14 Intellect Australia Pty Ltd. System and method for performing transactions and an intelligent device therefor
US5679944A (en) 1994-06-15 1997-10-21 Dallas Semiconductor Corporation Portable electronic module having EPROM memory, systems and processes
DE4425388B4 (de) * 1994-07-19 2005-07-21 Robert Bosch Gmbh Steuergerät
DE4440127B4 (de) * 1994-11-10 2007-11-08 Robert Bosch Gmbh Steuergerät
US5918006A (en) * 1994-12-20 1999-06-29 Canon Kabushiki Kaisha Communication device provided with a storage medium for storing a control program
JPH0962583A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp データ処理装置
US5832263A (en) * 1996-03-15 1998-11-03 Digidox, Inc. System and method for in-place modification of information recorded in read-only storage using modifiable non-volatile storage associated with an agent
DE19718115A1 (de) * 1996-12-23 1998-06-25 Ccs Chipcard & Comm Syst Gmbh Chipkarte und Verfahren zur Verwendung der Chipkarte
JP3689213B2 (ja) 1997-01-21 2005-08-31 ローム株式会社 非接触型icカード
US6575372B1 (en) 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
US6317832B1 (en) 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
US6385723B1 (en) 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
US6164549A (en) * 1997-05-15 2000-12-26 Mondex International Limited IC card with shell feature
US6230267B1 (en) 1997-05-15 2001-05-08 Mondex International Limited IC card transportation key set
US6488211B1 (en) 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
US6328217B1 (en) 1997-05-15 2001-12-11 Mondex International Limited Integrated circuit card with application history list
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
WO1998059325A2 (de) * 1997-06-23 1998-12-30 Siemens Aktiengesellschaft Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte
JPH11191149A (ja) 1997-12-26 1999-07-13 Oki Electric Ind Co Ltd Icカード用lsiおよびその使用方法
US6736325B1 (en) 1998-01-22 2004-05-18 Mondex International Limited Codelets
US6357665B1 (en) 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
US6742120B1 (en) 1998-02-03 2004-05-25 Mondex International Limited System and method for controlling access to computer code in an IC card
AU2289999A (en) * 1998-02-06 1999-08-23 Mondex International Limited Configuration of ic card
US7373521B1 (en) * 1999-02-17 2008-05-13 Sony Corporation Semiconductor IC, information processing method, information processing device, and program storage medium
US6493616B1 (en) * 1999-08-13 2002-12-10 Clark Equipment Company Diagnostic and control unit for power machine
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
WO2002041158A1 (fr) * 2000-11-20 2002-05-23 Matsushita Electric Industrial Co., Ltd. Lecteur-enregistreur à influence, système de communication d'information l'utilisant, et système de gestion l'utilisant
WO2003077083A2 (en) * 2002-03-13 2003-09-18 Matsushita Electric Industrial Co., Ltd. Secure device for preventing unauthorised use of distributed content
US7065605B2 (en) * 2003-07-28 2006-06-20 Seagate Technology Llc Dynamic mask-ROM register patching
JP4580660B2 (ja) * 2004-02-19 2010-11-17 大日本印刷株式会社 Romにアプリケーションを実装したマルチアプリケーションicカードおよびアプリケーションプログラム
JP5034460B2 (ja) * 2006-11-29 2012-09-26 大日本印刷株式会社 情報処理装置とそのプログラム、情報処理装置の製造方法、及び、情報処理装置の使用方法
JP2008165744A (ja) * 2006-12-07 2008-07-17 Semiconductor Energy Lab Co Ltd 半導体装置
JP5795921B2 (ja) * 2011-09-21 2015-10-14 株式会社東芝 Icカード、携帯可能電子装置、icカードの制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
US4506346A (en) * 1982-12-01 1985-03-19 At&T Bell Laboratories Programmable cartridge telephone communication system
US4703416A (en) * 1982-12-10 1987-10-27 American Telephone And Telegraph Company Apparatus for locating programs resident on a cartridge of a cartridge programmable communication system
DE3686291T2 (de) * 1985-05-29 1993-03-11 Toshiba Computer Eng Cache-anordnung mit einem lru-verfahren und magnetscheibensteuereinrichtung mit einer solchen anordnung.
US4829169A (en) * 1985-07-01 1989-05-09 Toppan Moore Company, Inc. IC card having state marker for record access
US4777355A (en) * 1986-12-24 1988-10-11 Mitsubishi Denki Kabushiki Kaisha IC card and system for checking the functionality thereof
EP0354793B1 (de) * 1988-08-12 1996-10-23 Hitachi Maxell, Ltd. Chipkarte und Verfahren zum Wiedereinschreiben ihres Programmes
US5136700A (en) * 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories

Also Published As

Publication number Publication date
US5252812A (en) 1993-10-12
EP0451936B1 (de) 1996-12-27
JPH03240127A (ja) 1991-10-25
DE69123775D1 (de) 1997-02-06
EP0451936A1 (de) 1991-10-16

Similar Documents

Publication Publication Date Title
DE69123775T2 (de) Programmsteuersystem für eine tragbare Datenspeichervorrichtung
DE69205425T2 (de) Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte.
DE69835879T2 (de) Multifunktionschipkarte mit delegierungsmerkmal
DE3743639C2 (de)
DE69809527T2 (de) Externe Speichervorrichtung und Datenverarbeitungsverfahren
DE68915186T2 (de) Tragbarer elektronischer Apparat.
DE69111635T2 (de) Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs.
DE69400549T2 (de) IC-Karten-Übertragungssystem
DE3805291A1 (de) Tragbare elektronische vorrichtung
DE3807997A1 (de) Ic-karte mit interner fehlerpruefung
DE3640238A1 (de) Tragbare elektronische vorrichtung
DE4235193A1 (de) Netzwerksystem und zugehoeriges softwareverwaltungsverfahren
DE19615177C2 (de) Verfahren zum Ändern einer Funktion eines Druckertreibers
DE69431379T2 (de) Dateiverwaltungssystem mit flexibler Dateigrösse
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE19626337C2 (de) Verarbeitung langer Nachrichten in einer Prozessorkarte
DE68927361T2 (de) Chipkarte und Verfahren zum Wiedereinschreiben ihres Programmes
DE68928608T2 (de) Versichertes Fernladungssystem eines Terminals
DE3688136T2 (de) Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation.
WO2000014631A2 (de) Verfahren zum linken von in einen arbeitsspeicher eines prozessors nachgeladenen programmodulen auf einer chipkarte
DE602004010458T2 (de) Halbleiterspeicherkarte und rechnerlesbares programm
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE3210616A1 (de) Rechner
DE69905659T2 (de) Chipkarte, System zum Verarbeiten von Chipkarten, und Verfahren zum Verarbeiten von Chipkarten
EP3070690A1 (de) Chipkarte und verfahren zur softwarebasierten modifikation einer chipkarte

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee