WO2007014699A1 - Procede permettant l'execution d'une suite d'instructions de meme type dans un support de donnees portable - Google Patents

Procede permettant l'execution d'une suite d'instructions de meme type dans un support de donnees portable 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)
English (en)
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/fr
Publication of WO2007014699A1 publication Critical patent/WO2007014699A1/fr

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

L'invention concerne un procédé permettant l'exécution d'une suite de plusieurs instructions de même type, dans un support de données portable (1), procédé dans lequel il est prévu pour l'exécution de chacune de ces instructions, un même ensemble d'opérations. Le procédé selon l'invention est caractérisé en ce que l'exécution des opérations est répartie sur la succession des instructions, de telle façon que chaque opération de l'ensemble d'opérations est exécutée au total au moins une fois, et en ce qu'au moins une opération de l'ensemble d'opérations est omise lors de l'exécution d'au moins une instruction.
PCT/EP2006/007452 2005-08-01 2006-07-27 Procede permettant l'execution d'une suite d'instructions de meme type dans un support de donnees portable WO2007014699A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP06776465A EP1922618A1 (fr) 2005-08-01 2006-07-27 Procede permettant l'execution d'une suite d'instructions de meme type dans un support de donnees portable

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005036069.6 2005-08-01
DE200510036069 DE102005036069A1 (de) 2005-08-01 2005-08-01 Verfahren zum Ausführen einer Folge von gleichartigen Kommandos in einem tragbaren Datenträger

Publications (1)

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

Family

ID=37156046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/007452 WO2007014699A1 (fr) 2005-08-01 2006-07-27 Procede permettant l'execution d'une suite d'instructions de meme type dans un support de donnees portable

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007027935A1 (de) 2007-06-18 2008-12-24 Giesecke & Devrient Gmbh Tragbarer Datenträger und Verfahren zur Personalisierung eines tragbaren Datenträgers

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 (ja) * 1985-12-25 1995-05-01 日本電気株式会社 プログラムスキツプ動作制御方式
JPH05250523A (ja) * 1992-03-06 1993-09-28 Toshiba Corp 処理方式
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 (de) 2007-06-18 2008-12-24 Giesecke & Devrient Gmbh Tragbarer Datenträger und Verfahren zur Personalisierung eines tragbaren Datenträgers
EP2012280A2 (fr) 2007-06-18 2009-01-07 Giesecke & Devrient GmbH Support de données portatif et procédé destiné à la personnalisation d'un support de données portatif

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69021935T2 (de) Verfahren zum Überprüfen der Integrität eines Programms oder von Daten und Einrichtung zur Durchführung dieses Verfahrens.
DE10020093A1 (de) Datenintegrität bei Smartcard-Transaktionen
DE3743639A1 (de) Ic-karte und system zur ueberpruefung ihrer funktionstuechtigkeit
WO2010009789A1 (fr) Chargement et actualisation d’une application nécessitant une personnalisation
DE19626337C2 (de) Verarbeitung langer Nachrichten in einer Prozessorkarte
WO2004086220A2 (fr) Execution controlee d&#39;un programme prevu pour une machine virtuelle sur un support de donnees portable
EP0935214B1 (fr) Carte à puce avec circuit intégré
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE69911174T2 (de) System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte
WO2007014699A1 (fr) Procede permettant l&#39;execution d&#39;une suite d&#39;instructions de meme type dans un support de donnees portable
WO2007033792A2 (fr) Procede pour initialiser et/ou personnaliser un support de donnees portatif
WO2001001338A1 (fr) Procede pour la transmission de donnees et la gestion de memoire, et support de donnees correspondant
EP1308842B1 (fr) Procédé et dispositif pour la gestion d&#39;une mémoire
WO1998041880A2 (fr) Circuit integre et procede pour essayer ledit circuit integre
EP1634252B1 (fr) Procede de chargement de supports de donnees portatifs, en donnees
EP0977160B1 (fr) Méthode et dispositif de traitment de données pour l&#39;exécution fiable des instructions
DE69909118T2 (de) Vorrichtung und verfahren zur sicherung einer integrierten schaltung
EP2012280A2 (fr) Support de données portatif et procédé destiné à la personnalisation d&#39;un support de données portatif
EP4040324A1 (fr) Initialisation des puces à charge du système d&#39;exploitation
EP1968073B1 (fr) Procédé destiné à l&#39;écriture de données dans la mémoire d&#39;un support de données portatif
WO2006133934A1 (fr) Procede pour faire fonctionner un support de donnees portable
DE19930144C1 (de) Verfahren zum Erkennen von fehlerhaften Speicherzugriffen in prozessorgesteuerten Einrichtungen
EP2659349B1 (fr) Procédé pour réinitialiser un système de fichiers
DE102022003674A1 (de) Verfahren zum statischen Allozieren von lnformationen zu Speicherbereichen, informationstechnisches System und Fahrzeug
DE10323033A1 (de) Laden eines ausführbaren Programms in einen tragbaren Datenträger

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