EP0992027A2 - Chip card for executing non-modifiable system program routines and replacement program routines allocated thereto, and method for operating the chip card - Google Patents

Chip card for executing non-modifiable system program routines and replacement program routines allocated thereto, and method for operating the chip card

Info

Publication number
EP0992027A2
EP0992027A2 EP98942456A EP98942456A EP0992027A2 EP 0992027 A2 EP0992027 A2 EP 0992027A2 EP 98942456 A EP98942456 A EP 98942456A EP 98942456 A EP98942456 A EP 98942456A EP 0992027 A2 EP0992027 A2 EP 0992027A2
Authority
EP
European Patent Office
Prior art keywords
routine
chip card
system program
memory
program routines
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.)
Withdrawn
Application number
EP98942456A
Other languages
German (de)
French (fr)
Inventor
Markus Weinländer
Rainer WÖRZ
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of EP0992027A2 publication Critical patent/EP0992027A2/en
Withdrawn 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
    • 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
    • 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card

Definitions

  • Chip card for executing unchangeable system program routines and associated replacement program routines, as well as methods for operating the chip card
  • the program routines in particular system program routines, which are part of an operating system for example
  • Chip cards can be stored in a non-volatile read memory of the chip card.
  • a non-volatile read-only memory is, for example, a so-called read-only memory (ROM) or a non-volatile read-only memory (EPROM) that cannot be re-stored without great technical outlay.
  • ROM read-only memory
  • EPROM non-volatile read-only memory
  • the object of the invention is to enable the adaptability of unchangeable system program routines of a chip card.
  • the object is achieved with the method according to the invention for operating a chip card and the chip card for carrying out the method according to the invention.
  • the unchangeable system program routines are selectively interchangeable with replacement program routines.
  • a check routine of the chip card can be used to determine whether a non-changeable system program routine has been assigned a replacement program routine. If this is the case, the replacement program routine is executed according to the invention, otherwise the originally stored system program routine.
  • commands from the processing unit of the chip card in particular operating system commands, which are used to call the unchangeable system program routines
  • the operating system can be developed and programmed as usual.
  • the jump addresses for calling the system program routines are replaced by new jump addresses which lead to the test routine according to the invention.
  • a code is passed to the test routine as a transfer parameter, which identifies the system program routine to be originally executed.
  • Each code is assigned to a specific system program routine. In particular, only the jump addresses for calling those system program routines that are to be replaceable with replacement program routines are changed.
  • the code characterizing a system program routine advantageously serves as a search criterion for the test routine, particularly in a pointer table.
  • the corresponding codes are assigned, for example, to the memory addresses with which the corresponding replacement program routines can be called up and executed.
  • Several linked pointer tables can advantageously be chained together.
  • the check routine advantageously uses a further, second pointer table to branch back to the original system program routines if no corresponding replacement program routine could be found.
  • the operating system is therefore advantageously fully functional even without replacement program routines using the system program routines.
  • An advantage of the chip card according to the invention is that the system program routines can be stored in a non-volatile read-only memory, such as, for example, a so-called ROM.
  • the replacement program routines are in a random access memory, such as one
  • EEPROM can be saved.
  • replacement program routines which are intended to replace specific system program routines, can advantageously be stored subsequently at any time, even when the chip card is in operation. This advantageously results in a high degree of adaptability and flexibility in the use of the chip card according to the invention. Furthermore, a faster development process of the chip card is also possible, since when the software present in the hardware, in particular the system program routines, is created, not all the details need to be finally known. For example, a system program routine can also exist only as a kind of placeholder and can later be inserted as a replacement program routine based on the application.
  • FIG. 1 shows an example of the schematic structure of a chip card according to the invention with a non-volatile read-only memory for system program routines and a read-write memory for replacement program routines, and
  • FIG. 2 shows an example of a flowchart of the method according to the invention for operating a chip card.
  • FIG. 1 shows an example of the schematic structure of a chip card CK according to the invention with an operating system H, which is used at least for the execution of unchangeable system program routines U, Ul..Un.
  • the operating system H calls a test routine OMF before executing a system program routine U and transfers to it a code ID which identifies the respective system program routine.
  • the OMF check routine can also be described as a so-called 'overload management function'.
  • the call of the test routine OMF is shown by way of example in FIG. 1 by the dashed arrow denoted by QII.
  • the operating system H checks according to the invention whether the system program routine U is assigned a corresponding replacement program routine U '. This is exemplified in FIG. 1 by the dashed arrow labeled Q12. If the current system program routine U can be assigned a replacement program routine U ', this is carried out, as is shown by the dashed arrow Q31 by way of example. Otherwise, the original system program routine U is executed, as exemplified by the dashed arrows Q32 and Q41. In particular, the system program routines U, Ul..Un are unchangeably stored in a non-volatile read memory S1 of the chip card CK for carrying out the method according to the invention.
  • the non-volatile read memory S1 is, for example, a so-called ROM.
  • the memory addresses A, AI..An of the non-volatile read memory S1 indicate the direct or indirect start addresses for calling the system program routines U, UL.Un.
  • the replacement program routines U ', Ul', U4 ' are stored in particular in a read / write memory S2 of the chip card CK according to the invention, the memory addresses A', AI ', A4' specifying the corresponding start addresses as examples.
  • the random access memory S2 is a so-called EEPROM.
  • operating system commands H1..H3 in particular are used in the operating system H to call unchangeable system program routines U.
  • this is the jump command ⁇ CALL '.
  • Such a jump instruction usually has a direct or indirect jump address JMP, which leads to a branch to a system program routine U and to its execution.
  • the jump instruction designated by the reference symbol H2 is used in the example in FIG. 2 for the direct execution of the system program routine U2.
  • the system program routine U2 can therefore not be replaced by a corresponding replacement program routine.
  • the jump commands designated by the reference symbols H1 and H3, serve to call the system program routines U1 and U3, and according to the invention it is checked before their possible execution that an appropriate replacement program routine U 'is not assigned, which are executed instead of the system program routine should.
  • the original jump addresses JMP which serve for direct branching to the memory addresses AI
  • A3 of the system program routines U1 and U3 were each replaced by a jump address press JMP, which branches to the test routine OMF.
  • the codes ID1 and ID3 shown symbolically in brackets in FIG. 1 are in particular passed as parameters to the test routine OMF so that the latter can check whether there are correspondingly assigned replacement program routines U '.
  • the codes ID of those system program routines U to which a replacement program routine U 'is assigned are each assigned a memory address A'. With the memory address A ', the operating system H branches to the corresponding replacement program routine U', as a result of which this is executed.
  • first assignment means T1 are used in particular for the assignment between the corresponding codes ID and the replacement program routines U '.
  • the first assignment means T1 are advantageously used to assign the codes ID1 to memory addresses A 'of the read-write memory S2, which branch to the corresponding replacement program routines U'.
  • the memory addresses A ' generally indicate the direct or indirect start address in the read-write memory S2 at which the corresponding replacement program routines U' are stored.
  • the system program routines U1 and U4 are assigned a replacement program routine U1 'and U4', respectively.
  • the operating program H executes the replacement program routines U1 'and U4' according to the invention.
  • the codes ID1 and ID4, which characterize the system program routines U1 and U4 are assigned by means of the first pointer table T1 the corresponding memory addresses AI 'and A4' of the read-write memory S2, which correspond to the corresponding replacement program routines Ul 'and U4.
  • U4 'branch For example, when the operating system command Hl is executed, the operating system H searches for according to the invention by means of the test function OMF in the first pointer table T1 the code IDl. In the example in FIG. 1, this is assigned the memory address AI ', through which the operating system H branches to the replacement program routine U1' stored in the read-write memory S2 and executes it.
  • the chip card CK has second allocation means T2, which are stored in the form of a second pointer table in the non-volatile memory S1. If the operating system uses the test routine OMF to determine using the first assignment means T1 that the current system program routine U is not assigned a replacement program routine U ', then the second assignment means T2 are used in particular. The second assignment means T2 are used to assign the corresponding codes ID and the original system program routines U.
  • the memory addresses A of the non-volatile read memory S1, which correspond to the corresponding system program routines U in the non-volatile read memory, are advantageously assigned to the codes ID Sl branch.
  • the operating system H uses the test function OMF and the identifying code ID3 to check whether the system program routine U3 has been assigned a corresponding replacement program routine. Since this is not the case here, for example, the second pointer table according to the invention T2 searched for the code ID3 and branched to the system program routine U3 in the non-volatile read memory S1 by means of the memory address A3 assigned there and executed it.
  • test routine OMF is advantageously stored in the non-volatile read memory S1 and is in particular part of the operating system H.
  • This also includes in particular the system program routines U and the second allocation means T2, which are preferably likewise stored in the non-volatile read memory S1.
  • a data processing unit P of the chip card CK is used in particular to execute the operating system H.
  • the data processing unit P has in particular a microprocessor.
  • FIG. 2 shows an example of a flow chart of a preferred embodiment of the method according to the invention for operating the chip card CK.
  • the reference numerals also refer to the exemplary illustration in FIG. 1. According to the method according to the invention,
  • Execution of a system program routine U that cannot be changed calls the test routine OMF and in the process transfers a code ID to it, which identifies the respective system program routine U and in particular is assigned to it.
  • the call of the test routine OMF is represented symbolically in FIG. 2 by the blocks Q1, Q2 and the arrow Qll.
  • the operating system H uses the check routine OMF and the code ID to check whether the system program routine U is assigned a replacement program routine U 'by searching for the code ID in the first pointer table T1. This is exemplified by the arrow Q12 and the diamond Q3.
  • the replacement program routine U 'stored in the read / write memory S2 is executed, as shown by the arrow Q31 and the block Q6. If, on the other hand, the code ID is not found in the first pointer table T1, it is searched for in the second pointer table T2 and the data in the non-volatile reading memory Sl executes the original system program routine U stored. This is symbolically represented in FIG. 2 by arrows Q32 and Q41 and blocks Q4 and Q5.

