DE102005036069A1 - Method for executing a sequence of similar commands in a portable data carrier - Google Patents

Method for executing a sequence of similar commands in a portable data carrier Download PDF

Info

Publication number
DE102005036069A1
DE102005036069A1 DE200510036069 DE102005036069A DE102005036069A1 DE 102005036069 A1 DE102005036069 A1 DE 102005036069A1 DE 200510036069 DE200510036069 DE 200510036069 DE 102005036069 A DE102005036069 A DE 102005036069A DE 102005036069 A1 DE102005036069 A1 DE 102005036069A1
Authority
DE
Germany
Prior art keywords
command
sequence
commands
operations
data carrier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE200510036069
Other languages
German (de)
Inventor
Manfred Hockauf
Frank Schmalz
Torge Kuhn
Werner Ness
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and 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 and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE200510036069 priority Critical patent/DE102005036069A1/en
Priority to EP06776465A priority patent/EP1922618A1/en
Priority to PCT/EP2006/007452 priority patent/WO2007014699A1/en
Publication of DE102005036069A1 publication Critical patent/DE102005036069A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data

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

Die Erfindung betrifft ein Verfahren zum Ausführen einer Folge von mehreren gleichartigen Kommandos in einem tragbaren Datenträger (1), wobei für eine Ausführung jedes einzelnen dieser Kommandos jeweils ein gleicher Satz von Operationen vorgesehen ist. Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass die Ausführung der Operationen so über die Folge von Kommandos verteilt wird, dass jede Operation des Satzes 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.The invention relates to a method for executing a sequence of several similar commands in a portable data carrier (1), an identical set of operations being provided for executing each of these commands. The method according to the invention is characterized in that the execution of the operations is distributed over the sequence of commands such that each operation of the set of operations is executed at least once and at least one operation of the set of operations is omitted when at least one command is executed .

