WO2007014699A1 - Method for executing a succession of very similar commands in a portable data storage medium - Google Patents

Method for executing a succession of very similar commands in a portable data storage medium Download PDF

Info

Publication number
WO2007014699A1
WO2007014699A1 PCT/EP2006/007452 EP2006007452W WO2007014699A1 WO 2007014699 A1 WO2007014699 A1 WO 2007014699A1 EP 2006007452 W EP2006007452 W EP 2006007452W WO 2007014699 A1 WO2007014699 A1 WO 2007014699A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
sequence
operations
commands
portable data
Prior art date
Application number
PCT/EP2006/007452
Other languages
German (de)
French (fr)
Inventor
Manfred Hockauf
Frank Schmalz
Torge Kuhn
Werner Ness
Original Assignee
Giesecke & Devrient Gmbh
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 Giesecke & Devrient Gmbh filed Critical Giesecke & Devrient Gmbh
Priority to EP06776465A priority Critical patent/EP1922618A1/en
Publication of WO2007014699A1 publication Critical patent/WO2007014699A1/en

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/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data

Definitions

  • the invention relates to a method for executing a sequence of similar commands in a portable data carrier. Furthermore, the invention relates to a portable data carrier.
  • a data connection to a terminal is usually established, via which the portable data carrier commands are transmitted for execution.
  • An example of such an application is the execution of transactions at a terminal of a point-of-sale or a credit institution with a chip card.
  • the personalization of the portable data carrier can also be carried out with the aid of commands which are transmitted to the portable data carrier by a personalization computer.
  • the portable data carrier in particular, is assigned the UPDATE BINARY command defined in the ISO / IEC 7816 standard, with the aid of which data can be written to the EEPROM memory of the portable data carrier.
  • the amount of data that can be transferred with a single UPDATE BINARY command is limited to 255 bytes.
  • the UPDATE BINARY command must therefore be transmitted and executed several times. Since an offset in the file to be described can be coded by means of 2 bytes (P1 and P2), blocks of 255 bytes of the larger amount of data can be successively written into the file one after the other. However, this has the consequence that a relatively long period of time is required for the writing process. A corresponding problem also exists with regard to a number of other types of commands.
  • command types such as the command PUT DATA 7
  • a linked chain of commands Common chaining for extended-length commands
  • Each command of the chain of commands transfers part of the data to be processed. After the receipt of the last data with the last command of a chain, the data of the individual commands of the chain which are hung together are processed as specified by the command type.
  • the invention has for its object to minimize the time required for a portable data carrier for the execution of a sequence of similar commands.
  • the method according to the invention serves to execute a sequence of a plurality of similar commands in a portable data carrier, an identical set of operations being provided for each of these commands.
  • the peculiarity of the method according to the invention is that the execution of operations of the set of operations not required for each command of the sequence is distributed over the sequence of commands such that each of these operations is executed at least once in total and at least one of these operations is executed at least one command is omitted.
  • the invention has the advantage that the sequence of commands can be executed very quickly by omitting one or more operations, the result being ultimately the same as if the complete set of operations were executed for each command. Differences arise only when the sequence of commands, for example because of an error, is not completely processed. The time savings are especially great when time-consuming operations are omitted.
  • a further advantage is that it is possible to carry out the method according to the invention with already existing commands and mechanisms, thus ensuring universal applicability of the method according to the invention.
  • the at least one operation of the set of operations in the execution of the sequence of commands is performed only once in total. With regard to this operation, the greatest possible time saving is realized.
  • the at least one operation is performed at the first or last command of the sequence.
  • at least one further command can be provided between the first and the last command of the sequence, in which a combination of operations deviating from the first and / or last command is executed.
  • several further commands can be provided, in which - A -
  • a further approach to saving processing time is to partially execute operations of a command which is still to be expected in the sequence of the command in advance if unused time is available in the period before the expected command.
  • An example of unused processing time could be a waiting time in the context of communication of the commands or a waiting time for the response of a component of the portable data carrier, such as the execution notification of a memory management unit (MMU) or a cryptographic unit.
  • Unused processing times may, for example, also be periods between sending a response to a command of a sequence and receiving the next command of the sequence.
  • At least one operation is preferably carried out which is reserved for the last command of the sequence in the event of a faultless pass. It can thereby be achieved that the necessary final measures are carried out even in the case of a fault, thereby ensuring the operability of the portable data carrier.
  • the commands are transmitted to the portable data carrier.
  • data is transmitted together with the commands, wherein the total amount of data transmitted with the sequence of commands is greater than that for the transmission with a command of the sequence maximum allowed amount of data.
  • the commands can be linked together for transmission by chaining.
  • the commands can be transmitted, for example, from a terminal to the portable data carrier.
  • the commands are each transmitted in the form of an APDU to the portable data carrier.
  • APDUs are widely used, so that the use of the method according to the invention in many existing systems is possible by the use of APDUs.
  • the commands may, in particular, be commands for writing data to a file of the portable data carrier.
  • defined values can be written to the file when an error occurs.
  • Time savings can be achieved by checking access conditions for writing to the file of the portable data carrier only at the first command of the sequence. Likewise, it saves time if only at the last command of the sequence a check code for the file of the portable data carrier is determined.
  • the sequence of commands can be carried out, for example, as part of a personalization of the portable data carrier. There occur on the one hand on high amounts of data. On the other hand, lead time is a significant cost factor for personalization.
  • the commands can each be the UPDATE BINARY command defined in the ISO / IEC 7816 standard.
  • the portable data carrier according to the invention has a processor unit and a memory.
  • a functionality for executing a sequence of a plurality of similar commands is implemented, for their execution in each case an identical sentence is provided by operations.
  • the peculiarity of the portable data carrier according to the invention is that the functionality distributes the execution of the operations over the sequence of commands such that each operation of the set of operations is performed at least once and at least one operation of the set of operations in the Execution of at least one command is omitted.
  • the portable data carrier according to the invention is designed as a chip card.
  • the portable data carrier is designed in each case as a chip card.
  • the invention is not limited to smart cards, but equally applies to other equipped with computing capacity portable media.
  • a portable data carrier in the sense of the invention is to be regarded as a computer system in which the resources, i. Memory resources and / or computing capacity (computing power) are limited, e.g. a chip card (smart card, microprocessor chip card) or a token or a chip module for installation in a chip card or in a token.
  • the portable data carrier has a body in which a CPU (a microprocessor) is arranged and which may have any standardized or non-standardized shape, for example the shape of a flat chip card without a standard or a standard such as e.g. ISO 7810 (e.g., ID-I, ID-00, ID-000) or volumetric token.
  • the portable data carrier may further have one or more arbitrary interfaces for contactless and / or contact communication with a reader or data processing system (e.g., personal computer, workstation, server).
  • Show it: 1 is a highly simplified block diagram for an embodiment of a system with a smart card and a terminal,
  • Fig. 2 shows the structure of an APDU
  • Fig. 3 shows the procedure of the invention in the processing of a sequence of commands.
  • the chip card 1 shows a greatly simplified block diagram for an exemplary embodiment of a system having a chip card 1 and a terminal 2.
  • the chip card 1 has a processor unit 3 which controls the functional sequences of the chip card 1 and is also referred to as a central processing unit, abbreviated CPU , Furthermore, the chip card 1 has an interface 4 for input and output of data, to which a contact pad 5 is connected.
  • the chip card 1 also has a memory 6, which consists of a non-volatile memory 7, a nonvolatile memory 8 and a volatile memory 9. Alternatively, another structure of the memory 6 is possible.
  • the processor unit 3 is connected to the interface 4, the non-volatile memory 7, the nonvolatile memory 8 and the volatile memory 9.
  • non-volatile memory 7 data is stored, which remain unchanged during the entire life of the chip card 1.
  • data is used in the following very general in the sense of any information, regardless of their content and it is, for example, programs, parameters, personal information, keys, etc. subsumed.
  • the operating system of the chip card 1 is stored in the non-volatile memory 7.
  • the volatile memory 9 serves as a main memory for the processor unit 3, so that secret data, for example, when performing calculations in the volatile memory 9 are cached. In the volatile memory 9, the memory contents are retained only as long as the chip card 1 is supplied with an operating voltage.
  • the nonvolatile memory 8 can be rewritten over and over again during the lifetime of the chip card 1. The respective memory content is maintained even if the chip card 1 is not supplied with the operating voltage.
  • the nonvolatile memory 8 for example, additions to the operating system, application software, keys, personal data, etc. are stored.
  • the device electronics 10 may have similar functional components, as shown for the chip card 1.
  • the contacting unit 11 serves for contact contacting of the contact field 5 of the chip card 1 in order to form a data connection between the terminal 2 and the chip card 1.
  • the terminal 2 may be, for example, a point-of-sale terminal or another terminal for carrying out transactions with the aid of the chip card 1.
  • the terminal 2 can be part of a personalization system with the aid of which a personalization of the chip card 1 is carried out. This case will be used as an example for the further description.
  • APDUs Application Protocol Data Units
  • ISO / IEC 7816 The structure of such APDU is shown in FIG.
  • Fig. 2 shows the structure of an APDU.
  • the APDU comprises a class byte CLA, an instruction byte INS, three parameter bytes P1, P2 and P3 and a data field DATA.
  • the class byte CLA can be used to identify applications and their specific instruction set or used to identify secure messaging.
  • the struction byte INS represents a coding of the one contained in the APDU
  • the data field DATA contains the data sent to the chip card 1, which are intended for processing with the command contained in the APDU.
  • the size of the data field DATA is limited, so that a plurality of APDUs are transmitted successively to the chip card 1 if the data to be transmitted exceeds the size of the data field DATA. In the case of a conventional chip card, this would lead in each case to a complete execution of the command with the data transmitted in each case in the data field DATA for each transmitted APDU. In other words, there would be several similar commands in each case
  • Fig. 3 shows the procedure according to the invention in the execution of a sequence of commands.
  • the illustrated sequence relates to the command UPDATE BINARY, which is transmitted, for example, as part of a personalization of the chip card 1 several times in succession from the terminal 2 to the chip card 1.
  • the process begins with a step Sl, in which an APDU is transmitted from the terminal 2 to the chip card 1.
  • the class byte CLA of the APDU has the value "IX" indicating that at least one more command follows, and the instruction byte INS has the value "D6".
  • This is the coding for the command UPDATE BINARY and therefore also in all other APDUS, which are transmitted in the context of the command sequence from the terminal 2 to the chip card 1, in identical form.
  • the Parameter Byte Pl indicates via a Short File Identifier SFI into which file should be written. Alternatively it is also possible to write to the currently selected file.
  • Pl indicates the high-order byte of the offset.
  • the parameter byte P2 indicates the least significant byte of the offset.
  • Pl and P2 indicate the high order and low order bytes of the offset.
  • the parameter byte P3 indicates the respective length Lc of the data field DATA for all APDUs of the command sequence.
  • the data to be written in are contained in the data field DATA for all APDUs of the command sequence.
  • Step S1 is followed by a step S2, in which the command transmitted with the APDU is executed by the chip card 1.
  • the corresponding file is selected. Furthermore, as part of the execution of the UPDATE BINARY command, the access conditions of the file and, if necessary, other conditions are checked. It also performs actions required by secure messaging. Furthermore, the transmitted data is written into the file, which is preferably applied in the nonvolatile memory 8 of the chip card 1, and a flag is set, which indicates that a sequence of UPDATE BINARY commands is executed in the manner according to the invention. This completes the execution of the command. This means that, for example, the update of the check sum of the file provided in a conventional execution of the UPDATE BINARY command is not performed. The checksum is also referred to as Error Detection Code, EDC for short.
  • EDC Error Detection Code
  • Step S2 is followed by a step S3, in which the chip card 1 informs the terminal 2 that the command has been executed.
  • the terminal 2 then transmits another APDU to the chip card 1 in a step S4.
  • This APDU differs from the APDU transmitted in step S1 only in that the parameter byte Pl definitively indicates the high-order byte of the offset and that the concrete values for the at step Sl designated content may differ.
  • the offset specified in the parameter Bytes Pl and P2 in a variant of Step S4 may have a different value than the offset indicated in Step S1.
  • the data length Lc given in the parameter byte P3 and the data contained in the data field DATA may be different in the steps S1 and S4.
  • the content of the class byte CLA and the instruction byte INS is in the However, steps S1 and S4 are identical, ie they are each the same command with possibly different parameters or data.
  • step S5 The UPDATE BINARY command transmitted in step S4 is executed in a subsequent step S5.
  • This embodiment deviates from the execution at step S2 in a manner that goes beyond what is caused by the mentioned differences in the parameters or data.
  • the access conditions of the file are not checked in step S5, but only a few necessary conditions for the execution of the command are checked.
  • step S6 a step S6 follows, in which the smart card 1 tells the terminal 2 that the command has been executed. It then follows a step S7, in which the terminal 2 of the chip card 1 another APDU with the command
  • command chaining which is also referred to as level 7 chaining
  • level 7 chaining it is possible to mark a defined sequence of commands, so that a command from the operating system of the chip card 1 as the first command of the sequence and another command as the last command of the sequence can be recognized.
  • the operating system is implemented in such a way that the processing steps intended for the complete execution of the command are distributed over the sequence of commands. This means that not all processing steps are performed on all commands.
  • processing steps which serve to ensure the operability can be postponed until the last command of the sequence. In case of premature termination of the sequence, the processing steps to ensure the operability are also performed.
  • no proprietary commands or proprietary mechanisms for linking commands are needed, but the commands and command chaining can be used according to the standard
  • ISO / IEC 7816 can be used.
  • the operating system is modified and extended in such a way that it can use the sequence information available in command chaining to logically combine several commands.
  • the error handling must be adjusted.
  • the command sequence is interrupted and the checksum EDC of the written file is updated. This is necessary, for example, if the parameter byte P1 is a short file identifier and the associated UPDATE BINARY command is not the first command in the sequence. The same applies if a command other than an UPDATE BINARY command is transmitted to the chip card 1, if the four lower-order bits of the CLA class byte change, if the command execution fails, or if secure messaging fails.
  • the file is populated with known content to ensure that all cells of the nonvolatile memory 8 are in a stable state and the checksum EDC is updated.
  • An existing roll-forward mechanism can be used for this.
  • the invention can be used not only in a sequence of several UPDATE BINARY commands, but also in sequences of other commands.

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention relates to a method for executing a succession comprising a plurality of very similar commands in a portable data storage medium (1), where a respective identical set of operations is provided for executing each individual one of these commands. The inventive method is distinguished in that the execution of the operations is distributed over the succession of commands such that each operation in a set of operations is executed at least once in total and at least one operation in a set of operations is omitted when at least one command is executed.