Abstract

The inventive chip card (CK) has an operating system (H) for executing non-modifiable system program routines (U). Before a system program routine (U) is executed, said operating system (H) requests a check routine (OMF) and allocates said check routine (OMF) an ID code, said ID code (Q11) identifying the corresponding system program routine (U). Using the check routine (OMF) and the ID code, the operating system (H) checks whether a replacement program routine (U') has been allocated (Q12) to the system program routine (U), and if this is the case (Q31), executes said replacement program routine (U'). In the event that no replacement program routine has been allocated (Q32), the system program routine (U) is executed (Q41). The non-modifiable system program routines (U) are stored especially in a non-volatile read-only memory (S1, ROM) and the replacement program routines (U') especially in a write read memory (S2, EEPROM) of the chip card (CK).

Description

Beschreibungdescription
Chipkarte zur Ausführung von nicht änderbaren System-Programmroutinen und diesen zugeordneten Ersatz-Programmrou- tinen, sowie Verfahren zum Betrieb der ChipkarteChip card for executing unchangeable system program routines and associated replacement program routines, as well as methods for operating the chip card
Bei Chipkarten sind die im nichtflüchtigen Lesespeicher der Chipkarte abgespeicherte Daten, Programmro tinen und dergleichen nachträglich nicht mehr änderbar. Dies stellt insbeson- dere dann ein Problem dar, wenn die bei der Fertigung derIn the case of chip cards, the data, program routines and the like stored in the non-volatile read memory of the chip card can no longer be changed subsequently. This poses a problem in particular when the
Chipkarte zugrunde liegende Programmierung noch nicht endgültig sicher ist oder nachträglich Änderungen eingebracht werden sollen können. Insbesondere bei System-Programmroutinen, welche beispielsweise zur kryptographisehen Sicherung heran- gezogen werden oder Schnittstellenbedienfunktionen übernehmen, sind nachträglich häufig anwendungsbedingte Änderungen oder Anpassungen erwünscht.The programming on which the chip card is based is not yet finally secure or changes can be made subsequently. Particularly in the case of system program routines, which are used, for example, for cryptographic security or which perform interface operating functions, subsequent changes or adaptations that are application-specific are often desired.
Die Programmroutinen, insbesondere System-Programmroutinen, welche beispielsweise Bestandteil eines Betriebssystems derThe program routines, in particular system program routines, which are part of an operating system for example
Chipkarte sein können, sind in der Regel in einem nichtflüchtigen Lesespeicher der Chipkarte abgespeichert. Ein derartiger nichtflüchtiger Lesespeicher ist beispielsweise ein sogenannter Read-Only-Me ory-Speicher (ROM) oder auch ein nicht ohne größeren technischen Aufwand umspeicherbarer, nichtflüchtiger Lesespeicher (EPROM) .Chip cards can be stored in a non-volatile read memory of the chip card. Such a non-volatile read-only memory is, for example, a so-called read-only memory (ROM) or a non-volatile read-only memory (EPROM) that cannot be re-stored without great technical outlay.
Nachteilhaft ist es somit, daß zur Änderung der in den nichtflüchtigen Lesespeichern der Chipkarte abgespeicherten Pro- grammroutinen oder Daten der Austausch des gesamten Speicherbausteins durch einen neu programmierten Speicherbaustein notwendig werden kann. Dies stellt bei Chipkarten insbesondere dann ein Problem dar, wenn die Speicherbausteine bereits in der Chipkarte integriert und verschweißt sind und somit die Chipkarte unbrauchbar und deren Neuherstellung notwendig werden würde . Aufgabe der Erfindung ist es, die Anpaßbarkeit von nicht änderbaren System-Programmroutinen einer Chipkarte zu ermöglichen.It is thus disadvantageous that, in order to change the program routines or data stored in the non-volatile read memories of the chip card, it may be necessary to replace the entire memory module with a newly programmed memory module. This is a problem with chip cards in particular when the memory modules are already integrated and welded in the chip card and the chip card is therefore unusable and its new production would be necessary. The object of the invention is to enable the adaptability of unchangeable system program routines of a chip card.
Die Aufgabe wird gelöst mit dem im Anspruch 1 angegebenen erfindungsgemäßen Verfahren zum Betrieb einer Chipkarte und der im Anspruch 4 angegebenen Chipkarte zur Durchführung des erfindungsgemäßen Verfahrens.The object is achieved with the method according to the invention for operating a chip card and the chip card for carrying out the method according to the invention.
Vorteil der Erfindung ist es, daß die nicht änderbaren System-Programmroutinen selektiv durch Ersatz-Programmroutinen austauschbar sind. Gemäß der Erfindung ist dabei über eine Prüfroutine der Chipkarte feststellbar, ob einer nicht änderbaren System-Programmroutine eine Ersatz-Programmroutine zu- geordnet ist. Ist dies der Fall, so wird erfindungsgemäß die Ersatz-Programmroutine ausgeführt, andernfalls die ursprünglich abgespeicherte System-Programmroutine.It is an advantage of the invention that the unchangeable system program routines are selectively interchangeable with replacement program routines. According to the invention, a check routine of the chip card can be used to determine whether a non-changeable system program routine has been assigned a replacement program routine. If this is the case, the replacement program routine is executed according to the invention, otherwise the originally stored system program routine.
Des weiteren vorteilhaft ist es, daß Befehle der Verarbei- tungseinheit der Chipkarte, insbesondere Betriebssystembefehle, welche zum Aufruf der nicht änderbaren System-Programmroutinen dienen geändert abgespeichert werden. Beispielsweise kann so das Betriebssystem wie bisher üblich entwickelt und programmiert werden. Anschließend werden insbesondere die Sprungadressen zum Aufruf der System-Programmroutinen durch neue Sprungadressen ersetzt, welche zur erfindungsgemäßen Prüfroutine führen. Dies kann beispielsweise durch einen modifizierten Compiler erfolgen. Als Übergabeparameter an die Prüfroutine wird ein Kode übergeben, welcher die ursprünglich auszuführende System-Programmroutine kennzeichnet. Jeder Kode ist dabei einer bestimmten System-Programmroutine zugeordnet. Dabei werden insbesondere nur die Sprungadressen zum Aufruf derjenigen System-Programmroutinen geändert, welche durch Ersatz-Programmroutinen ersetzbar sein sollen. Dadurch sind beim Programmieren der Chipkarte beispielsweise zwei Klassen von System-Programmroutinen in Form von 'ersetzbar' und 'nicht ersetzbar' festlegbar. Vorteilhaft dient der eine System-Programmroutine kennzeichnende Kode, beispielsweise ein sogenannter λ Identifier ' , als Suchkriterium der Prüfroutine insbesondere in einer Zeigertabelle. In dieser sind die entsprechenden Kodes beispielsweise den Speicheradressen zugeordnet, mit welchen die entsprechenden Ersatz-Programmroutinen aufrufbar und ausführbar sind. Dabei können vorteilhaft auch mehrere, miteinander verknüpfte Zeigertabellen aneinandergekettet werden. Vorteilhaft dient der Prüfroutine eine weitere, zweite Zeigertabelle zur Ver- zweigung zurück zu den ursprünglichen System-Programmroutinen, falls keine entsprechende Ersatz-Programmroutine gefunden werden konnte. Das Betriebssystem ist also vorteilhaft auch ohne Ersatz-Programmroutinen mittels der System-Pro- grammroutinen voll funktionsfähig.It is also advantageous that commands from the processing unit of the chip card, in particular operating system commands, which are used to call the unchangeable system program routines, are stored in modified form. For example, the operating system can be developed and programmed as usual. Then in particular the jump addresses for calling the system program routines are replaced by new jump addresses which lead to the test routine according to the invention. This can be done using a modified compiler, for example. A code is passed to the test routine as a transfer parameter, which identifies the system program routine to be originally executed. Each code is assigned to a specific system program routine. In particular, only the jump addresses for calling those system program routines that are to be replaceable with replacement program routines are changed. As a result, when programming the chip card, for example, two classes of system program routines can be defined in the form of 'replaceable' and 'non-replaceable'. The code characterizing a system program routine, for example a so-called λ identifier, advantageously serves as a search criterion for the test routine, particularly in a pointer table. In this, the corresponding codes are assigned, for example, to the memory addresses with which the corresponding replacement program routines can be called up and executed. Several linked pointer tables can advantageously be chained together. The check routine advantageously uses a further, second pointer table to branch back to the original system program routines if no corresponding replacement program routine could be found. The operating system is therefore advantageously fully functional even without replacement program routines using the system program routines.
Ein Vorteil der erfindungsgemäßen Chipkarte ist es, daß die System-Programmroutinen in einem nichtflüchtigen Lesespeicher, wie beispielsweise einem sogenannten ROM, unveränderlich abspeicherbar sind. Die Ersatz-Programmroutinen hingegen sind in einem Schreib-Lesespeicher, wie beispielsweise einemAn advantage of the chip card according to the invention is that the system program routines can be stored in a non-volatile read-only memory, such as, for example, a so-called ROM. The replacement program routines, however, are in a random access memory, such as one
EEPROM abspeicherbar . Dabei können vorteilhaft zu jedem Zeitpunkt, also auch bei Betrieb der Chipkarte, noch nachträglich Ersatz-Programmroutinen abgespeichert werden, welche bestimmte System-Programmroutinen ersetzen sollen. Dadurch wird vor- teilhaft eine hohe Anpaßbarkeit und Flexibilität der Einsetz- barkeit der erfindungsgemäßen Chipkarte bewirkt. Des weiteren ist somit auch ein schnellerer Entwicklungsprozeß der Chipkarte möglich, da bei Erstellung der in Hardware vorliegenden Software, insbesondere den System-Programmroutinen, noch nicht alle Details endgültig bekannt sein müssen. Beispielsweise kann eine System-Programmroutine auch nur als eine Art Platzhalter vorliegen und später als Ersatz-Programmroutine anwendungsbezogen eingefügt werden.EEPROM can be saved. In this case, replacement program routines, which are intended to replace specific system program routines, can advantageously be stored subsequently at any time, even when the chip card is in operation. This advantageously results in a high degree of adaptability and flexibility in the use of the chip card according to the invention. Furthermore, a faster development process of the chip card is also possible, since when the software present in the hardware, in particular the system program routines, is created, not all the details need to be finally known. For example, a system program routine can also exist only as a kind of placeholder and can later be inserted as a replacement program routine based on the application.
Weitere vorteilhafte Ausführungsformen der Erfindung sind in den entsprechenden Unteransprüchen angegeben. Die Erfindung wird desweiteren anhand der in den nachfolgend kurz angeführten Figuren dargestellten Ausführungsbeispiele weiter erläutert. Dabei zeigt:Further advantageous embodiments of the invention are specified in the corresponding subclaims. The invention is further explained on the basis of the exemplary embodiments shown in the figures briefly listed below. It shows:
FIG 1 beispielhaft den schematischen Aufbau einer Chipkarte gemäß der Erfindung mit einem nichtflüchtigen Lesespeicher für System-Programmroutinen und einem Schreib-Lesespeicher für Ersatz-Programmroutinen, und1 shows an example of the schematic structure of a chip card according to the invention with a non-volatile read-only memory for system program routines and a read-write memory for replacement program routines, and
FIG 2 beispielhaft ein Ablaufdiagramm des erfindungsgemäßen Verfahrens zum Betrieb einer Chipkarte .2 shows an example of a flowchart of the method according to the invention for operating a chip card.
In der Figur 1 ist beispielhaft der schematische Aufbau einer Chipkarte CK gemäß der Erfindung mit einem Betriebssystem H dargestellt, welches zumindest zur Ausführung von nicht änderbaren System-Programmroutinen U, Ul..Un dient. Gemäß dem erfindungsgemäßen Verfahren ruft das Betriebssystem H vor Ausführung einer System-Programmroutine U eine Prüfroutine OMF auf und übergibt an diese einen Kode ID, welcher die je- weilige System-Programmroutine kennzeichnet. Die Prüfroutine OMF ist auch als sogenannte ' Overload Management Function' bezeichenbar . Der Aufruf der Prüfroutine OMF ist in der Figur 1 durch den mit Qll bezeichneten, gestrichelten Pfeil beispielhaft dargestellt. Mittels der Prüfroutine OMF und des übergebenen Kodes ID prüft das Betriebssystem H erfindungsge- mäß, ob der System-Programmroutine U eine entsprechende Ersatz-Programmroutine U' zugeordnet ist. Dies ist in der Figur 1 durch den mit Q12 bezeichneten, gestrichelten Pfeil beispielhaft dargestellt. Ist der aktuellen System-Programm- routine U eine Ersatz-Programmroutine U' zuordenbar, so wird diese ausgeführt, wie beispielhaft durch den gestrichelten Pfeil Q31 dargestellt ist. Andernfalls wird die ursprüngliche System-Programmroutine U ausführt, wie beispielhaft durch die gestrichelten Pfeile Q32 und Q41 dargestellt ist. Insbesondere sind die System-Programmroutinen U, Ul..Un unveränderbar in einem nichtflüchtigen Lesespeicher Sl der Chipkarte CK zur Durchführung des erfindungsgemäßen Verfahrens abgespeichert. Der nichtflüchtige Lesespeicher Sl ist beispielsweise ein sogenanntes ROM. Die Speicheradressen A, AI..An des nichtflüchtigen Lesespeichers Sl geben die direkten oder indirekten Startadressen zum Aufruf der System-Programmroutinen U, UL.Un an. Des weiteren sind im Beispiel der Figur 1 die Ersatz-Programmroutinen U' , Ul ' , U4 ' insbesondere in einem Schreib-Lesespeicher S2 der erfindungsgemäßen Chipkarte CK abgespeichert, wobei die Speicheradressen A' , AI', A4' beispielhaft die entsprechenden Startadressen angeben. Beispielsweise ist der Schreib-Lesespeicher S2 ein sogenanntes EEPROM.FIG. 1 shows an example of the schematic structure of a chip card CK according to the invention with an operating system H, which is used at least for the execution of unchangeable system program routines U, Ul..Un. According to the method according to the invention, the operating system H calls a test routine OMF before executing a system program routine U and transfers to it a code ID which identifies the respective system program routine. The OMF check routine can also be described as a so-called 'overload management function'. The call of the test routine OMF is shown by way of example in FIG. 1 by the dashed arrow denoted by QII. Using the test routine OMF and the transferred code ID, the operating system H checks according to the invention whether the system program routine U is assigned a corresponding replacement program routine U '. This is exemplified in FIG. 1 by the dashed arrow labeled Q12. If the current system program routine U can be assigned a replacement program routine U ', this is carried out, as is shown by the dashed arrow Q31 by way of example. Otherwise, the original system program routine U is executed, as exemplified by the dashed arrows Q32 and Q41. In particular, the system program routines U, Ul..Un are unchangeably stored in a non-volatile read memory S1 of the chip card CK for carrying out the method according to the invention. The non-volatile read memory S1 is, for example, a so-called ROM. The memory addresses A, AI..An of the non-volatile read memory S1 indicate the direct or indirect start addresses for calling the system program routines U, UL.Un. Furthermore, in the example in FIG. 1, the replacement program routines U ', Ul', U4 'are stored in particular in a read / write memory S2 of the chip card CK according to the invention, the memory addresses A', AI ', A4' specifying the corresponding start addresses as examples. For example, the random access memory S2 is a so-called EEPROM.
In einer vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens dienen insbesondere Betriebssystembefehle H1..H3 im Betriebssystem H zum Aufruf von nicht änderbaren System- Programmroutinen U. Im Beispiel der Figur 1 ist dies der Sprungbefehl λCALL' . Ein derartiger Sprungbefehl weist dabei in der Regel eine direkte oder indirekte Sprungadresse JMP auf, welche zur Verzweigung zu einer System-Programmroutine U und zu deren Ausführung führt. Der mit dem Bezugszeichen H2 bezeichnete Sprungbefehl dient dabei im Beispiel der Figur 2 zur direkten Ausführung der System-Programmroutine U2. Die System-Programmroutine U2 ist deshalb nicht durch eine entsprechende Ersatz-Programmroutine ersetzbar. Die mit den Bezugszeichen Hl und H3 bezeichneten Sprungbefehle dienen hingegen zum Aufruf der System-Programmroutinen Ul und U3 , wobei erfindungsgemäß vor deren möglichen Ausführung überprüft wird, ob nicht eine entsprechende Ersatz-Programmroutine U' zugeordnet ist, welche anstelle der System-Programmroutine ausgeführt werden soll. Beispielsweise bei den mit den Bezugszeichen Hl und H3 bezeichneten Sprungbefehlen wurden die ursprünglichen Sprungadressen JMP, welche zur direkten Verzweigung auf die Speicheradressen AI, A3 der System-Programmroutinen Ul und U3 dienen jeweils ersetzt durch eine Sprunga- dresse JMP, welche zur Prüfroutine OMF verzweigt. Dabei werden die in der Figur 1 symbolisch in Klammern dargestellten Kodes ID1 bzw. ID3 insbesondere als Parameter an die Prüfroutine OMF übergeben, so daß diese überprüfen kann, ob entspre- chend zugeordnete Ersatz-Programmroutinen U' vorhanden sind.In an advantageous embodiment of the method according to the invention, operating system commands H1..H3 in particular are used in the operating system H to call unchangeable system program routines U. In the example in FIG. 1, this is the jump command λ CALL '. Such a jump instruction usually has a direct or indirect jump address JMP, which leads to a branch to a system program routine U and to its execution. The jump instruction designated by the reference symbol H2 is used in the example in FIG. 2 for the direct execution of the system program routine U2. The system program routine U2 can therefore not be replaced by a corresponding replacement program routine. The jump commands designated by the reference symbols H1 and H3, on the other hand, serve to call the system program routines U1 and U3, and according to the invention it is checked before their possible execution that an appropriate replacement program routine U 'is not assigned, which are executed instead of the system program routine should. For example, in the case of the jump instructions designated by the reference symbols H1 and H3, the original jump addresses JMP, which serve for direct branching to the memory addresses AI, A3 of the system program routines U1 and U3, were each replaced by a jump address press JMP, which branches to the test routine OMF. The codes ID1 and ID3 shown symbolically in brackets in FIG. 1 are in particular passed as parameters to the test routine OMF so that the latter can check whether there are correspondingly assigned replacement program routines U '.
In einer weiteren vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens ist den Kodes ID derjenigen System- Programmroutinen U, denen eine Ersatz-Programmroutine U' zu- geordnet ist, jeweils eine Speicheradresse A' zugeordnet. Mit der Speicheradresse A' verzweigt das Betriebssystem H zu der entsprechenden Ersatz-Programmroutine U' , wodurch diese ausgeführt wird. Bei der erfindungsgemäßen Chipkarte CK zur Durchführung des erfindungsgemäßen Verfahrens dienen zur Zu- Ordnung zwischen den entsprechenden Kodes ID und den Ersatz- Programmroutinen U' insbesondere erste Zuordnungsmittel Tl. Diese sind beispielsweise in Form einer ersten Zeigertabelle im Schreib-Lesespeicher S2 abgespeichert. Die ersten Zuordnungsmittel Tl dienen vorteilhaft zur Zuordnung der Kodes IDl zu Speicheradressen A' des Schreib-Lesespeichers S2 , welche zu den entsprechenden Ersatz-Programmroutinen U' verzweigen. Dabei geben die Speicheradressen A' in der Regel die direkte oder indirekte Startadresse im Schreib-Lesespeicher S2 an, an welcher die entsprechende Ersatz-Programmroutinen U' abge- speichert ist.In a further advantageous embodiment of the method according to the invention, the codes ID of those system program routines U to which a replacement program routine U 'is assigned are each assigned a memory address A'. With the memory address A ', the operating system H branches to the corresponding replacement program routine U', as a result of which this is executed. In the chip card CK according to the invention for carrying out the method according to the invention, first assignment means T1 are used in particular for the assignment between the corresponding codes ID and the replacement program routines U '. The first assignment means T1 are advantageously used to assign the codes ID1 to memory addresses A 'of the read-write memory S2, which branch to the corresponding replacement program routines U'. The memory addresses A 'generally indicate the direct or indirect start address in the read-write memory S2 at which the corresponding replacement program routines U' are stored.
Im Beispiel der Figur 1 ist den System-Programmroutinen Ul und U4 eine Ersatz-Programmroutine Ul' bzw. U4 ' zugeordnet. Anstelle der System-Programmroutinen Ul und U4 werden durch das Betriebssystem H somit erfindungsgemäß die Ersatz-Programmroutinen Ul ' bzw. U4 ' ausgeführt. Den Kodes IDl und ID4 , welche die System-Programmroutinen Ul bzw. U4 kennzeichnen, sind mittels der ersten Zeigertabelle Tl die entsprechenden Speicheradressen AI' bzw. A4' des Schreib-Lesespeichers S2 zugeordnet, welche zu den entsprechenden Ersatz-Programmroutinen Ul ' bzw. U4 ' verzweigen. Beispielsweise bei Ausführung des Betriebssystembefehls Hl sucht das Betriebssystem H er- findungsgemäß mittels der Prüffunktion OMF in der ersten Zeigertabelle Tl den Kode IDl . Diesem ist im Beispiel der Figur 1 die Speicheradresse AI' zugeordnet, durch welche das Betriebssystem H zur im Schreib-Lesespeicher S2 abgespeicherten Ersatz-Programmroutine Ul ' verzweigt und diese ausführt.In the example in FIG. 1, the system program routines U1 and U4 are assigned a replacement program routine U1 'and U4', respectively. Instead of the system program routines U1 and U4, the operating program H executes the replacement program routines U1 'and U4' according to the invention. The codes ID1 and ID4, which characterize the system program routines U1 and U4, are assigned by means of the first pointer table T1 the corresponding memory addresses AI 'and A4' of the read-write memory S2, which correspond to the corresponding replacement program routines Ul 'and U4. U4 'branch. For example, when the operating system command Hl is executed, the operating system H searches for according to the invention by means of the test function OMF in the first pointer table T1 the code IDl. In the example in FIG. 1, this is assigned the memory address AI ', through which the operating system H branches to the replacement program routine U1' stored in the read-write memory S2 and executes it.
In einer bevorzugten Ausführungsordnung der erfindungsgemäßen Chipkarte CK weist diese zweite Zuordnungsmittel T2 auf, welche insbesondere in Form einer zweiten Zeigertabelle im nichtflüchtigen Speicher Sl abgespeichert sind. Falls das Betriebssystem über die Prüfroutine OMF bei der Prüfung mittels der ersten Zuordnungsmittel Tl feststellt, daß der aktuellen System-Programmroutine U keine Ersatz-Programmroutine U' zugeordnet ist, so werden insbesonder die zweiten Zuordnungs- mittel T2 herangezogen. Die zweiten Zuordnungsmittel T2 dienen zur Zuordnung zwischen den entsprechenden Kodes ID und den ursprünglichen System-Programmroutinen U. Vorteilhaft werden dabei den Kodes ID die Speicheradressen A des nichtflüchtigen Lesespeichers Sl zugeordnet, welche zu den ent- sprechenden System-Programmroutinen U im nichtflüchtigen Le- sespeicher Sl verzweigen.In a preferred embodiment of the chip card CK according to the invention, it has second allocation means T2, which are stored in the form of a second pointer table in the non-volatile memory S1. If the operating system uses the test routine OMF to determine using the first assignment means T1 that the current system program routine U is not assigned a replacement program routine U ', then the second assignment means T2 are used in particular. The second assignment means T2 are used to assign the corresponding codes ID and the original system program routines U. The memory addresses A of the non-volatile read memory S1, which correspond to the corresponding system program routines U in the non-volatile read memory, are advantageously assigned to the codes ID Sl branch.
Vorzugsweise sind nur die Kodes ID, IDl, ID3.. IDm derjenigen System-Programmroutinen U, Ul, U3..Um in den zweiten Zuord- nungsmitteln T2 enthalten, welche auch tatsächlich durch Ersatz-Programmroutinen U' ersetzbar sein sollen. Das sind insbesondere diejenigen System-Programmroutinen U, Ul, U3..Um, bei denen die ursprünglichen Sprungadressen der aufrufenden Betriebssystembefehle Hl, H3 im Betriebssystem H durch die Sprungadresse JMP, OMF der Prüffunktion OMF ersetzt wurden.Preferably, only the codes ID, ID1, ID3 .. IDm of those system program routines U, Ul, U3..Um are contained in the second allocation means T2, which should actually be replaceable by replacement program routines U '. These are, in particular, those system program routines U, Ul, U3..Um in which the original jump addresses of the calling operating system commands Hl, H3 in the operating system H have been replaced by the jump address JMP, OMF of the test function OMF.
Im Beispiel der Figur 1 beispielsweise prüft das Betriebssystem H bei Ausführung des Betriebssystembefehls H3 mittels der Prüffunktion OMF und dem kennzeichnenden Kode ID3 , ob der System-Programmroutine U3 eine entsprechende Ersatz-Programmroutine zugeordnet ist. Da dies hier beispielsweise nicht der Fall ist, wird erfindungsgemäß in der zweiten Zeigertabelle T2 nach dem Kode ID3 gesucht und mittels der dort zugeordneten Speicheradresse A3 zur System-Programmroutine U3 im nichtflüchtigen Lesespeicher Sl verzweigt und diese ausgeführt .In the example in FIG. 1, for example, when the operating system command H3 is executed, the operating system H uses the test function OMF and the identifying code ID3 to check whether the system program routine U3 has been assigned a corresponding replacement program routine. Since this is not the case here, for example, the second pointer table according to the invention T2 searched for the code ID3 and branched to the system program routine U3 in the non-volatile read memory S1 by means of the memory address A3 assigned there and executed it.
Die Prüfroutine OMF ist vorteilhaft im nichtflüchtigen Lesespeicher Sl abgespeichert und ist insbesondere Bestandteil des Betriebssystems H. Dieses umfaßt insbesondere auch die System-Programmroutinen U und die zweiten Zuordnungsmittel T2 , welche bevorzugt ebenfalls im nichtflüchtigen Lesespei- cher Sl abgespeichert sind. Zur Ausführung des Betriebssystems H dient insbesondere eine Datenverarbeitungseinheit P der Chipkarte CK. Die Datenverarbeitungseinheit P weist dabei insbesondere einen Mikroprozessor auf.The test routine OMF is advantageously stored in the non-volatile read memory S1 and is in particular part of the operating system H. This also includes in particular the system program routines U and the second allocation means T2, which are preferably likewise stored in the non-volatile read memory S1. A data processing unit P of the chip card CK is used in particular to execute the operating system H. The data processing unit P has in particular a microprocessor.
In der Figur 2 ist beispielhaft ein Ablaufdiagramm einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens zum Betrieb der Chipkarte CK dargestellt. Die Bezugszeichen beziehen sich dabei auch auf die beispielhafte Darstellung der Figur 1. Gemäß dem erfindungsgemäßen Verfahren wird vorFIG. 2 shows an example of a flow chart of a preferred embodiment of the method according to the invention for operating the chip card CK. The reference numerals also refer to the exemplary illustration in FIG. 1. According to the method according to the invention,
Ausführung einer nicht änderbaren System-Programmroutine U die Prüfroutine OMF aufgerufen und dabei an diese ein Kode ID übergeben, welcher die jeweilige System-Programmroutine U kennzeichnet und dieser insbesondere zugeordnet ist. Der Auf- ruf der Prüfroutine OMF ist in Figur 2 beispielhaft durch die Blöcke Ql, Q2 und den Pfeil Qll symbolisch dargestellt. Mittels der Prüfroutine OMF und des Kodes ID prüft das Betriebssystem H, ob der System-Programmroutine U eine Ersatz-Programmroutine U' zugeordnet ist, indem der Kode ID in der er- sten Zeigertabelle Tl gesucht wird. Dies ist beispielhaft durch den Pfeil Q12 und die Raute Q3 dargestellt. Wird der Kode ID in der ersten Zeigertabelle Tl gefunden, so wird die im Schreib-Lesespeicher S2 abgespeicherte Ersatz-Programmroutine U' ausführt, wie durch den Pfeil Q31 und den Block Q6 dargestellt ist. Wird hingegen der Kode ID in der ersten Zeigertabelle Tl nicht gefunden, so wird dieser in der zweiten Zeigertabelle T2 gesucht und die im nichtflüchtigen Lesespei- eher Sl abgespeicherte, ursprüngliche System-Programmroutine U ausführt. Dies ist in Figur 2 beispielhaft durch die Pfeile Q32 und Q41 und die Blöcke Q4 und Q5 symbolisch dargestellt. Execution of a system program routine U that cannot be changed calls the test routine OMF and in the process transfers a code ID to it, which identifies the respective system program routine U and in particular is assigned to it. The call of the test routine OMF is represented symbolically in FIG. 2 by the blocks Q1, Q2 and the arrow Qll. Using the check routine OMF and the code ID, the operating system H checks whether the system program routine U is assigned a replacement program routine U 'by searching for the code ID in the first pointer table T1. This is exemplified by the arrow Q12 and the diamond Q3. If the code ID is found in the first pointer table T1, the replacement program routine U 'stored in the read / write memory S2 is executed, as shown by the arrow Q31 and the block Q6. If, on the other hand, the code ID is not found in the first pointer table T1, it is searched for in the second pointer table T2 and the data in the non-volatile reading memory Sl executes the original system program routine U stored. This is symbolically represented in FIG. 2 by arrows Q32 and Q41 and blocks Q4 and Q5.

Claims

Patentansprüche claims
1. Verfahren zum Betrieb einer Chipkarte (CK) mit einem Betriebssystem (H) zur Ausführung von nicht änderbaren System- Programmroutinen (U, Ul-.Un), welches1. Method for operating a chip card (CK) with an operating system (H) for executing unchangeable system program routines (U, Ul-.Un), which
a) vor Ausführung einer System-Programmroutine (U, Ul, U3..Um)a) before executing a system program routine (U, Ul, U3..Um)
al) eine Prüfroutine (OMF) aufruft (Qll) undal) calls a test routine (OMF) (Qll) and
a2) einen Kode (ID, IDl, ID3 ) an die Prüfroutine (OMF) übergibt, welcher die jeweilige System-Programmroutine kennzeichnet (Qll) , unda2) transfers a code (ID, IDl, ID3) to the test routine (OMF) which identifies the respective system program routine (Qll), and
b) mittels der Prüfroutine (OMF) und des Kodes (ID) prüft, ob der System-Programmroutine (Ul, U3..Um) eine Ersatz- Programmroutine (Ul', U4') zugeordnet ist (Q2, Q21, Q3 ) , undb) by means of the check routine (OMF) and the code (ID) checks whether the system program routine (Ul, U3..Um) is assigned a replacement program routine (Ul ', U4') (Q2, Q21, Q3), and
bl) in diesem Fall (Q31) die Ersatz-Programmroutine (U' , Ul', U4') ausführt (Q6) , undbl) in this case (Q31) executes the replacement program routine (U ', Ul', U4 ') (Q6), and
b2) andernfalls (Q32) die System-Programmroutine (U, U3 , Um) ausführt (Q4, Q41, Q5) .b2) otherwise (Q32) executes the system program routine (U, U3, Um) (Q4, Q41, Q5).
2. Verfahren nach Anspruch 1, wobei im Betriebssystem (H) bei Betriebssystembefehlen (Hl, H3 , CALL) , welche zum Aufruf von nicht änderbaren System-Programmroutinen (Ul, U3..Um) dienen, zumindest die ursprüngliche Sprungadresse durch eine zur Prüfroutine (OMF) verzweigende Sprungadresse (JMP) ersetzt wird (Ql) .2. The method according to claim 1, wherein in the operating system (H) for operating system commands (Hl, H3, CALL), which are used to call unchangeable system program routines (U1, U3..Um), at least the original jump address by a check routine (OMF) branching branch address (JMP) is replaced (Ql).
3. Verfahren nach einem der vorangegangen Ansprüche, wobei den Kodes (ID, IDl, ID4) der System-Programmroutinen (Ul, U4) denen eine Ersatz-Programmroutine (U') zugeordnet ist, jeweils eine Speicheradresse (S2, Tl, A' ) zugeordnet ist, mit welcher das Betriebssystem (H) zumindest zu der entsprechenden Ersatz-Programmroutine (U' , Ul ' , U4 ' ) verzweigt. 3. The method according to any one of the preceding claims, wherein the codes (ID, IDl, ID4) of the system program routines (U1, U4) to which a replacement program routine (U ') is assigned, in each case a memory address (S2, Tl, A' ) with which the operating system (H) branches at least to the corresponding replacement program routine (U ', Ul', U4 ').
4. Chipkarte (CK) zur Durchführung des Verfahrens nach einem der vorangegangen Ansprüche, mit4. Chip card (CK) for performing the method according to one of the preceding claims, with
a) einem nichtflüchtigen Lesespeicher (Sl) zumindest zur Abspeicherung der nicht änderbaren System-Programmroutinen (U, Ul..Un) , unda) a non-volatile read-only memory (S1) at least for storing the unchangeable system program routines (U, Ul..Un), and
b) einem Schreib-Lesespeicher (S2) zumindest zur Abspeicherung der Ersatz-Programmroutinen (U' , Ul ' , U4 ' ) .b) a read-write memory (S2) at least for storing the replacement program routines (U ', Ul', U4 ').
5. Chipkarte (CK) nach Anspruch 4, mit ersten Zuordnungsmit- teln (Tl) , mit welchen zur Prüfung (Q3), ob der aktuellen System-Programmroutine (Ul, U3..Um) eine Ersatz-Programmroutine (Ul', U4') zugeordnet ist, eine Zuordnung zwischen den entsprechenden Kodes (IDl, ID4) und den Ersatz-Programmroutinen (U', Ul', U4') bewirkbar ist (Q31) .5. Chip card (CK) according to claim 4, with first allocation means (Tl), with which to check (Q3) whether the current system program routine (Ul, U3..Um) a replacement program routine (Ul ', U4 ') is assigned, an assignment between the corresponding codes (ID1, ID4) and the replacement program routines (U', Ul ', U4') can be effected (Q31).
6. Chipkarte (CK) nach Anspruch 5, wobei die ersten Zuordnungsmittel (Tl) zur Zuordnung der Kodes (IDl, ID4) zu Speicheradressen (A' , AI', A4') des Schreib-Lesespeichers (S2) dienen, welche zu den entsprechenden Ersatz-Programmroutinen (U' , Ul', U4') verzweigen.6. Chip card (CK) according to claim 5, wherein the first assignment means (Tl) for assigning the codes (IDl, ID4) to memory addresses (A ', AI', A4 ') of the read-write memory (S2) which serve to the branch corresponding replacement program routines (U ', Ul', U4 ').
7. Chipkarte (CK) nach einem der Ansprüche 4 bis 6, mit zweiten Zuordnungsmitteln (T2), mit welchen zur Prüfung (Q3) für den Fall, daß einer System-Programmroutine (Ul, U3..Um) keine Ersatz-Programmroutine (Ul', U4 ' ) zugeordnet ist (Q32) , eine Zuordnung zwischen den entsprechenden Kodes (IDl, ID3..IDm) und den System-Programmroutine (Ul, U3..Um) bewirkbar ist.7. Chip card (CK) according to one of claims 4 to 6, with second allocation means (T2), with which to test (Q3) in the event that a system program routine (U1, U3..Um) no replacement program routine ( Ul ', U4') is assigned (Q32), an assignment between the corresponding codes (IDl, ID3..IDm) and the system program routine (Ul, U3..Um) can be effected.
8. Chipkarte (CK) nach Anspruch 7, wobei die zweiten Zuord- nungsmittel (T2) zur Zuordnung der Kodes (IDl, ID3.. IDm) zu8. Chip card (CK) according to claim 7, wherein the second assignment means (T2) for assigning the codes (IDl, ID3 .. IDm)
Speicheradressen (A, AI, A3..Am) des nichtflüchtigen Lesespeichers (Sl) dienen, welche zu den entsprechenden System- Programmroutinen (Ul, U3..Um) verzweigen. Memory addresses (A, AI, A3..Am) of the non-volatile read-only memory (Sl) serve which branch to the corresponding system program routines (Ul, U3..Um).
9. Chipkarte (CK) nach einem der Ansprüche 5 bis 8, wobei die ersten Zuordnungsmittel (Tl) in Form einer ersten Zeigertabelle im Schreib-Lesespeicher (S2) abgespeichert sind.9. Chip card (CK) according to one of claims 5 to 8, wherein the first assignment means (Tl) are stored in the form of a first pointer table in the read-write memory (S2).
10. Chipkarte (CK) nach einem der Ansprüche 7 bis 9, wobei die zweiten Zuordnungsmittel (T2) in Form einer zweiten Zeigertabelle im nichtflüchtigen Lesespeicher (Sl) abgespeichert sind.10. Chip card (CK) according to one of claims 7 to 9, wherein the second allocation means (T2) are stored in the form of a second pointer table in the non-volatile read-only memory (S1).
11. Chipkarte (CK) nach einem der Ansprüche 4 bis 10, wobei die Prüfroutine (OMF) im nichtflüchtigen Lesespeicher (Sl) abgespeichert ist. 11. Chip card (CK) according to one of claims 4 to 10, wherein the test routine (OMF) is stored in the non-volatile read memory (S1).
EP98942456A 1997-06-23 1998-06-23 Chip card for executing non-modifiable system program routines and replacement program routines allocated thereto, and method for operating the chip card Withdrawn EP0992027A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19726584 1997-06-23
DE19726584 1997-06-23
PCT/DE1998/001719 WO1998059325A2 (en) 1997-06-23 1998-06-23 Chip card for executing non-modifiable system program routines and replacement program routines allocated thereto, and method for operating the chip card

