EP0992027A2 - Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte - Google Patents

Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte

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
English (en)
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
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
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, Siemens Corp filed Critical Siemens AG
Publication of EP0992027A2 publication Critical patent/EP0992027A2/de
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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (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)
  • Storage Device Security (AREA)

Abstract

Die Chipkarte (CK) gemäss der Erfindung weist ein Betriebssystem (H) zur Ausführung von nicht änderbaren System-Programmroutinen (U) auf. Dieses ruft vor Ausführung einer System-Programmroutine (U) eine Prüfroutine (OMF) auf und übergibt an diese einen Kode ID, welcher die jeweilige System-Programmroutine (U) kennzeichnet (Q11). 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 (Q12) und führt in diesem Fall (Q31) die Ersatz-Programmroutine (U') aus. Andernfalls (Q32) wird die System-Programmroutine (U) ausgeführt (Q41). Die nicht änderbaren System-Programmroutinen (U) sind insbesondere in einem nichtflüchtigen Lesespeicher (S1, ROM), die Ersatz-Programmroutine (U') insbesondere in einem Schreib-Lesespeicher (S2, EEPROM) der Chipkarte (CK) abgespeichert.

Description

Beschreibung
Chipkarte zur Ausführung von nicht änderbaren System-Programmroutinen und diesen zugeordneten Ersatz-Programmrou- tinen, sowie Verfahren zum Betrieb der Chipkarte
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 der
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.
Die Programmroutinen, insbesondere System-Programmroutinen, welche beispielsweise Bestandteil eines Betriebssystems der
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) .
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.
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.
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.
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.
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 einem
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.
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:
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, und
FIG 2 beispielhaft ein Ablaufdiagramm des erfindungsgemäßen Verfahrens zum Betrieb einer Chipkarte .
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.
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 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.
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 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.
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.
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 .
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.
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 vor
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.

Claims

Patentansprüche
1. Verfahren zum Betrieb einer Chipkarte (CK) mit einem Betriebssystem (H) zur Ausführung von nicht änderbaren System- Programmroutinen (U, Ul-.Un), welches
a) vor Ausführung einer System-Programmroutine (U, Ul, U3..Um)
al) eine Prüfroutine (OMF) aufruft (Qll) und
a2) einen Kode (ID, IDl, ID3 ) an die Prüfroutine (OMF) übergibt, welcher die jeweilige System-Programmroutine kennzeichnet (Qll) , und
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 ) , und
bl) in diesem Fall (Q31) die Ersatz-Programmroutine (U' , Ul', U4') ausführt (Q6) , und
b2) andernfalls (Q32) die System-Programmroutine (U, U3 , Um) ausführt (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) .
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.
4. Chipkarte (CK) zur Durchführung des Verfahrens nach einem der vorangegangen Ansprüche, mit
a) einem nichtflüchtigen Lesespeicher (Sl) zumindest zur Abspeicherung der nicht änderbaren System-Programmroutinen (U, Ul..Un) , und
b) einem Schreib-Lesespeicher (S2) zumindest zur Abspeicherung der Ersatz-Programmroutinen (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) .
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.
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.
8. Chipkarte (CK) nach Anspruch 7, wobei die zweiten Zuord- nungsmittel (T2) zur Zuordnung der Kodes (IDl, ID3.. IDm) zu
Speicheradressen (A, AI, A3..Am) des nichtflüchtigen Lesespeichers (Sl) dienen, welche zu den entsprechenden System- Programmroutinen (Ul, U3..Um) verzweigen.
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.
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.
11. Chipkarte (CK) nach einem der Ansprüche 4 bis 10, wobei die Prüfroutine (OMF) im nichtflüchtigen Lesespeicher (Sl) abgespeichert ist.
EP98942456A 1997-06-23 1998-06-23 Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte Withdrawn EP0992027A2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19726584 1997-06-23
DE19726584 1997-06-23
PCT/DE1998/001719 WO1998059325A2 (de) 1997-06-23 1998-06-23 Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte

Publications (1)

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

Family

ID=7833367

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98942456A Withdrawn EP0992027A2 (de) 1997-06-23 1998-06-23 Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte

Country Status (3)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056848A (ja) * 1999-08-19 2001-02-27 Nec Corp Icコードのコマンド実行制御方法、icカード、icカードプログラムを記録した記録媒体
DE10336568B4 (de) * 2003-08-08 2019-06-19 Giesecke+Devrient Mobile Security Gmbh Betriebssystem für einen tragbaren Datenträger
DE102006051336A1 (de) 2006-10-31 2008-05-08 Giesecke & Devrient Gmbh Kompatibilitätsprüfung in einem portablen Datenträger
JP5795921B2 (ja) * 2011-09-21 2015-10-14 株式会社東芝 Icカード、携帯可能電子装置、icカードの制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03240127A (ja) * 1990-02-17 1991-10-25 Hitachi Maxell Ltd プログラム制御システム
FR2667417B1 (fr) * 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
EP0583006B2 (de) * 1992-08-13 2006-11-29 Matsushita Electric Industrial Co., Ltd. IC-Karte mit hierarchischer Dateienstruktur

Non-Patent Citations (1)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69123775T2 (de) Programmsteuersystem für eine tragbare Datenspeichervorrichtung
DE60010420T2 (de) Automatisches Regressionstesten von Arbeitsplatz-Software
DE69932371T2 (de) Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms
DE69029210T2 (de) Verwaltungsverfahren und Vorrichtung zur Datenspeicherung
DE69814174T2 (de) Java laufzeitsystem mit veränderter sammlung von konstanten
DE19633466A1 (de) Nachinitialisierung von Chipkarten
DE19536548A1 (de) Vorrichtung und Verfahren zur vereinfachten Erzeugung von Werkzeugen zur Initialisierung und Personalisierung von und zur Kommunikation mit einer Chipkarte
DE60001153T2 (de) Aktualisierung von 'nur zu lesen' softwaremodulen
DE102004061597A1 (de) Betriebssystem, das den Lauf von Echtzeitprogrammen ermöglicht, Steuerungsverfahren hierfür sowie Verfahren zum Laden von DLLs
DE102005040075A1 (de) Dynamisches Verbinden von Modulen in einer Vorbetriebssystemumgebung
DE19840029C1 (de) Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte
DE60224937T2 (de) Verfahren und anordnung zum verknüpfen von verwandelten appletdateien
WO2002019264A1 (de) Verfahren zur virtuellen vergrösserung des stacks eines tragbaren datenträgers
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
WO1998059325A2 (de) Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte
EP1695207A2 (de) Java smart card chip mit für globale variablen reserviertem speicherbereich
EP1021791B1 (de) Chipkarte mit speicher für anwendungsabhängig nachladbare programme
WO2004100090A1 (de) Speicherverwaltung bei einem tragbaren datenträger
EP2284809A2 (de) Chipkarte und Verfahren zur softwarebasierten Modifikation einer Chipkarte
WO2001006347A1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers
DE10324384B3 (de) Behandlung eines Fehlerereignisses bei der Installation eines Anwendungsprogramms in einem tragbaren Datenträger
EP1709534B1 (de) Ausführung eines programms durch eine virtuelle maschine
EP1656803B1 (de) Verfahren zum betreiben einer chipkarte, auf der mehrere applikationen implementiert sind
DE102008044808A1 (de) Verfahren zur Generierung von Programmcode in einem Betriebssystemspeicher und einem Applikationsspeicher eines Datenträgers
DE10328238B4 (de) Verfahren zum Laden von Chipkarten mit Initialisierungs- und/oder Personalisierungsdaten

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