Description

Verfahren zum Ausführen einer Folge von gleichartigen Kommandos in einem tragbaren Datenträger Method for executing a sequence of similar commands in a portable data carrier
Die Erfindung betrifft ein Verfahren zum Ausführen einer Folge von gleichartigen Kommandos in einem tragbaren Datenträger. Weiterhin betrifft die Erfindung einen tragbaren Datenträger.The invention relates to a method for executing a sequence of similar commands in a portable data carrier. Furthermore, the invention relates to a portable data carrier.
Beim Einsatz eines tragbaren Datenträgers wird in der Regel eine Datenverbindung zu einem Endgerät aufgebaut, über die dem tragbaren Datenträger Kommandos zur Ausführung übermittelt werden. Ein Beispiel für einen derartigen Einsatz ist die Durchführung von Transaktionen an einem Terminal eines Point-of-Sale oder eines Kreditinstituts mit einer Chipkarte. In entsprechender Weise kann auch die Personalisierung des tragbaren Datenträgers mit Hilfe von Kommandos durchgeführt werden, die dem tragbaren Datenträger von einem Personalisierungsrechner übermittelt werden. Dabei wird dem tragbaren Datenträger insbesondere das in der Norm ISO/ IEC 7816 de- finierte Kommando UPDATE BINARY übermittelt, mit dessen Hilfe Daten in den EEPROM-Speicher des tragbaren Datenträgers geschrieben werden können. Allerdings ist die Datenmenge, die mit einem einzelnen Kommando UPDATE BINARY übertragen werden kann, auf 255 Byte begrenzt. Zum Einschreiben großer Datenmengen in den EEPROM-Speicher muss das Kommando UPDATE BINARY somit mehrfach übertragen und ausgeführt werden. Da ein Offset in der zu beschreibenden Datei mittels 2 Bytes (Pl und P2) kodiert werden kann, können schrittweise jeweils Blöcke von 255 Bytes der größeren Datenmenge hintereinander in die Datei geschrieben werden. Dies hat jedoch zur Folge, dass für den Einschreibvorgang eine relativ lange Zeitspanne benötigt wird. Eine entsprechende Problematik besteht auch bezüglich einer Reihe von weiteren Kommandotypen.When using a portable data carrier, a data connection to a terminal is usually established, via which the portable data carrier commands are transmitted for execution. An example of such an application is the execution of transactions at a terminal of a point-of-sale or a credit institution with a chip card. In a corresponding manner, the personalization of the portable data carrier can also be carried out with the aid of commands which are transmitted to the portable data carrier by a personalization computer. In this case, the portable data carrier, in particular, is assigned the UPDATE BINARY command defined in the ISO / IEC 7816 standard, with the aid of which data can be written to the EEPROM memory of the portable data carrier. However, the amount of data that can be transferred with a single UPDATE BINARY command is limited to 255 bytes. To write large amounts of data into the EEPROM memory, the UPDATE BINARY command must therefore be transmitted and executed several times. Since an offset in the file to be described can be coded by means of 2 bytes (P1 and P2), blocks of 255 bytes of the larger amount of data can be successively written into the file one after the other. However, this has the consequence that a relatively long period of time is required for the writing process. A corresponding problem also exists with regard to a number of other types of commands.
Für Kommandotypen, wie beispielsweise das Kommando PUT DATA7 ist es nötig, eine miteinander verknüpfte Kette von Kommandos zu verwenden (Command Chaining für Extended-Length-Kommandos), wenn mehr als 255 Bytes zum tragbaren Datenträger übertragen werden sollen. Gemäß ISO/ IEC 7816-4 zeigt das Bit 5 des CLA-Bytes des Kommandos an, ob das aktuelle Kommando das letzte oder einzige Kommando einer Kette (CLA- Byte mit Bit 5 = 0) oder nicht das letzte Kommando einer Kette ist (CLA-Byte mit Bit 5 = 1). Jedes Kommando der Kette von Kommandos überträgt einen Teil der zu bearbeitenden Daten. Nach dem Empfang der letzten Daten mit dem letzten Kommando einer Kette, werden die aneinander gehängten Daten der einzelnen Kommandos der Kette, wie durch den Kommandotyp vor- gegeben, verarbeitet.For command types, such as the command PUT DATA 7 , it is necessary to use a linked chain of commands (Command chaining for extended-length commands), if more than 255 bytes are to be transferred to the portable data carrier. According to ISO / IEC 7816-4, bit 5 of the CLA byte of the command indicates whether the current command is the last or only command of a chain (CLA byte with bit 5 = 0) or not the last command of a chain (CLA Byte with bit 5 = 1). Each command of the chain of commands transfers part of the data to be processed. After the receipt of the last data with the last command of a chain, the data of the individual commands of the chain which are hung together are processed as specified by the command type.
Der Erfindung liegt die Aufgabe zugrunde, die Zeit, die ein tragbarer Datenträger für die Ausführung einer Folge von gleichartigen Kommandos benötigt, möglichst gering zu halten.The invention has for its object to minimize the time required for a portable data carrier for the execution of a sequence of similar commands.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und mit einem tragbaren Datenträger gemäß Anspruch 20 gelöst.This object is achieved by a method according to claim 1 and with a portable data carrier according to claim 20.
Das erfindungsgemäße Verfahren dient der Ausführung einer Folge von mehreren gleichartigen Kommandos in einem tragbaren Datenträger, wobei für eine Ausführung jedes einzelnen dieser Kommandos jeweils ein gleicher Satz von Operationen vorgesehen ist. Die Besonderheit des erfindungsgemäßen Verfahrens besteht darin, dass die Ausführung von nicht für jedes Kommando der Folge notwendigen Operationen des Satzes von Operationen so über die Folge von Kommandos verteilt wird, dass jede dieser Operation insgesamt wenigstens einmal ausgeführt wird und wenigstens eine dieser Operationen bei der Ausführung wenigstens eines Kommandos ausgelassen wird. Die Erfindung hat den Vorteil, dass die Folge von Kommandos durch das Auslassen einer oder mehrerer Operationen sehr schnell abgearbeitet werden kann, wobei letztendlich das gleiche Ergebnis erzielt wird, wie wenn für jedes Kommando jeweils der komplette Satz von Operationen ausgeführt würde. Unterschiede ergeben sich lediglich dann, wenn die Folge von Kommandos, beispielsweise wegen eines Fehlers, nicht vollständig abgearbeitet wird. Die Zeitersparnis ist besonders groß, wenn zeitaufwendige Operationen ausgelassen werden. Ein weiterer Vorteil besteht darin, dass die Durchführung des erfindungsgemäßen Verfahrens mit bereits vorhandenen Kom- mandos und Mechanismen möglich ist und somit eine universelle Einsetz- barkeit des erfindungsgemäßen Verfahrens gewährleistet ist.The method according to the invention serves to execute a sequence of a plurality of similar commands in a portable data carrier, an identical set of operations being provided for each of these commands. The peculiarity of the method according to the invention is that the execution of operations of the set of operations not required for each command of the sequence is distributed over the sequence of commands such that each of these operations is executed at least once in total and at least one of these operations is executed at least one command is omitted. The invention has the advantage that the sequence of commands can be executed very quickly by omitting one or more operations, the result being ultimately the same as if the complete set of operations were executed for each command. Differences arise only when the sequence of commands, for example because of an error, is not completely processed. The time savings are especially great when time-consuming operations are omitted. A further advantage is that it is possible to carry out the method according to the invention with already existing commands and mechanisms, thus ensuring universal applicability of the method according to the invention.
Insbesondere hängt es von der Position des Kommandos in der Folge ab, welche Operationen bei diesem Kommando ausgeführt werden. Ein derarti- ges Kriterium ist mit wenig Aufwand implementierbar. Besonders vorteilhaft ist es, wenn wenigstens eine Operation des Satzes von Operationen bei der Ausführung der Folge von Kommandos insgesamt nur einmal ausgeführt wird. Im Hinblick auf diese Operation ist dann der größtmögliche Zeitgewinn realisiert. Vorzugsweise wird die wenigstens eine Operation beim ers- ten oder beim letzten Kommando der Folge ausgeführt.In particular, it depends on the position of the command in the sequence which operations are performed on this command. Such a criterion can be implemented with little effort. It is particularly advantageous if at least one operation of the set of operations in the execution of the sequence of commands is performed only once in total. With regard to this operation, the greatest possible time saving is realized. Preferably, the at least one operation is performed at the first or last command of the sequence.
Im Rahmen des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass beim ersten Kommando der Folge eine erste Kombination von Operationen und beim letzten Kommando der Folge eine davon abweichende zweite Kombination von Operationen ausgeführt wird. Weiterhin kann zwischen dem ersten und dem letzten Kommando der Folge wenigstens ein weiteres Kommando vorgesehen sein, bei dem eine vom ersten und/ oder vom letzten Kommando abweichende Kombination von Operationen ausgeführt wird. Insbesondere können mehrere weitere Kommandos vorgesehen sein, bei de- - A -In the context of the method according to the invention, provision may be made for a first combination of operations to be carried out at the first command of the sequence, and a second combination of operations deviating therefrom to be executed at the last command of the sequence. Furthermore, at least one further command can be provided between the first and the last command of the sequence, in which a combination of operations deviating from the first and / or last command is executed. In particular, several further commands can be provided, in which - A -
nen jeweils die gleiche Kombination von Operationen ausgeführt wird. Auf diese Weise können notwendige einleitende und abschließende Maßnahmen vorgenommen werden und dazwischen die Kommandos besonders effizient ausgeführt werden.The same combination of operations is executed in each case. In this way, necessary introductory and final measures can be taken and, in between, the commands can be executed particularly efficiently.
Ein weiterer Ansatz Verarbeitungszeit einzusparen ist es, Operationen eines in der Folge der Kommandos noch zu erwartenden Kommandos teilweise bereits vorab auszuführen, wenn in dem Zeitraum vor dem zu erwartenden Kommando ungenutzte Zeit zur Verfügung steht. Ein Beispiel für ungenutz- te Verarbeitungszeit könnte eine Wartezeit im Rahmen der Kommunikation der Kommandos sein oder eine Wartezeit auf die Antwort einer Komponente des tragbaren Datenträgers, wie beispielsweise die Vollzugsmeldung einer Speicherverwaltungseinheit (MMU) oder einer kryptographischen Einheit. Ungenutzte Verarbeitungszeiten können beispielsweise auch Zeiträume zwi- sehen dem Senden einer Antwort auf ein Kommando einer Folge und dem Empfangen des nächsten Kommandos der Folge sein.A further approach to saving processing time is to partially execute operations of a command which is still to be expected in the sequence of the command in advance if unused time is available in the period before the expected command. An example of unused processing time could be a waiting time in the context of communication of the commands or a waiting time for the response of a component of the portable data carrier, such as the execution notification of a memory management unit (MMU) or a cryptographic unit. Unused processing times may, for example, also be periods between sending a response to a command of a sequence and receiving the next command of the sequence.
Beim Auftreten eines Fehlers vor der Ausführung des letzten Kommandos der Folge wird vorzugsweise wenigstens eine Operation ausgeführt, die bei einem fehlerfreien Durchlauf dem letzten Kommando der Folge vorbehalten ist. Dadurch kann erreicht werden, dass auch bei einem Fehler die notwendigen abschließenden Maßnahmen durchgeführt werden und dadurch die Betriebsfähigkeit des tragbaren Datenträgers gesichert wird.Upon the occurrence of an error before the execution of the last command of the sequence, at least one operation is preferably carried out which is reserved for the last command of the sequence in the event of a faultless pass. It can thereby be achieved that the necessary final measures are carried out even in the case of a fault, thereby ensuring the operability of the portable data carrier.
Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden die Kommandos an den tragbaren Datenträger übermittelt. Insbesondere werden zusammen mit den Kommandos Daten übermittelt, wobei die insgesamt mit der Folge von Kommandos übermittelte Datenmenge größer ist als die für die Übermittlung mit einem Kommando der Folge maximal zulässige Datenmenge. Die Kommandos können für die Übermittlung durch Chaining miteinander verbunden werden. Die Kommandos können beispielsweise von einem Endgerät an den tragbaren Datenträger übermittelt werden. Vorzugsweise werden die Kommandos jeweils in Form einer APDU an den tragbaren Datenträger übermittelt. APDUs werden vielfältig eingesetzt, so dass durch die Verwendung von APDUs ein Einsatz des erfindungsgemäßen Verfahrens bei vielen bestehenden Systemen möglich ist.In a preferred embodiment of the method according to the invention, the commands are transmitted to the portable data carrier. In particular, data is transmitted together with the commands, wherein the total amount of data transmitted with the sequence of commands is greater than that for the transmission with a command of the sequence maximum allowed amount of data. The commands can be linked together for transmission by chaining. The commands can be transmitted, for example, from a terminal to the portable data carrier. Preferably, the commands are each transmitted in the form of an APDU to the portable data carrier. APDUs are widely used, so that the use of the method according to the invention in many existing systems is possible by the use of APDUs.
Bei den Kommandos kann es sich insbesondere um Kommandos zum Schreiben von Daten in eine Datei des tragbaren Datenträgers handeln. Um einen Undefinierten Zustand zu vermeiden, können beim Auftreten eines Fehlers definierte Werte in die Datei geschrieben werden. Ein Zeitgewinn kann dadurch erreicht werden, dass lediglich beim ersten Kommando der Folge Zugriffsbedingungen zum Schreiben in die Datei des tragbaren Daten- trägers geprüft werden. Ebenso spart es Zeit, wenn lediglich beim letzten Kommando der Folge ein Prüfcode für die Datei des tragbaren Datenträgers ermittelt wird.The commands may, in particular, be commands for writing data to a file of the portable data carrier. To avoid an undefined state, defined values can be written to the file when an error occurs. Time savings can be achieved by checking access conditions for writing to the file of the portable data carrier only at the first command of the sequence. Likewise, it saves time if only at the last command of the sequence a check code for the file of the portable data carrier is determined.
Die Folge von Kommandos kann beispielsweise im Rahmen einer Personali- sierung des tragbaren Datenträgers ausgeführt werden. Dort treten zum einen hohe Datenmengen auf. Zum anderen ist die Durchlaufzeit ein maßgeblicher Kostenfaktor für die Personalisierung. Bei den Kommandos kann es sich jeweils um das in der Norm ISO/ IEC 7816 definierte Kommando UPDATE BINARY handeln.The sequence of commands can be carried out, for example, as part of a personalization of the portable data carrier. There occur on the one hand on high amounts of data. On the other hand, lead time is a significant cost factor for personalization. The commands can each be the UPDATE BINARY command defined in the ISO / IEC 7816 standard.
Der erfindungsgemäße tragbare Datenträger weist eine Prozessoreinheit und einen Speicher auf. Im erfindungsgemäßen tragbaren Datenträger ist eine Funktionalität zum Ausführen einer Folge von mehreren gleichartigen Kommandos implementiert, für deren Ausführung jeweils ein gleicher Satz von Operationen vorgesehen ist. Die Besonderheit des erfindungsgemäßen tragbare Datenträgers besteht darin, dass die Funktionalität eine Verteilung der Ausführung der Operationen über die Folge von Kommandos derart vornimmt, dass jede Operation des Satzes von Operationen insgesamt we- nigstens einmal ausgeführt wird und wenigstens eine Operation des Satzes von Operationen bei der Ausführung wenigstens eines Kommandos ausgelassen wird. Vorzugsweise ist der erfindungsgemäße tragbare Datenträger als eine Chipkarte ausgebildet.The portable data carrier according to the invention has a processor unit and a memory. In the portable data carrier according to the invention, a functionality for executing a sequence of a plurality of similar commands is implemented, for their execution in each case an identical sentence is provided by operations. The peculiarity of the portable data carrier according to the invention is that the functionality distributes the execution of the operations over the sequence of commands such that each operation of the set of operations is performed at least once and at least one operation of the set of operations in the Execution of at least one command is omitted. Preferably, the portable data carrier according to the invention is designed as a chip card.
Die Erfindung wird nachstehend anhand der in der Zeichnung dargestellten Ausführungsbeispiele erläutert, bei denen der tragbare Datenträger jeweils als eine Chipkarte ausgebildet ist. Die Erfindung ist allerdings nicht auf Chipkarten beschränkt, sondern bezieht sich gleichermaßen auch auf andere mit Rechenkapazität ausgestattete tragbare Datenträger. Dabei ist als ein tragbarer Datenträger im Sinn der Erfindung ein Rechnersystem anzusehen, bei dem die Ressourcen, d.h. Speicherressourcen und/ oder Rechenkapazität (Rechenleistung) begrenzt sind, z.B. eine Chipkarte (Smart Card, Mikroprozessor-Chipkarte) oder ein Token oder ein Chipmodul zum Einbau in eine Chipkarte oder in ein Token. Der tragbare Datenträger hat einen Körper, in dem eine CPU (ein Mikroprozessor) angeordnet ist und der jede beliebige standardisierte oder nicht standardisierte Gestalt haben kann, beispielsweise die Gestalt einer flachen Chipkarte ohne Norm oder nach einer Norm wie z.B. ISO 7810 (z.B. ID-I, ID-00, ID-000) oder die eines volumigen Tokens. Der tragbare Datenträger kann weiter eine oder mehrere beliebige Schnittstellen für kontaktlose und/ oder kontaktbehaftete Kommunikation mit einem Lesegerät oder Datenverarbeitungssystem (z.B. Personal Computer, Workstation, Server) haben.The invention will be explained below with reference to the embodiments illustrated in the drawing, in which the portable data carrier is designed in each case as a chip card. However, the invention is not limited to smart cards, but equally applies to other equipped with computing capacity portable media. In this case, as a portable data carrier in the sense of the invention is to be regarded as a computer system in which the resources, i. Memory resources and / or computing capacity (computing power) are limited, e.g. a chip card (smart card, microprocessor chip card) or a token or a chip module for installation in a chip card or in a token. The portable data carrier has a body in which a CPU (a microprocessor) is arranged and which may have any standardized or non-standardized shape, for example the shape of a flat chip card without a standard or a standard such as e.g. ISO 7810 (e.g., ID-I, ID-00, ID-000) or volumetric token. The portable data carrier may further have one or more arbitrary interfaces for contactless and / or contact communication with a reader or data processing system (e.g., personal computer, workstation, server).
Es zeigen: Fig. 1 ein stark vereinfachtes Blockschaltbild für ein Ausführungsbeispiel eines Systems mit einer Chipkarte und einem Endgerät,Show it: 1 is a highly simplified block diagram for an embodiment of a system with a smart card and a terminal,
Fig. 2 die Struktur einer APDU undFig. 2 shows the structure of an APDU and
Fig. 3 die erfindungsgemäße Vorgehensweise bei der Abarbeitung einer Folge von Kommandos.Fig. 3 shows the procedure of the invention in the processing of a sequence of commands.
Fig. 1 zeigt ein stark vereinfachtes Blockschaltbild für ein Ausführungsbeispiel eines Systems mit einer Chipkarte 1 und einem Endgerät 2. Die Chipkarte 1 weist eine Prozessoreinheit 3 auf, welche die Funktionsabläufe der Chipkarte 1 steuert und auch als Central Processing Unit, abgekürzt CPU, bezeichnet wird. Weiterhin weist die Chipkarte 1 eine Schnittstelle 4 zur Ein- und Ausgabe von Daten auf, an die ein Kontaktfeld 5 angeschlossen ist. Beim dargestellten Ausführungsbeispiel weist die Chipkarte 1 zudem einen Speicher 6 auf, der aus einem Permanentspeicher 7, einem nichtflüchtigen Speicher 8 und einem flüchtigen Speicher 9 besteht. Alternativ dazu ist auch ein anderer Aufbau des Speichers 6 möglich. Die Prozessoreinheit 3 ist mit der Schnittstelle 4, dem Permanentspeicher 7, dem nichtflüchtigen Speicher 8 und dem flüchtigen Speicher 9 verbunden.1 shows a greatly simplified block diagram for an exemplary embodiment of a system having a chip card 1 and a terminal 2. The chip card 1 has a processor unit 3 which controls the functional sequences of the chip card 1 and is also referred to as a central processing unit, abbreviated CPU , Furthermore, the chip card 1 has an interface 4 for input and output of data, to which a contact pad 5 is connected. In the illustrated embodiment, the chip card 1 also has a memory 6, which consists of a non-volatile memory 7, a nonvolatile memory 8 and a volatile memory 9. Alternatively, another structure of the memory 6 is possible. The processor unit 3 is connected to the interface 4, the non-volatile memory 7, the nonvolatile memory 8 and the volatile memory 9.
Im Permanentspeicher 7 sind Daten abgelegt, die während der gesamten Lebensdauer der Chipkarte 1 unverändert erhalten bleiben. Dabei wird der Begriff Daten im folgenden sehr allgemein im Sinne beliebiger Informationen unabhängig von deren Inhalt verwendet und es werden darunter beispielsweise Programme, Parameter, personenbezogene Angaben, Schlüssel usw. subsumiert. Insbesondere ist im Permanentspeicher 7 das Betriebssystem der Chipkarte 1 gespeichert. Der flüchtige Speicher 9 dient als Arbeitsspeicher für die Prozessoreinheit 3, so dass geheime Daten beispielsweise bei der Durchführung von Berechnungen im flüchtigen Speicher 9 zwischengespeichert werden. Im flüchtigen Speicher 9 bleibt der Speicherinhalt nur solange erhalten, wie die Chipkarte 1 mit einer Betriebspannung versorgt wird.In the non-volatile memory 7 data is stored, which remain unchanged during the entire life of the chip card 1. The term data is used in the following very general in the sense of any information, regardless of their content and it is, for example, programs, parameters, personal information, keys, etc. subsumed. In particular, the operating system of the chip card 1 is stored in the non-volatile memory 7. The volatile memory 9 serves as a main memory for the processor unit 3, so that secret data, for example, when performing calculations in the volatile memory 9 are cached. In the volatile memory 9, the memory contents are retained only as long as the chip card 1 is supplied with an operating voltage.
Der nichtflüchtige Speicher 8 kann während der Lebensdauer der Chipkarte 1 immer wieder neu beschrieben werden. Der jeweilige Speicherinhalt bleibt auch dann erhalten, wenn die Chipkarte 1 nicht mit der Betriebsspannung versorgt wird. Im nichtflüchtigen Speicher 8 sind beispielsweise Ergänzungen zum Betriebssystem, Anwendungssoftware, Schlüssel, personenbezogene Daten usw. abgelegt.The nonvolatile memory 8 can be rewritten over and over again during the lifetime of the chip card 1. The respective memory content is maintained even if the chip card 1 is not supplied with the operating voltage. In the nonvolatile memory 8, for example, additions to the operating system, application software, keys, personal data, etc. are stored.
Vom Endgerät 2 sind lediglich eine Geräteelektronik 10 und eine an die Geräteelektronik 10 angeschlossene Kontaktiereinheit 11 dargestellt. Die Geräteelektronik 10 kann ähnliche Funktionskomponenten aufweisen, wie für die Chipkarte 1 dargestellt. Die Kontaktiereinheit 11 dient der berührenden Kon- taktierung des Kontaktfelds 5 der Chipkarte 1, um eine Datenverbindung zwischen dem Endgerät 2 und der Chipkarte 1 auszubilden. Beim Endgerät 2 kann es sich beispielsweise um ein Point-of-Sale Terminal oder um ein sonstiges Terminal zur Durchführung von Transaktionen mit Hilfe der Chipkarte 1 handeln. Ebenso kann das Endgerät 2 ein Bestandteil einer Personalisie- rungsanlage sein, mit deren Hilfe eine Personalisierung der Chipkarte 1 durchgeführt wird. Dieser Fall wird für die weitere Beschreibung beispielhaft herangezogen.From the terminal 2, only a device electronics 10 and connected to the device electronics 10 contacting unit 11 are shown. The device electronics 10 may have similar functional components, as shown for the chip card 1. The contacting unit 11 serves for contact contacting of the contact field 5 of the chip card 1 in order to form a data connection between the terminal 2 and the chip card 1. The terminal 2 may be, for example, a point-of-sale terminal or another terminal for carrying out transactions with the aid of the chip card 1. Likewise, the terminal 2 can be part of a personalization system with the aid of which a personalization of the chip card 1 is carried out. This case will be used as an example for the further description.
Über die Datenverbindung werden der Chipkarte 1 vom Endgerät 2 Kommandos zur Ausführung übermittelt. Diese Kommandos können insbeson- dere in Form von APDUs (Application Protocol Data Units) nach ISO/ IEC 7816 übermittelt werden. Die Struktur einer solchen APDU ist in Fig. 2 dargestellt.About the data connection of the smart card 1 2 commands are transmitted from the terminal for execution. These commands can be in the form of APDUs (Application Protocol Data Units) in accordance with ISO / IEC 7816. The structure of such APDU is shown in FIG.
Fig. 2 zeigt die Struktur einer APDU. Die APDU weist ein Class-Byte CLA, ein Instruction-Byte INS, drei Parameter-Bytes Pl, P2 und P3 sowie ein Datenfeld DATA auf. Das Class-Byte CLA kann beispielsweise dazu benutzt werden, Anwendungen und ihren spezifischen Befehlssatz zu kennzeichnen oder zur Kennzeichnung von Secure Messaging benutzt werden. Das In- struction-Byte INS stellt eine Kodierung des in der APDU enthaltenenFig. 2 shows the structure of an APDU. The APDU comprises a class byte CLA, an instruction byte INS, three parameter bytes P1, P2 and P3 and a data field DATA. For example, the class byte CLA can be used to identify applications and their specific instruction set or used to identify secure messaging. The struction byte INS represents a coding of the one contained in the APDU
Kommandos dar, wobei das Kommando durch die Parameter-Bytes Pl, P2 und P3 näher spezifiziert wird. Das Datenfeld DATA enthält die zur Chipkarte 1 gesendeten Daten, die für eine Bearbeitung mit dem in der APDU enthaltenen Kommando vorgesehen sind. Die Größe des Datenfelds DATA ist begrenzt, so dass mehrere APDUs nacheinander an die Chipkarte 1 übermittelt werden, falls die zu übertragenden Daten die Größe des Datenfelds DATA überschreiten. Dies würde bei einer herkömmlichen Chipkarte pro übermittelter APDU jeweils zu einer vollständigen Ausführung des Kommandos mit den jeweils im Datenfeld DATA übermittelten Daten führen. Mit anderen Worten es würden mehrere gleichartige Kommandos jeweils inCommands, wherein the command is specified by the parameter bytes Pl, P2 and P3 in more detail. The data field DATA contains the data sent to the chip card 1, which are intended for processing with the command contained in the APDU. The size of the data field DATA is limited, so that a plurality of APDUs are transmitted successively to the chip card 1 if the data to be transmitted exceeds the size of the data field DATA. In the case of a conventional chip card, this would lead in each case to a complete execution of the command with the data transmitted in each case in the data field DATA for each transmitted APDU. In other words, there would be several similar commands in each case
Form einer APDU an die Chipkarte übertragen und nach jeder Übertragung eines Kommandos sämtliche für das Kommando vorgesehene Bearbeitungsschritte ausgeführt. Im Rahmen der Erfindung werden ebenfalls mehrere gleichartige Kommandos jeweils in Form einer APDU an die Chipkarte 1 übertragen. Allerdings führt die Chipkarte 1 nicht nach jeder Übertragung sämtliche für das Kommando vorgesehene Bearbeitungsschritte aus, sondern verteilt die Ausführung der Bearbeitungsschritte auf mehrere Übertragungen. Dies bedeutet, dass nach jeder Übertragung jeweils nur ein Teil der für das Kommando vorgesehenen Bearbeitungsschritte ausgeführt wird und somit die Mehrfachausführung von Bearbeitungsschritten, deren Ausführung nicht für jede Übertragung zwangsweise erforderlich ist, reduziert oder sogar vermieden werden kann. Dies führt zu einer schnelleren Abarbeitung der Folge von Kommandos durch die Chipkarte 1. Die diesbezügliche Vor- gehensweise wird anhand von Fig. 3 für das Kommando UPDATE BINARY näher erläutert.Transfer form of an APDU to the chip card and executed after each transfer of a command all provided for the command processing steps. In the context of the invention, several similar commands are also transmitted to the chip card 1 in the form of an APDU. However, the chip card 1 does not execute all the processing steps provided for the command after each transfer, but distributes the execution of the processing steps over several transfers. This means that after each transfer only a part of the processing steps provided for the command is executed, and Thus, the multiple execution of processing steps, the execution of which is not necessarily required for each transmission, can be reduced or even avoided. This leads to a faster processing of the sequence of commands by the chip card 1. The relevant procedure is explained in more detail with reference to FIG. 3 for the command UPDATE BINARY.
Fig. 3 zeigt die erfindungsgemäße Vorgehensweise bei der Abarbeitung einer Folge von Kommandos. Der dargestellte Ablauf bezieht sich auf das Kom- mando UPDATE BINARY, das beispielsweise im Rahmen einer Personalisierung der Chipkarte 1 mehrmals hintereinander vom Endgerät 2 an die Chipkarte 1 übermittelt wird. Der Ablauf beginnt mit einem Schritt Sl, in dem eine APDU vom Endgerät 2 an die Chipkarte 1 übermittelt wird. Das Class- Byte CLA der APDU weist den Wert „IX" auf, der angibt, dass wenigstens ein weiteres Kommando folgt. Das Instruction-Byte INS weist den Wert „D6" auf. Dies ist die Kodierung für das Kommando UPDATE BINARY und somit auch in allen weiteren APDUS, die im Rahmen der Kommandofolge vom Endgerät 2 an die Chipkarte 1 übermittelt werden, in identischer Form vorhanden. Das Parameter Byte Pl gibt über einen Short File Identifier SFI an, in welche Datei geschrieben werden soll. Alternativ besteht auch die Möglichkeit, dass in die aktuell selektierte Datei geschrieben werden soll. In diesem Fall gibt Pl das höherwertige Byte des Offsets an. Das Parameter Byte P2 gibt das niederwertige Byte des Offsets an. Bei allen folgenden APDUs der Kommandofolge geben Pl und P2 das höherwertige und das niederwertige Byte des Offsets an. Das Parameter Byte P3 gibt bei allen APDUs der Kom- mandof olge die jeweilige Länge Lc des Datenfelds DATA an. Die jeweils einzuschreibenden Daten sind bei allen APDUs der Kommandofolge im Datenfeld DATA enthalten. An Schritt Sl schließt sich ein Schritt S2 an, in dem das mit der APDU übertragene Kommando von der Chipkarte 1 ausgeführt wird. Wenn das Parameter Byte Pl einen Short File Identifier enthält, wird die zugehörige Datei ausgewählt. Weiterhin werden im Rahmen der Ausführung des Kommandos UPDATE BINARY die Zugriffsbedingungen der Datei und gegebenenfalls weitere Bedingungen geprüft. Außerdem werden Maßnahmen durchgeführt, die im Rahmen des Secure Messaging erforderlich sind. Weiterhin werden die übermittelten Daten in die Datei geschrieben, die vorzugsweise im nichtflüchtigen Speicher 8 der Chipkarte 1 angelegt ist und es wird ein Flag ge- setzt, welches anzeigt, dass eine Folge von UPDATE BINARY Kommandos auf die erfindungsgemäße Weise abgearbeitet wird. Damit ist die Ausführung des Kommandos beendet. Dies bedeutet, dass beispielsweise die bei einer herkömmlichen Ausführung des Kommandos UPDATE BINARY vorgesehene Aktualisierung der Prüf summe der Datei nicht durchgeführt wird. Die Prüfsumme wird auch als Error Detection Code, kurz EDC, bezeichnet.Fig. 3 shows the procedure according to the invention in the execution of a sequence of commands. The illustrated sequence relates to the command UPDATE BINARY, which is transmitted, for example, as part of a personalization of the chip card 1 several times in succession from the terminal 2 to the chip card 1. The process begins with a step Sl, in which an APDU is transmitted from the terminal 2 to the chip card 1. The class byte CLA of the APDU has the value "IX" indicating that at least one more command follows, and the instruction byte INS has the value "D6". This is the coding for the command UPDATE BINARY and therefore also in all other APDUS, which are transmitted in the context of the command sequence from the terminal 2 to the chip card 1, in identical form. The Parameter Byte Pl indicates via a Short File Identifier SFI into which file should be written. Alternatively it is also possible to write to the currently selected file. In this case, Pl indicates the high-order byte of the offset. The parameter byte P2 indicates the least significant byte of the offset. For all subsequent APDUs of the command sequence, Pl and P2 indicate the high order and low order bytes of the offset. The parameter byte P3 indicates the respective length Lc of the data field DATA for all APDUs of the command sequence. The data to be written in are contained in the data field DATA for all APDUs of the command sequence. Step S1 is followed by a step S2, in which the command transmitted with the APDU is executed by the chip card 1. If the parameter Byte Pl contains a Short File Identifier, the corresponding file is selected. Furthermore, as part of the execution of the UPDATE BINARY command, the access conditions of the file and, if necessary, other conditions are checked. It also performs actions required by secure messaging. Furthermore, the transmitted data is written into the file, which is preferably applied in the nonvolatile memory 8 of the chip card 1, and a flag is set, which indicates that a sequence of UPDATE BINARY commands is executed in the manner according to the invention. This completes the execution of the command. This means that, for example, the update of the check sum of the file provided in a conventional execution of the UPDATE BINARY command is not performed. The checksum is also referred to as Error Detection Code, EDC for short.
Auf Schritt S2 folgt ein Schritt S3, in dem die Chipkarte 1 dem Endgerät 2 mitteilt, dass das Kommando ausgeführt wurde. Daraufhin übermittelt das Endgerät 2 in einem Schritt S4 eine weitere APDU an die Chipkarte 1. Diese APDU unterscheidet sich von der in Schritt Sl übermittelten APDU lediglich darin, dass das Parameter Byte Pl definitiv das höherwertige Byte des Offsets angibt und dass die konkreten Werte für die bei Schritt Sl bezeichneten Inhalte abweichen können. Beispielsweise kann der bei einer Variante des Schritts S4 in den Parameter Bytes Pl und P2 angegebene Offset einen ande- ren Wert haben als der bei Schritt Sl angegebene Offset. Ebenso können die im Parameter Byte P3 angegebene Datenlänge Lc und die im Datenfeld DATA enthaltenen Daten in den Schritten Sl und S4 unterschiedlich sein. Der Inhalt des Class-Bytes CLA und des Instruction-By tes INS ist bei den Schritten Sl und S4 jedoch identisch, d. h. es handelt sich jeweils um das gleiche Kommando mit ggf. unterschiedlichen Parametern bzw. Daten.Step S2 is followed by a step S3, in which the chip card 1 informs the terminal 2 that the command has been executed. The terminal 2 then transmits another APDU to the chip card 1 in a step S4. This APDU differs from the APDU transmitted in step S1 only in that the parameter byte Pl definitively indicates the high-order byte of the offset and that the concrete values for the at step Sl designated content may differ. For example, the offset specified in the parameter Bytes Pl and P2 in a variant of Step S4 may have a different value than the offset indicated in Step S1. Likewise, the data length Lc given in the parameter byte P3 and the data contained in the data field DATA may be different in the steps S1 and S4. The content of the class byte CLA and the instruction byte INS is in the However, steps S1 and S4 are identical, ie they are each the same command with possibly different parameters or data.
Das im Schritt S4 übermittelte Kommando UPDATE BINARY wird in einem sich anschließenden Schritt S5 ausgeführt. Diese Ausführung weicht von der Ausführung bei Schritt S2 in einer Weise ab, die über das hinausgeht, was durch die genannten Unterschiede der Parameter bzw. Daten verursacht wird. So werden bei Schritt S5 die Zugriffsbedingungen der Datei nicht geprüft, sondern es werden nur einige notwendige Bedingungen für die Aus- führung des Kommandos geprüft. Zudem werden im Rahmen der Kommandoausführung lediglich die Maßnahmen für das Secure Messaging durchgeführt und die Daten in die Datei geschrieben. An Schritt S5 schließt sich ein Schritt S6 an, in dem die Chipkarte 1 dem Endgerät 2 mitteilt, dass das Kommando ausgeführt wurde. Es folgt dann ein Schritt S7, in dem das Endgerät 2 der Chipkarte 1 eine weitere APDU mit dem KommandoThe UPDATE BINARY command transmitted in step S4 is executed in a subsequent step S5. This embodiment deviates from the execution at step S2 in a manner that goes beyond what is caused by the mentioned differences in the parameters or data. Thus, the access conditions of the file are not checked in step S5, but only a few necessary conditions for the execution of the command are checked. In addition, as part of the command execution, only the measures for secure messaging are performed and the data is written to the file. At step S5, a step S6 follows, in which the smart card 1 tells the terminal 2 that the command has been executed. It then follows a step S7, in which the terminal 2 of the chip card 1 another APDU with the command
UPDATE BINARY übermittelt. Zusätzlich zu den Unterschieden in den konkreten Werten für den Offset sowie der Länge und des Inhalts des Datenfelds DATA unterscheitet sich diese APDU von der im Schritt S4 übermittelten APDU darin, dass das Class-Byte CLA den Wert „OX" aufweist. Dieser Wert gibt an, dass in der Kommandofolge kein weiteres Kommando folgen wird. Die Ausführung des Kommandos UPDATE BINARY erfolgt in einem sich anschließenden Schritt S8. Bei der Ausführung werden analog zu Schritt S5 die Zugriffsbedingungen der Datei wiederum nicht geprüft, sondern lediglich einige notwendige Bedingungen. Weiterhin werden Maßnahmen für das Secure Messaging durchgeführt und die Daten in die Datei geschrieben. Anders als bei der Ausführung des Kommandos in den Schritten S2 und S5 wird beim Schritt S8 die Prüfsumme der Datei aktualisiert und es wird das in Schritt S2 gesetzte Flag wieder gelöscht. Auf Schritt S8 folgt ein Schritt S9, in dem die Chipkarte 1 dem. Endgerät 2 mitteilt, dass das Kommando ausgeführt wurde. Damit ist die Abarbeitung der Kommandofolge beendet.UPDATE BINARY submitted. In addition to the differences in the actual values for the offset as well as the length and content of the data field DATA, this APDU from the APDU transmitted in step S4, fails in that the class byte CLA has the value "OX." This value indicates The UPDATE BINARY command is executed in a subsequent step S 8. During execution, the access conditions of the file are again not checked, as in step S5, but only a few necessary conditions for the Secure Messaging, and the data is written to the file Unlike the execution of the command in steps S2 and S5, the checksum of the file is updated in step S8, and the flag set in step S2 is cleared again a step S9 follows, in the chip card 1 the. Terminal 2 informs that the command has been executed. This completes the processing of the command sequence.
Durch das vorstehend beschriebene Command Chaining, das auch als Level 7 Chaining bezeichnet wird, ist es möglich eine definierte Folge von Kommandos zu kennzeichnen, so dass ein Kommando vom Betriebssystem der Chipkarte 1 als erstes Kommando der Folge und ein weiteres Kommando als letztes Kommando der Folge erkannt werden kann. Zwischen dem ersten und dem letzten Kommando der Folge können beliebig viele Kommandos liegen. Das Betriebssystem wird so implementiert, dass die für die vollständige Ausführung des Kommandos vorgesehenen Bearbeitungsschritte über die Folge von Kommandos verteilt ausgeführt werden. Dies bedeutet, dass nicht alle Bearbeitungsschritte bei allen Kommandos ausgeführt werden. Insbesondere können Bearbeitungsschritte, welche dazu dienen, die Betriebs- fähigkeit zu sichern, bis zum letzten Kommando der Folge zurückgestellt werden. Bei einem vorzeitigen Abbruch der Folge werden die Bearbeitungsschritte zur Sicherstellung der Betriebsfähigkeit ebenfalls durchgeführt. Für diese Vorgehensweise werden keine proprietären Kommandos oder propriä- teren Mechanismen zur Verkettung von Kommandos benötigt, sondern es können die Kommandos und das Command Chaining gemäß der NormThrough the command chaining described above, which is also referred to as level 7 chaining, it is possible to mark a defined sequence of commands, so that a command from the operating system of the chip card 1 as the first command of the sequence and another command as the last command of the sequence can be recognized. There can be any number of commands between the first and the last command of the sequence. The operating system is implemented in such a way that the processing steps intended for the complete execution of the command are distributed over the sequence of commands. This means that not all processing steps are performed on all commands. In particular, processing steps which serve to ensure the operability can be postponed until the last command of the sequence. In case of premature termination of the sequence, the processing steps to ensure the operability are also performed. For this procedure, no proprietary commands or proprietary mechanisms for linking commands are needed, but the commands and command chaining can be used according to the standard
ISO/ IEC 7816 verwendet werden. Damit dies möglich ist, wird das Betriebssystem so modifiziert und erweitert, dass es die beim Command Chaining vorhandene Sequenzinformation zur logischen Zusammenfassung mehrerer Kommandos nutzen kann.ISO / IEC 7816 can be used. For this to be possible, the operating system is modified and extended in such a way that it can use the sequence information available in command chaining to logically combine several commands.
Insbesondere muss die Fehlerbehandlung angepasst werden. So wird in einer Reihe von Situationen die Kommandofolge unterbrochen und die Prüfsumme EDC der geschriebenen Datei aktualisiert. Dies ist beispielsweise dann erforderlich, wenn das Parameter-Byte Pl einen Short File Identifier aufweist und das zugehörige UPDATE BINARY Kommando nicht das erste Kommando der Folge ist. Gleiches gilt auch, wenn ein anderes Kommando als ein UPDATE BINARY Kommando an die Chipkarte 1 übermittelt wird, wenn sich die vier niederwertigen Bits des Class-Bytes CLA ändern, wenn die Kommandoausführung auf einen Fehler läuft oder wenn das Secure Messaging fehlschlägt.In particular, the error handling must be adjusted. Thus, in a number of situations, the command sequence is interrupted and the checksum EDC of the written file is updated. This is necessary, for example, if the parameter byte P1 is a short file identifier and the associated UPDATE BINARY command is not the first command in the sequence. The same applies if a command other than an UPDATE BINARY command is transmitted to the chip card 1, if the four lower-order bits of the CLA class byte change, if the command execution fails, or if secure messaging fails.
Fällt die Stromzufuhr während der Kommandoausführung aus, dann wird die Datei mit einem bekannten Inhalt gefüllt, um sicherzugehen, dass alle Zellen des nichtflüchtigen Speichers 8 einen stabilen Zustand aufweisen und die Prüfsumme EDC wird aktualisiert. Hierfür kann ein bereits existierender Roll-Forward-Mechanismus verwendet werden.If power fails during command execution, then the file is populated with known content to ensure that all cells of the nonvolatile memory 8 are in a stable state and the checksum EDC is updated. An existing roll-forward mechanism can be used for this.
Die Erfindung ist nicht nur bei einer Folge von mehreren UPDATE BINARY Kommandos, sondern auch bei Folgen von anderen Kommandos einsetzbar. The invention can be used not only in a sequence of several UPDATE BINARY commands, but also in sequences of other commands.