Publications (1)

Publication Number Publication Date
EP0992027A2 true EP0992027A2 (en) 2000-04-12

Family

ID=7833367

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98942456A Withdrawn EP0992027A2 (en) 1997-06-23 1998-06-23 Chip card for executing non-modifiable system program routines and replacement program routines allocated thereto, and method for operating the chip card

Country Status (3)

Country Link
EP (1) EP0992027A2 (en)
CA (1) CA2294469A1 (en)
WO (1) WO1998059325A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056848A (en) * 1999-08-19 2001-02-27 Nec Corp Command execution control method for ic card, ic card, and recording medium where ic card program is recorded
DE10336568B4 (en) * 2003-08-08 2019-06-19 Giesecke+Devrient Mobile Security Gmbh Operating system for a portable data carrier
DE102006051336A1 (en) 2006-10-31 2008-05-08 Giesecke & Devrient Gmbh Portable data carrier e.g. chip card, function executing method for use in e.g. mobile telephone, involves calling incompatibility routine of data carrier, when incompatibility of function with mobile telephone is found
JP5795921B2 (en) * 2011-09-21 2015-10-14 株式会社東芝 IC card, portable electronic device, and IC card control method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03240127A (en) * 1990-02-17 1991-10-25 Hitachi Maxell Ltd Program control system
FR2667417B1 (en) * 1990-10-02 1992-11-27 Gemplus Card Int MICROPROCESSOR CARD DESIGNED TO RECEIVE MULTIPLE PROGRAMS IN PROGRAMMABLE MEMORY.
FR2683357A1 (en) * 1991-10-30 1993-05-07 Philips Composants MICROCIRCUIT FOR PROTECTED PROGRAMMABLE MEMORY CHIP CARD.
EP0583006B2 (en) * 1992-08-13 2006-11-29 Matsushita Electric Industrial Co., Ltd. IC card with hierarchical file structure

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9859325A2 *