Description

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 The invention relates to a method for carrying out a series of similar Commands in a portable disk. Furthermore, the invention relates 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 definierte 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 (P1 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.At the Use of a portable data carrier is usually a data connection to a terminal constructed over the the portable data carrier Commands submitted for execution become. An example for such an operation is the execution of transactions a terminal of a point-of-sale or a credit institution with a chip card. In a similar way, the personalization of the portable data carrier performed with the help of commands be transmitted to the portable data carrier from a personalization computer become. In this case, the portable data carrier in particular in the Standard ISO / IEC 7816 defined command UPDATE BINARY transmitted, with the help of which data is written to the EEPROM memory of the portable data carrier can be. However, the amount of data that comes with a single command UPDATE BINARY transfer can be limited to 255 bytes. For writing large amounts of data in the EEPROM memory, the UPDATE BINARY command must therefore be transmitted multiple times and executed become. As an offset in the file to be described by means of 2 bytes (P1 and P2) can be incrementally blocks of 255 respectively Bytes of the larger amount of data written one after the other in the file. This has however result in that for the writing process takes a relatively long time. A corresponding problem also exists with regard to a number of others Command types.

Für Kommandotypen, wie beispielsweise das Kommando PUT DATA, 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 vorgegeben, verarbeitet.For command types, such as the command PUT DATA, it is necessary to have a linked together Chain of commands to use (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 one Command 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 transmits one Part of the data to be processed. After receiving the last data with the last command of a chain, the data hung together the single command of the chain as dictated by the command type, processed.

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.Of the Invention is based on the object, the time that a portable disk for the execution a sequence of similar commands needed to keep as low as possible.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und mit einem tragbaren Datenträger gemäß Anspruch 20 gelöst.These The object is achieved by a method according to claim 1 and with a portable data carrier according to claim 20 solved.

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.The inventive method serves the execution a sequence of several similar commands in a portable disk, being for an execution Each one of these commands has a similar set of operations is provided. The peculiarity of the method according to the invention is that the execution not for each command of the sequence necessary operations of the sentence of Surgeries so over the sequence of commands is distributed that each of this operation is executed at least once and at least one these operations during execution at least one command is omitted.

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 Kommandos und Mechanismen möglich ist und somit eine universelle Einsetzbarkeit des erfindungsgemäßen Verfahrens gewährleistet ist.The Invention has the advantage that the sequence of commands through the Omission of one or more operations completed very quickly which ultimately achieves the same result, as if for each command would execute the complete set of operations. differences arise only when the sequence of commands, for example because of a mistake, not fully processed. The Time savings are especially great, when time-consuming operations are omitted. Another Advantage is that the implementation of the method with existing commands and mechanisms is possible and thus a universal applicability of the method according to the invention guaranteed is.

Insbesondere hängt es von der Position des Kommandos in der Folge ab, welche Operationen bei diesem Kommando ausgeführt werden. Ein derartiges 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 ersten oder beim letzten Kommando der Folge ausgeführt.Especially it depends from the position of the command in the sequence, which operations executed on this command become. Such a criterion can be implemented with little effort. Especially it is advantageous if at least one operation of the sentence of Operations during execution the sequence of commands is executed only once in total. With regard to this operation, the greatest possible time saving is realized. Preferably the at least one operation will be at the first or the last Command of the sequence executed.

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 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.In the context of the method according to the invention it can be provided that at the first command of the sequence a first combination of operations and at the last command of the sequence a deviating second combination of operations is performed. 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 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 ungenutzte 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 zwischen dem Senden einer Antwort auf ein Kommando einer Folge und dem Empfangen des nächsten Kommandos der Folge sein.One Another approach is to save processing time, operations Part of a command to be expected in the sequence of commands to carry out in advance if in the period before the expected command unused Time available stands. An example for unused processing time could be a waiting time in the context of the communication of the commands or one Wait for the response of a component of the portable disk, such as for example, the completion message of a storage management unit (MMU) or a cryptographic unit. Unused processing times can for example, periods between sending a response to a command of a sequence and receiving the next one Commands of the episode.

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.At the Occurrence of an error before the execution of the last command The sequence is preferably carried out at least one operation, the in the case of a faultless run, the last command of the sequence is reserved. This can be achieved that even at a Error the necessary final activities carried out and thereby the operability of the portable data carrier is secured.

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.at a preferred embodiment the method according to the invention the commands are transmitted to the portable data carrier. In particular, be transmitted together with the commands data, the total transmitted with the sequence of commands Amount of data is greater as the for the transmission with a command of the sequence maximum allowable amount of data. The commands can for the transmission be linked by chaining. For example, the commands can be from a terminal transmitted to the portable data carrier become. Preferably, the commands are each in the form of a APDU transmitted to the portable data carrier. APDUs are becoming diverse so that through the use of APDUs an employment of the inventive method is possible with many existing systems.

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 Datenträ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.at The commands can be commands for writing act of data in a file of the portable data carrier. To an undefined Condition can be avoided during Occurrence of an error defined values written to the file become. A time gain can be achieved by merely at the first command of the sequence access conditions for writing be checked into the file of the portable data carrier. It also 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 Personalisierung 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, for example, in the context of a personalization of the portable data carrier accomplished become. There occur on the one hand on high amounts of data. On the other hand is the lead time a decisive one Cost factor for the personalization. The commands can each be around act in the standard ISO / IEC 7816 defined UPDATE BINARY command.

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 wenigstens 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.Of the portable according to the invention Disk has a processor unit and a memory. In the portable according to the invention disk is a functionality to run a sequence of several similar commands implemented for whose execution an identical set of operations is provided in each case. The peculiarity of the portable invention disk is that the functionality is a distribution of execution of the Operations over the sequence of commands such that each operation of the sentence total of operations is performed at least once and at least one operation of the set of operations at the execution at least one command is omitted. Preferably, the portable according to the invention disk 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-1, 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, a computer system in the sense of the invention is to be considered as a portable data carrier in which the resources, ie memory resources and / or computing capacity (computing power) are limited, eg 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, such as the shape a flat chip card without a standard or a standard such as ISO 7810 (eg ID-1, ID-00, ID-000) or a voluminous 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 (eg personal computer, workstation, server).

Es zeigen:It demonstrate:

1 ein stark vereinfachtes Blockschaltbild für ein Ausführungsbeispiel eines Systems mit einer Chipkarte und einem Endgerät, 1 a highly simplified block diagram for an embodiment of a system with a smart card and a terminal,

2 die Struktur einer APDU und 2 the structure of an APDU and

3 die erfindungsgemäße Vorgehensweise bei der Abarbeitung einer Folge von Kommandos. 3 the procedure according to the invention in the processing of a sequence of commands.

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 highly simplified block diagram for an embodiment of a system with a smart card 1 and a terminal 2 , The chip card 1 has a processor unit 3 on which the functional sequences of the chip card 1 controls and also as Central Processing Unit, abbreviated CPU, is called. Furthermore, the smart card has 1 an interface 4 for inputting and outputting data to which a contact field 5 connected. In the illustrated embodiment, the smart card 1 also a memory 6 on that from a non-volatile memory 7 , a non-volatile memory 8th and a volatile memory 9 consists. Alternatively, there is another structure of the memory 6 possible. The processor unit 3 is with the interface 4 , the permanent storage 7 , the non-volatile memory 8th and the volatile memory 9 connected.

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.In permanent memory 7 Data is stored during the life of the chip card 1 remain unchanged. 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, is in non-volatile memory 7 the operating system of the chip card 1 saved.

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.The volatile memory 9 serves as a working memory for the processor unit 3 so that secret data for example when performing calculations in volatile memory 9 be 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 non-volatile memory 8th can during the life of the smart card 1 be described again and again. The respective memory contents are retained even if the chip card 1 not supplied with the operating voltage. In non-volatile memory 8th 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 Kontaktierung 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 Personalisierungsanlage 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 are only a device electronics 10 and one to the device electronics 10 connected contacting unit 11 shown. The device electronics 10 may have similar functional components as for the smart card 1 shown. The contact unit 11 serves for the contacting contacting of the contact field 5 the chip card 1 to a data connection between the terminal 2 and the chip card 1 train. At the terminal 2 This can be, for example, a point-of-sale terminal or another terminal for carrying out transactions with the aid of the chip card 1 act. Likewise, the terminal 2 be a part of a personalization system, with the help of a personalization of the smart 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 2 dargestellt.About the data connection of the smart card 1 from the terminal 2 Commands submitted for execution. These commands can be transmitted in particular in the form of APDUs (Application Protocol Data Units) according to ISO / IEC 7816. The structure of such an APDU is in 2 shown.

2 zeigt die Struktur einer APDU. Die APDU weist ein Class-Byte CLA, ein Instruction-Byte INS, drei Parameter-Bytes P1, 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 Instruction-Byte INS stellt eine Kodierung des in der APDU enthaltenen Kommandos dar, wobei das Kommando durch die Parameter-Bytes P1, 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 in 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 Vorgehensweise wird anhand von 3 für das Kommando UPDATE BINARY näher erläutert. 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 instruction byte INS represents a coding of the command contained in the APDU, the command being specified in more detail by the parameter bytes P1, P2 and P3. The data field DATA contains the data for the chip card 1 sent data intended for processing with the command contained in the APDU. The size of the data field DATA is limited, allowing multiple APDUs consecutively to the smart card 1 be transmitted if the data to be transmitted exceed 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, a plurality of similar commands would each be transmitted to the smart card in the form of an APDU, and after each transfer of a command, all the processing steps provided for the command would be executed. In the context of the invention, a plurality of similar commands are each in the form of an APDU to the smart card 1 transfer. However, the smart card leads 1 not after each transfer from all provided for the command processing steps, but distributes the execution of the processing steps to multiple 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 through the chip card 1 , The procedure is based on 3 for the UPDATE BINARY command.

3 zeigt die erfindungsgemäße Vorgehensweise bei der Abarbeitung einer Folge von Kommandos. Der dargestellte Ablauf bezieht sich auf das Kommando 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 S1, in dem eine APDU vom Endgerät 2 an die Chipkarte 1 übermittelt wird. Das Class-Byte CLA der APDU weist den Wert „1X" 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 P1 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 P1 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 P1 und P2 das höherwertige und das niederwertige Byte des Offsets an. Das Parameter Byte P3 gibt bei allen APDUs der Kommandofolge die jeweilige Länge Lc des Datenfelds DATA an. Die jeweils einzuschreibenden Daten sind bei allen APDUs der Kommandofolge im Datenfeld DATA enthalten. 3 shows the procedure according to the invention in the processing of a sequence of commands. The process shown here refers to the UPDATE BINARY command, which, for example, is part of a personalization of the chip card 1 several times in succession from the terminal 2 to the chip card 1 is transmitted. The process starts with a step S1 in which an APDU from the terminal 2 to the chip card 1 is transmitted. The class byte CLA of the APDU has the value "1X", 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 APDUSs that are part of the command sequence of the terminal 2 to the chip card 1 be transmitted in identical form. The parameter byte P1 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, P1 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, P1 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.

An Schritt S1 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 P1 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 gesetzt, 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üfsumme der Datei nicht durchgeführt wird. Die Prüfsumme wird auch als Error Detection Code, kurz EDC, bezeichnet.Step S1 is followed by a step S2, in which the command transmitted by the APDU from the chip card 1 is performed. If the parameter byte P1 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 to the file, preferably in nonvolatile memory 8th the chip card 1 is created and a flag is set, which indicates that a sequence of UPDATE BINARY commands is processed in the manner according to the invention. This completes the execution of the command. This means that, for example, the update of the checksum 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 S1 übermittelten APDU lediglich darin, dass das Parameter Byte P1 definitiv das höherwertige Byte des Offsets angibt und dass die konkreten Werte für die bei Schritt S1 bezeichneten Inhalte abweichen können. Beispielsweise kann der bei einer Variante des Schritts S4 in den Parameter Bytes P1 und P2 angegebene Offset einen anderen Wert haben als der bei Schritt S1 angegebene Offset. Ebenso können die im Parameter Byte P3 angegebene Datenlänge Lc und die im Datenfeld DATA enthaltenen Daten in den Schritten S1 und S4 unterschiedlich sein. Der Inhalt des Class-Bytes CLA und des Instruction-Bytes INS ist bei den Schritten S1 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 smart card 1 the terminal 2 tells you that the command has been executed. The terminal then transmits 2 in a step S4 another APDU to the smart card 1 , This APDU differs from the APDU transmitted in step S1 only in that the parameter byte P1 definitively indicates the high byte of the offset and that the concrete values for the contents designated at step S1 may differ. For example, the offset specified in the parameter bytes P1 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 indicated in the parameter byte P3 and the data contained in the data field DATA may be different in steps S1 and S4. However, the contents of the class byte CLA and of the instruction byte INS are identical in steps S1 and S4, that is, 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 Ausfü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 Kommando 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 „0X" 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.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. 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 the terminal 2 tells you that the command has been executed. It then follows a step S7, in which the terminal 2 the chip card 1 sent another APDU with the UPDATE BINARY command. 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 of the APDU transmitted in step S4 is inferred that the class byte CLA has the value "0X." This value indicates in that no further command will follow in the command sequence The UPDATE BINARY command is executed in a subsequent step S 8. During execution, the access conditions of the Da tei again not tested, but only a few necessary conditions. Furthermore, measures for secure messaging are performed and the data is written to the file. Unlike the execution of the command in steps S2 and S5, in step S8 the checksum of the file is updated and the flag set in step S2 is deleted again. Step S8 is followed by step S9 in which the smart card 1 the terminal 2 tells you 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 Betriebsfä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 Norm 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.By the above-described command chaining, 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 can be recognized as the last command of the sequence. 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 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 according to the ISO / IEC 7816 standard 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 P1 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 has a Short File Identifier and the associated UPDATE BINARY command is not the first command of the sequence. The same applies if a command other than an UPDATE BINARY command to the chip card 1 is transmitted when the four low-order bits of the CLA class byte change, when the command execution fails, or when 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 the power fails during command execution, then the file is populated with known content to ensure that all cells of the non-volatile memory 8th have a steady 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 is not just a result of multiple UPDATE BINARY Commands, but also with consequences of other commands usable.

Claims (22)

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, 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 durch 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.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 is provided the execution of a set of operations, performing first operations of the set of operations each necessary for the processing of a single command from the sequence are, at the latest when processing the single command, characterized by executing second operations from the set of operations that are not necessary in the processing of each command from the sequence, so distributed over the sequence of commands that every other operation of the sentence of Operations are performed at least once and at least one of the second operations in the processing of at least one command is omitted. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es von der Position des Kommandos in der Folge abhängt, welche zweite Operationen bei diesem Kommando ausgeführt werden.Method according to claim 1, characterized in that that it depends on the position of the command in the sequence, which second operations are performed on this command. 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.Method according to claim 1 or 2, characterized that it depends on the command type of the command in the sequence, which second operations are performed on this command. 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.Method according to one of the preceding claims, characterized characterized in that the second operations of the set of operations in the execution the sequence of commands to be executed only once in total. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die zweite Operation beim ersten oder beim letzten Kommando der Folge ausgeführt wird.Method according to claim 4, characterized in that the second operation on the first or last command the sequence executed becomes. 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.Method according to one of the preceding claims, characterized in that in a first command of the sequence a first combination of operations, in a second command of the sequence a second deviating combination of operations and the last command of the sequence executes another divergent third combination of operations. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch, Umschalten in einen Verarbeitungsmodus zur Optimierung der Kommandoverarbeitungszeit, wenn erkannt wird, dass ein Kommando aus einer Folge von Kommandos zu verarbeiten ist.Method according to one of the preceding claims, characterized by, switching to a processing mode to optimize the Command processing time if it is detected that a command is to be processed from a sequence of commands. 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üfsummen berechnen, und/oder die zweiten Operationen Sicherungsoperationen umfassen, die den ordnungsgemäßen Betrieb des tragbaren Datenträgers absichern.Method according to one of the preceding claims, characterized characterized in that the second operations include test operations, which preferably ensures the integrity of the data on the portable disk serve, such as checking access rights or calculating checksums, and / or the second operations include backup operations involving the proper operation of the portable data carrier to secure. 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.Method according to one of the preceding claims, characterized characterized by being preparatory to the processing of one more expected individual commands of the sequence at least a first Operation of the expected individual command is executed in advance. 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.Method according to one of the preceding claims, characterized characterized in that when an error occurs before the execution of the last commands of the sequence at least one operation is performed in the case of a faultless run, the last command of the sequence is reserved. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass zusammen 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.Method according to claim 10, characterized in that that data is transmitted together with the commands, with the is larger overall with the sequence of commands transmitted data as the for the transmission with a command of the sequence maximum allowable amount of data. Verfahren nach einem der Ansprüche 10 oder 11, dadurch gekennzeichnet, dass die Kommandos für die Übermittlung durch Verkettung (Chaining) miteinander verbunden werden.Method according to one of claims 10 or 11, characterized that the commands for the transmission be linked by chaining (chaining). 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.Method according to claim 12, characterized in that that the command type is the transmission the oversized amount of data by a sequence of commands of the command type even without chaining allowed. Verfahren nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass die Kommandos jeweils in Form einer APDU von einem Endgerät (2) an den tragbaren Datenträger (1) übermittelt werden.Method according to one of claims 10 to 13, characterized in that the commands each in the form of an APDU from a terminal ( 2 ) to the portable data carrier ( 1 ). 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.Method according to one of the preceding claims, characterized in that the commands are commands for writing data into a file of the portable data carrier ( 1 ). Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass beim Auftreten eines Fehlers definierte Werte in die Datei geschrieben werden.Method according to claim 15, characterized in that that when an error occurs defined values in the file to be written. Verfahren nach einem der Ansprüche 15 oder 16, dadurch gekennzeichnet, dass lediglich beim ersten Kommando der Folge Zugriffsbedingungen zum Schreiben in die Datei des tragbaren Datenträgers (1) geprüft werden.Method according to one of Claims 15 or 16, characterized in that access conditions for writing to the file of the portable data carrier ( 1 ) being checked. Verfahren nach einem der Ansprüche 15 bis 17, dadurch gekennzeichnet, dass lediglich beim letzten Kommando der Folge ein Prüfcode für die Datei des tragbaren Datenträgers (1) ermittelt wird.Method according to 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. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Folge von Kommandos im Rahmen einer Personalisierung des tragbaren Datenträgers (1) ausgeführt wird.Method according to one of the preceding claims, characterized in that the sequence of commands in the context of personalization of the portable data carrier ( 1 ) is performed. 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 handelt.Method according to one of the preceding claims, characterized characterized in that the commands are each in the The standard ISO / IEC 7816 defines the command UPDATE BINARY. 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 Operationen 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 Satzes 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.Portable data carrier with a processor unit ( 3 ) and a memory ( 6 ), wherein in the portable data carrier ( 1 ) is implemented a functionality for executing a sequence of a plurality of similar commands, for the execution of each a same set of operations is provided, characterized in that the functionality performs a distribution of execution of the operations on the sequence of commands such that each operation of the set of operations as a whole is executed at least once and at least one operation of the set of operations is omitted in the execution of at least one command. Tragbarer Datenträger nach Anspruch 21, dadurch gekennzeichnet, dass er als eine Chipkarte ausgebildet ist.Portable data carrier according to claim 21, characterized characterized in that it is designed as a chip card.
DE200510036069 2005-08-01 2005-08-01 Method for executing a sequence of similar commands in a portable data carrier Ceased DE102005036069A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE200510036069 DE102005036069A1 (en) 2005-08-01 2005-08-01 Method for executing a sequence of similar commands in a portable data carrier
EP06776465A EP1922618A1 (en) 2005-08-01 2006-07-27 Method for executing a succession of very similar commands in a portable data storage medium
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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
DE102005036069A1 true DE102005036069A1 (en) 2007-02-08

Family

ID=37156046

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926312A (en) * 1985-12-25 1990-05-15 Nec Corporation Program skip operation control 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
US20050154672A1 (en) * 2004-01-13 2005-07-14 Griffin Daniel C. Performance optimized smartcard transaction management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250523A (en) * 1992-03-06 1993-09-28 Toshiba Corp Processing system
US7065757B2 (en) * 2001-09-28 2006-06-20 Hewlett-Packard Development Company, L.P. Efficient compilation of 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926312A (en) * 1985-12-25 1990-05-15 Nec Corporation Program skip operation control 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
US20050154672A1 (en) * 2004-01-13 2005-07-14 Griffin Daniel C. Performance optimized smartcard transaction management

Also Published As

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

Similar Documents

Publication Publication Date Title
DE3743639A1 (en) IC CARD AND SYSTEM FOR CHECKING ITS FUNCTIONALITY
DE3807997A1 (en) IC CARD WITH INTERNAL ERROR CHECK
EP0466969A1 (en) Method for preventing unauthorised deviations from an application development protocol in a data exchange system
DE102007050406A1 (en) Memory buffer and method for buffering data
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
DE102008033976A1 (en) Loading and updating a personalization application
EP0500973B1 (en) EEPROM and method for altering a bootstrap routine in the EEPROM
EP0811204B1 (en) Processing of long messages in a chip card
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
DE102005036069A1 (en) Method for executing a sequence of similar commands in a portable data carrier
WO2001001338A1 (en) Data transfer and memory management method and data carrier
EP1610218B1 (en) Portable data carrier, system with said data carrier and method of operating said data carrier
WO1998041880A2 (en) Integrated circuit and method for testing the same
EP1634252B1 (en) Method for loading portable data carriers with data
EP3217281A2 (en) Method for managing the card software of a smart card
EP1543411B1 (en) Processor with explicit information on information to be secured in sub-program branches
EP0977160B1 (en) Method and data processing device for the reliable execution of instructions
DE69909118T9 (en) DEVICE AND METHOD FOR SECURING AN INTEGRATED CIRCUIT
DE102007027935A1 (en) Portable data carrier and method for personalizing a portable data carrier
EP4040324A1 (en) Chip initialization with operating system loading
DE10328238B4 (en) Method for loading smart cards with initialization and / or personalization data
EP1968073B1 (en) Method for writing data onto the memory of a portable data carrier

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R012 Request for examination validly filed

Effective date: 20120515

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20140604