Claims

P a t e n t a n s p r ü c h e Patent claims
1. Verfahren in einem tragbaren Datenträger (1) zum Verarbeiten einer Folge von mehreren Kommandos eines Kommandotyps, wobei für eine Verarbeitung von Kommandos des Kommandotyps das Ausführen eines Satzes von Operationen vorgesehen ist,1. A method in a portable data carrier (1) for processing a sequence of a plurality of commands of a command type, wherein for processing commands of the command type, the execution of a set of operations is provided,
Ausführen von ersten Operationen aus dem Satz von Operationen, die jeweils für die Verarbeitung eines einzelnen Kommandos aus der Folge notwendig sind, spätestens bei der Verarbeitung des einzelnen Kommandos, gekennzeichnet durchExecuting first operations from the set of operations respectively necessary for the processing of a single command from the sequence, at the latest in the processing of the single command, characterized by
Ausführen zweiter Operationen aus dem Satz von Operationen, die nicht bei der Verarbeitung jedes einzelnen Kommandos aus der Folge notwendig sind, so über die Folge von Kommandos verteilt, dass jede zweite Operation des Satzes von Operationen insgesamt wenigstens einmal ausgeführt wird und wenigstens eine der zweiten Operationen bei der Verarbeitung wenigstens eines Kommandos ausgelassen wird.Executing second operations from the set of operations not required in the processing of each individual command from the sequence, distributing over the sequence of commands such that every other operation of the set of operations is performed at least once and at least one of the second operations is omitted in the processing of at least one command.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es von der Position des Kommandos in der Folge abhängt, welche zweite Opera- tionen bei diesem Kommando ausgeführt werden.2. The method according to claim 1, characterized in that it depends on the position of the command in the sequence, which second operations are executed at this command.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass es von dem Kommandotyp des Kommandos in der Folge abhängt, welche zweite Operationen bei diesem Kommando ausgeführt werden.3. The method according to claim 1 or 2, characterized in that it depends on the command type of the command in the sequence, which second operations are performed in this command.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zweiten Operationen des Satzes von Operationen bei der Ausführung der Folge von Kommandos insgesamt nur einmal ausgeführt werden. 4. The method according to any one of the preceding claims, characterized in that the second operations of the set of operations in the execution of the sequence of commands in total are performed only once.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die zweite Operation beim ersten oder beim letzten Kommando der Folge ausgeführt wird.5. The method according to claim 4, characterized in that the second operation is carried out at the first or at the last command of the sequence.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei einem ersten Kommando der Folge eine erste Kombination von Operationen, bei einem zweiten Kommando der Folge eine zweite davon abweichende Kombination von Operationen und beim letzten Kommando der Folge eine weitere abweichende dritte Kombination von Operationen ausgeführt wird.6. The method according to any one of the preceding claims, characterized in that at a first command of the sequence a first combination of operations, in a second command of the sequence a second differing combination of operations and the last command of the sequence another divergent third combination of Operations is performed.
7. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch, Umschalten in einen Verarbeitungsmodus zur Optimie- rung der Kommando Verarbeitungszeit, wenn erkannt wird, dass ein7. The method according to any one of the preceding claims, characterized by, switching to a processing mode for optimizing the command processing time when it is detected that a
Kommando aus einer Folge von Kommandos zu verarbeiten ist.Command from a sequence of commands to process.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zweiten Operationen Prüfungsoperationen umfassen, die vorzugsweise der Sicherung der Integrität der Daten auf dem tragbaren Datenträger dienen, wie beispielsweise Zugriffsrechte prüfen oder Prüf summen berechnen, und/ oder die zweiten Operationen Sicherungsoperationen umfassen, die den ordnungsgemäßen Betrieb des tragbaren Datenträgers absichern.A method according to any one of the preceding claims, characterized in that the second operations comprise audit operations which are preferably for securing the integrity of the data on the portable data carrier, such as checking access rights or calculating checksums and / or the second operations comprising backup operations , which ensure the proper operation of the portable data carrier.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass vorbereitend für die Verarbeitung eines noch zu erwartenden einzelnen Kommandos der Folge zumindest eine erste Operation des zu erwartenden einzelnen Kommandos vorab ausge- führt wird.9. The method according to any one of the preceding claims, characterized in that preparatory for the processing of a still to be expected single command of the sequence at least a first operation of the expected individual command in advance ausge- leads.
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Auftreten eines Fehlers vor der Ausführung des letzten Kommandos der Folge wenigstens eine Operation ausgeführt wird, die bei einem fehlerfreien Durchlauf dem letzten Kommando der Folge vorbehalten ist.10. The method according to any one of the preceding claims, characterized in that at the occurrence of an error before the execution of the last command of the sequence at least one operation is performed, which is reserved for a faultless run the last command of the sequence.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass zusam- men mit den Kommandos Daten übermittelt werden, wobei die insgesamt mit der Folge von Kommandos übermittelte Datenmenge größer ist als die für die Übermittlung mit einem Kommando der Folge maximal zulässige Datenmenge.11. The method according to claim 10, characterized in that together with the commands data are transmitted, wherein the total transmitted with the sequence of commands amount of data is greater than the maximum allowable for transmission with a command of the sequence amount of data.
12. Verfahren nach einem der Ansprüche 10 oder 11, dadurch gekennzeichnet, dass die Kommandos für die Übermittlung durch Verkettung (Chaining) miteinander verbunden werden.12. The method according to any one of claims 10 or 11, characterized in that the commands for the transmission by chaining (Chaining) are interconnected.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Kommandotyp die Übermittlung der übergroßen Datenmenge durch eine Folge von Kommandos des Kommandotyps auch ohne Verkettung gestattet.13. The method according to claim 12, characterized in that the command type allows the transmission of the oversized amount of data by a sequence of commands of the command type without concatenation.
14. Verfahren nach einem der Ansprüche 10 bis 13, dadurch gekenn- zeichnet, dass die Kommandos jeweils in Form einer APDU von einem Endgerät (2) an den tragbaren Datenträger (1) übermittelt werden.14. The method according to any one of claims 10 to 13, characterized in that the commands are each transmitted in the form of an APDU from a terminal (2) to the portable data carrier (1).
15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch ge- kennzeichnet, dass es sich bei den Kommandos um Kommandos zum Schreiben von Daten in eine Datei des tragbaren Datenträgers (1) handelt.15. Method according to one of the preceding claims, characterized indicates that the commands are commands to write data to a file of the portable data carrier (1).
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass beim16. The method according to claim 15, characterized in that at
Auftreten eines Fehlers definierte Werte in die Datei geschrieben werden.Occurrence of an error defined values are written to the file.
17. Verfahren nach einem der Ansprüche 15 oder 16, dadurch gekenn- zeichnet, dass lediglich beim ersten Kommando der Folge Zugriffsbedingungen zum Schreiben in die Datei des tragbaren Datenträgers (1) geprüft werden.17. The method according to any one of claims 15 or 16, characterized in that only at the first command of the sequence access conditions for writing to the file of the portable data carrier (1) are checked.
18. Verfahren nach einem der Ansprüche 15 bis 17, dadurch gekenn- zeichnet, dass lediglich beim letzten Kommando der Folge ein Prüfcode für die Datei des tragbaren Datenträgers (1) ermittelt wird.18. The method according to any one of claims 15 to 17, characterized in that only at the last command of the sequence, a check code for the file of the portable data carrier (1) is determined.
19. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Folge von Kommandos im Rahmen einer Per- sonalisierung des tragbaren Datenträgers (1) ausgeführt wird.19. The method according to any one of the preceding claims, characterized in that the sequence of commands within a personalization of the portable data carrier (1) is executed.
20. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es sich bei den Kommandos jeweils um das in der Norm ISO/ IEC 7816 definierte Kommando UPDATE BINARY han- delt.20. The method according to any one of the preceding claims, characterized in that it is in the commands in each case to the defined in the ISO / IEC 7816 command UPDATE BINARY.
21. Tragbarer Datenträger mit einer Prozessoreinheit (3) und einem Speicher (6), wobei im tragbaren Datenträger (1) eine Funktionalität zum Ausführen einer Folge von mehreren gleichartigen Kommandos imp- lementiert ist, für deren Ausführung jeweils ein gleicher Satz von O- perationen vorgesehen ist, dadurch gekennzeichnet, dass die Funktionalität eine Verteilung der Ausführung der Operationen über die Folge von Kommandos derart vornimmt, dass jede Operation des Sat- zes von Operationen insgesamt wenigstens einmal ausgeführt wird und wenigstens eine Operation des Satzes von Operationen bei der Ausführung wenigstens eines Kommandos ausgelassen wird.21. A portable data carrier having a processor unit (3) and a memory (6), wherein in the portable data carrier (1) has a functionality for executing a series of several similar commands. each execution of which has the same set of operations, characterized in that the functionality distributes the execution of the operations over the sequence of commands in such a way that each operation of the set of operations in total is performed at least once and at least one operation of the set of operations is omitted in the execution of at least one command.
22. Tragbarer Datenträger nach Anspruch 21, dadurch gekennzeichnet, dass er als eine Chipkarte ausgebildet ist. 22. Portable data carrier according to claim 21, characterized in that it is designed as a chip card.
PCT/EP2006/007452 2005-08-01 2006-07-27 Method for executing a succession of very similar commands in a portable data storage medium WO2007014699A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP06776465A EP1922618A1 (en) 2005-08-01 2006-07-27 Method for executing a succession of very similar commands in a portable data storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005036069.6 2005-08-01
DE200510036069 DE102005036069A1 (en) 2005-08-01 2005-08-01 Method for executing a sequence of similar commands in a portable data carrier