Also Published As

Publication number Publication date
WO1998059325A2 (en) 1998-12-30
WO1998059325A3 (en) 1999-04-22
CA2294469A1 (en) 1998-12-30

Similar Documents

Publication Publication Date Title
DE60010420T2 (en) Automatic regression testing of workstation software
DE19633466C2 (en) Post-initialization of chip cards
DE69814174T2 (en) JAVA RUNTIME SYSTEM WITH CHANGED CONSTANT COLLECTION
DE19536548A1 (en) Generation of software tools for initialisation and personalising of memory card, smart card
DE102006029690A1 (en) Maintaining identification of an electronic control unit during reprogramming events
DE102004061597A1 (en) Operating system that enables the running of real-time programs, control methods and methods for loading DLLs
DE60224937T2 (en) METHOD AND ARRANGEMENT FOR ASSOCIATING APPROVED APPLET FILES
DE19840029C1 (en) Method for linking program modules loaded into a main memory of a processor on a chip card
DE69837376T2 (en) Method and system for merging switchboard databases
WO2002019264A1 (en) Method for virtually enlarging the stack of a portable data carrier
EP1352318B1 (en) Microprocessor circuit for portable data carriers
WO1998059325A2 (en) Chip card for executing non-modifiable system program routines and replacement program routines allocated thereto, and method for operating the chip card
WO2005055052A2 (en) Java smart card chip comprising a memory area reserved for global variables
EP1021791B1 (en) Chip card with memory for application dependent reloadable programs
EP2284809A2 (en) Chip card and method for software-based modification of a chip card
WO2004100090A1 (en) Memory management in a portable data carrier
EP1709534B1 (en) The running of a program by a virtual machine
WO2001006347A1 (en) Stack of operands and method for stacking of operands
EP1656803B1 (en) Method for operating a chip card on which a plurality of applications are implemented
DE102004006308B4 (en) Method for modifying program code of a portable data carrier by means of patch data
DE102008044808B4 (en) Method for generating program code in an operating system memory and an application memory of a data carrier
DE4102197A1 (en) A SYSTEM AND METHOD FOR CONTROLLING A SHARED DATA STATION BY USING A MEMORY CARD
EP1920328B1 (en) Operation code switching
DE102004014885B4 (en) Method for optimizing a program of a portable data carrier
WO2002099650A2 (en) Method for managing a chip card memory

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19991217

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT CH DE DK ES FR GB IT LI NL PT SE

17Q First examination report despatched

Effective date: 20010528

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20011208