Publications (1)

Publication Number Publication Date
WO2007014699A1 true WO2007014699A1 (en) 2007-02-08

Family

ID=37156046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/007452 WO2007014699A1 (en) 2005-08-01 2006-07-27 Method for executing a succession of very similar commands in a portable data storage medium

Country Status (3)

Country Link
EP (1) EP1922618A1 (en)
DE (1) DE102005036069A1 (en)
WO (1) WO2007014699A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007027935A1 (en) 2007-06-18 2008-12-24 Giesecke & Devrient Gmbh Portable data carrier and method for personalizing a portable data carrier

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088861A1 (en) * 2001-09-28 2003-05-08 Peter Markstein Optimize code for a family of related functions
US20030135848A1 (en) * 2001-12-21 2003-07-17 Hitachi, Ltd. Use of multiple procedure entry and/or exit points to improve instruction scheduling

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0740225B2 (en) * 1985-12-25 1995-05-01 日本電気株式会社 Program skip operation control method
JPH05250523A (en) * 1992-03-06 1993-09-28 Toshiba Corp Processing system
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US6880074B2 (en) * 2000-12-22 2005-04-12 International Business Machines Corporation In-line code suppression
US7783573B2 (en) * 2004-01-13 2010-08-24 Microsoft Corporation Performance optimized smartcard transaction management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088861A1 (en) * 2001-09-28 2003-05-08 Peter Markstein Optimize code for a family of related functions
US20030135848A1 (en) * 2001-12-21 2003-07-17 Hitachi, Ltd. Use of multiple procedure entry and/or exit points to improve instruction scheduling

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"ISO/IEC 7816 Part 4: Interindustry command for interchange", 28 July 2005 (2005-07-28), www.iso.org, XP002406777, Retrieved from the Internet <URL:http://web.archive.org/web/20050728125134/http://www.ttfn.net/techno/smartcards/iso7816_4.html> [retrieved on 20061110] *
See also references of EP1922618A1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007027935A1 (en) 2007-06-18 2008-12-24 Giesecke & Devrient Gmbh Portable data carrier and method for personalizing a portable data carrier
EP2012280A2 (en) 2007-06-18 2009-01-07 Giesecke & Devrient GmbH Portable data carrier and method for personalising a portable data carrier

Also Published As

Publication number Publication date
DE102005036069A1 (en) 2007-02-08
EP1922618A1 (en) 2008-05-21

Similar Documents

Publication Publication Date Title
DE10020093A1 (en) Administering method for data transaction between external system and smart=card involves providing error resistant scheme error recovery on smart=card, particularly error resistant data set index swap scheme
DE3743639A1 (en) IC CARD AND SYSTEM FOR CHECKING ITS FUNCTIONALITY
DE10164415A1 (en) Method and arrangement for programming and verification of EEPROM pages as well as a corresponding computer program product and a corresponding computer-readable storage medium
DE19626337C2 (en) Processing long messages in a processor card
WO2004086220A2 (en) Controlled execution of a program used for a virtual machine on a portable data carrier
DE102005022019A1 (en) Secure processing of data
EP0935214B1 (en) Smart card with integrated circuit
DE4429969A1 (en) Process for exchanging program packages in a multi-computer system and computer therefor
DE69911174T2 (en) SYSTEM AND METHOD FOR CONTROLLING ACCESS TO THE COMPUTER CODE IN A CHIP CARD
WO2007014699A1 (en) Method for executing a succession of very similar commands in a portable data storage medium
EP1932122A2 (en) Method for initialising and/or personalising a portable data carrier
WO2001001338A1 (en) Data transfer and memory management method and data carrier
EP1543411B1 (en) Processor with explicit information on information to be secured in sub-program branches
EP1308842B1 (en) Method and device for the management of a memory device
WO1998041880A2 (en) Integrated circuit and method for testing the same
EP1634252B1 (en) Method for loading portable data carriers with data
EP0977160B1 (en) Method and data processing device for the reliable execution of instructions
DE69909118T9 (en) DEVICE AND METHOD FOR SECURING AN INTEGRATED CIRCUIT
EP2012280A2 (en) Portable data carrier and method for personalising a portable data carrier
EP4040324A1 (en) Chip initialization with operating system loading
EP1968073B1 (en) Method for writing data onto the memory of a portable data carrier
EP1904980A1 (en) Method for operating a portable data carrier
DE19930144C1 (en) Faulty memory accesses detection in processor-controlled arrangement
EP2659349B1 (en) Method for resetting a file system
EP4371010A1 (en) Method for statically allocating and assigning information to memory areas, information technology system and vehicle

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006776465

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2006776465

Country of ref document: EP