WO2006120001A1 - Tragbarer datenträger mit sicherer datenverarbeitung - Google Patents

Tragbarer datenträger mit sicherer datenverarbeitung Download PDF

Info

Publication number
WO2006120001A1
WO2006120001A1 PCT/EP2006/004457 EP2006004457W WO2006120001A1 WO 2006120001 A1 WO2006120001 A1 WO 2006120001A1 EP 2006004457 W EP2006004457 W EP 2006004457W WO 2006120001 A1 WO2006120001 A1 WO 2006120001A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processing
data carrier
key
area
Prior art date
Application number
PCT/EP2006/004457
Other languages
English (en)
French (fr)
Inventor
Michael Baldischweiler
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 EP06753576.5A priority Critical patent/EP1883906B1/de
Priority to CN200680024478.1A priority patent/CN101218609B/zh
Priority to JP2008510499A priority patent/JP4869337B2/ja
Priority to US11/920,258 priority patent/US8983072B2/en
Publication of WO2006120001A1 publication Critical patent/WO2006120001A1/de

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • 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/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • 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/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption

Definitions

  • the invention relates to a method for the secure processing of data in a portable data carrier, in particular in a chip card, and such a data carrier.
  • the data carrier For processing data from a processor-equipped portable data carrier provided thereto by an external device, the data carrier has writing functions which write the data into a specific memory area of a nonvolatile memory of the data carrier, for example into an EEPROM memory of one smart card.
  • a specific memory area of a nonvolatile memory of the data carrier for example into an EEPROM memory of one smart card.
  • data will be written bit by bit to a target file of the volume based on a memory address.
  • Such write commands for chip cards standardized according to ISO-IIC 7816-4 include, for example, UPD ATE-BINARY and WRITE-BINARY.
  • EP 0811 204 B1 describes a method for storing data in a chip card, in which an access authorization is checked by the chip card before the data is processed and the data is buffer-stored in a designated memory area before the authorization is checked.
  • EP 0 914 640 B1 discloses the storage and use of safety-critical information in a data carrier, the data being protected against unauthorized access by encrypting with temporary keys prior to use.
  • none of the abovementioned publications offers a solution to the problem of too long deletion times in the event of an interruption of a writing process.
  • the invention is therefore based on the object to propose a method for the secure processing of data and a corresponding data carrier, in which a deletion of memory areas is carried out accelerated.
  • a data carrier comprises at least a processor and a nonvolatile memory - usually a rewritable EEPROM memory - as well as a processor that can be rewritten from the processor. feasible, specially trained processing control.
  • This processing controller requests the data to be processed by the volume and supplies it for processing.
  • the processing controller does not directly supply the data provided by an external device to processing such as password or PIN checking, signing or storage in a destination storage area, but initially places it in a non-volatile memory in a first step Between memory area, in order to effect their processing only in the second step.
  • the data is encrypted in the first step and cached only in encrypted form in the cache area, wherein the encryption is performed by a cryptographic functionality of the disk.
  • the now more encrypted data is first decrypted by the cryptographic functionality by means of a cryptographic key and then processed in decrypted form.
  • the data is still in the cache, but encrypted so that they are unreadable without a decryption key. They do not have to be deleted. Instead, they may be deleted at any time, for example, when new data is provided to the volume for processing.
  • the decryption key is deleted in the key storage area immediately after completion of the data processing. Then there is no possibility to access the encrypted data of the buffer area.
  • the caching of encrypted data makes it unnecessary to delete the cached data (for example due to an interruption of a data storage process) or at least reduces it to the deletion of the associated decryption key. Since the decryption keys usually have a constant and generally much shorter bit length than the data, deleting the cached data by deleting the decryption key can be performed quickly and effectively.
  • the steps of caching and decision making for immediate further processing are preferably performed one after the other so that both steps form a functional unit and caching is not transparent to a user of the volume. This ensures that the data remains readable in the cache only as long as it is necessary to ensure data integrity in the event of an interruption, because after the processing, the encrypted data can be made unreadable by deleting the decryption key, since they are then no longer needed.
  • the buffer area is thus preferably designed as a selected, temporary memory area, and not for storing data in accessible or addressable form.
  • the buffer area may preferably have no application and no user other than processing control.
  • the method can be performed on any equipped with computing capacity disk, but according to the invention on portable data carriers with processors such as smart cards, smart cards, PCMCIA cards, secure multimedia cards, USB tokens and the like, especially in connection with the data transfer between a sol - A data carrier and an external device, such as a chip card terminal, a point-of-sale, another reading device, etc.
  • processors such as smart cards, smart cards, PCMCIA cards, secure multimedia cards, USB tokens and the like
  • an operating system controlling the functioning of the data carrier is stored in a permanent ROM memory, which preferably also handles the processing. control and the cryptography function.
  • a symmetric method For encryption and decryption, it is possible to use both a symmetric method and an asymmetric method.
  • the key for encrypting the data when caching is the same as the key for decrypting the data when copying.
  • these keys are different, and then after processing the data only the decryption key must be deleted in order to prevent further access to the data in the buffer.
  • an unwanted interruption may occur during the initial caching and during the final processing.
  • the decryption key is deleted in order to make accessing the incomplete and inconsistent data of the buffer area impossible.
  • the decryption key can be stored, on the one hand, in a key memory area formed in the nonvolatile memory of the data carrier, for example in the EEPROM memory of a chip card, or, on the other hand, in a volatile memory area, for example in the RAM memory of a chip card.
  • the decryption key is preferably cleared during an interruption during the temporary storage by means of an active deletion process initiated by the processing control. On the one hand, this active deletion process can then be carried out virtually simultaneously with the occurrence of the interruption or, on the other hand, immediately after the interruption has been canceled, as the essentially first operation of the data carrier after the interruption.
  • the decryption key does not necessarily have to be actively deleted from the processing controller, but is deleted as a direct result of the power interruption without an active deletion initiated by the processing controller.
  • processing the data comprises storing the data in a destination file of the volume accessible by users or applications.
  • the data which is initially encrypted in the cache is copied in the subsequent processing step to a destination memory area of the nonvolatile memory which is reserved for the destination file.
  • the encrypted data is decrypted by the cryptographic functionality by means of the decryption key in order then to write it in decrypted form to the destination memory area.
  • the decryption key in the keystore area is deleted.
  • the temporary storage area in this embodiment is set up within the storage area of the file system, it is advantageous to construct the temporary storage area as a local storage area allocated to the respective destination storage area or the respective file. In this solution, therefore, at least each target file of the volume has its own local cache area.
  • the staging area is set up outside of the file system, it is convenient to set it up as a global storage area that is equally available as a staging area for all files or destination storage areas and any other processing.
  • the management and setup of the cache area is generally subject to control of a memory management typically integrated into the disk's operating system, which depends, for example, on a segmentation and management strategy organizes the staging area. Also, using local staging areas, they may be directly set up as part of the memory area reserved for a file in EEPROM non-volatile memory, or as separate memory areas associated with the corresponding target memory areas via logical links.
  • the cryptographic decryption key is particularly preferably generated at the beginning of a write operation for each individually by the cryptographic functionality of the data carrier and stored in a non-volatile or volatile memory, so that it exists only during this one processing operation and access to the temporary storage area before and after does not exist.
  • a plurality of keys in advance and store them in the non-volatile memory, each of these keys being used in exactly one processing operation and then deleted.
  • a (master) encryption key can be used, to which a large number of individual decryption keys can be generated.
  • a global and a local variant of an arrangement in the non-volatile memory similar to the cache area there are also a global and a local variant of an arrangement in the non-volatile memory similar to the cache area.
  • a central keystore area is established outside the file system storage area of the EEPROM memory, which is accessed at each write. If a global staging area exists, it is additionally possible to use the global keystore area as Form part of the global cache area. If the processing of the data consists of copying into a destination memory area, local key memory areas can be set up, which are particularly advantageously associated as subareas of possible local cache areas with the destination memory areas or files.
  • the cryptographic functionality can be provided as a software component or as a hardware component.
  • a software solution can advantageously be designed as an operating system, while a hardware solution offers a cryptographic co-processor, whose functions are taken up by the operating system or the writing function when encrypting or decrypting data.
  • FIG. 1 shows a chip card according to the invention with a global buffer and a software cryptography functionality
  • FIG. 2 shows a flow chart of a preferred embodiment of the method according to the invention.
  • FIG. 3 shows a chip card according to the invention with local latches and a hardware cryptography functionality.
  • a conventional chip card comprises as essential components as illustrated in FIG. 1 a processor 2, a memory arrangement 3, 4, 5 and a Interface 7 for contacting the chip card 1 with a reading or processing device 2 via a corresponding interface 23 and for enabling a data transfer 21.
  • the communication connection within the chip card 1 is made by a bus system 8.
  • the memory arrangement 3, 4, 5 consists in the rule of three different memories, a permanent ROM 3, a non-volatile and rewritable memory 4, which is usually an EEPROM, but may also be a different type of memory, for.
  • As a flash memory, and a volatile RAM memory 5 the data is lost when the power supply of the chip card 1 is interrupted.
  • the operating system 9 of the chip card 1 is stored in the permanent ROM 3, where it remains unchanged over the entire life of the chip card 1. It includes a number of specific commands that implement elementary smart card functions, eg.
  • the operating system 9 includes a processing controller 10, which in this embodiment of the invention is a memory function and is used to write data 22 to files 13 in the EEPROM memory 4 which are to be stored on the chip card 1 as a result of a data communication 23 of the chip card 1 with a terminal 2.
  • the operating system 9 includes a cryptographic functionality 11 for encrypting and decrypting data.
  • the invention relates to the storage of data in files that are made available to a data carrier and in particular a chip card 1, every possible way of processing data, such as subjecting the data of a security-critical review, for example, as a PIN, password or signature, or other processing such as data signing, decryption, arithmetic or logical processing, and the like, where it may not be necessary to store the data in a file 13 in the EEPROM 4, but remain in the RAM 5 can.
  • processing modes are realized in the sense of the invention as two-stage processes, consisting of an encrypted buffering of the data and the subsequent actual processing of the decrypted data.
  • the processing step consists of copying the data 19, which is encrypted in the intermediate buffer 18, into a file 13 in the EEPROM memory 4 of the chip card 1.
  • this is by no means to be understood as limiting the invention to the storage of data.
  • the data of a smart card 1 is usually organized in a file system 12 consisting of directories (Dedicated File; DF File) and elementary file (EF File), with DF files on can reference other files, resulting in a tree structure.
  • Data 22 to be stored on the chip card 1 are thus sorted into a specific EF file 13 in the directory tree 12 and thus written into the memory area 14 of this EF data 13.
  • the exact memory area 14 of the EEPROM memory 4 which is to receive the data to be stored 22, results from the actual write command whose transfer values are interpreted by the operating system 9 and in physical memory addresses be implemented within the EEPROM memory 4.
  • the EEPROM memory 4 thus comprises a specific memory area 6 for the file system 12 and the data 15 stored therein and a memory area outside this memory area 6 in which other data can be stored.
  • FIG. 2 shows in steps S1 to S9 the uninterrupted flow of a storage process according to the present invention.
  • the commands indicated in FIG. 2 do not represent any real commands of a specific chip card or a specific operating system, but are to be understood as pseudocode commands which serve for pure illustration.
  • step S1 a store command STORE is called, which causes the execution of the processing control 10 according to the invention and whose transfer values - the data to be stored (data) and a destination file (file) - are interpreted by the operating system 9.
  • the processing controller 10 thus takes control of the data to be stored and requests it.
  • the STORE command Sl can also be understood as a data transmission 21 carried forward from an external terminal 20 to the chip card 1. Again, the processing controller 10 takes control of the data 22 and asks them in so far.
  • the STORE command is passed directly to a memory address that addresses the memory area 14 in the EEPROM memory 4 of the chip card 1, in which the data in question should be stored.
  • a cryptographic key 17 (key) is generated by the symmetrically operating cryptography function 11, which is stored in step S3 in a dedicated key memory area 16 in the EEPROM memory 4.
  • an encryption key could be immediately discarded after the encryption in step S3, while the associated decryption key 17 is stored in the key storage area 16.
  • the cryptographic key 17 and a memory address (key_adr) are passed to the corresponding SA VE command, which addresses the memory area 16 reserved for cryptographic key 17 in the EEPROM memory 4, which, as shown in FIG.
  • bit-by-bit data 22 (data) to be stored is then encrypted in step S4 by means of the key 17 (key), so that encrypted data 19 (data *) is created.
  • the encrypted data 19 are buffered in the buffer 18 in step S5, the encrypted data 19 and the memory address tmp_adr of the memory area 18 being transferred to the buffer routine WRITE_IN_TMP.
  • the data 22 transferred to the STORE command in step S1 are physically located first in the volatile RAM main memory 5 and are read out from there by the encryption routine 11 in step S4.
  • the encrypted data can then either be used by
  • WRITE_IN_TMP are again stored in RAM 4, or they are written directly into the staging area 18 with their generation (possibly as a data stream) without complete storage in RAM (but possibly only in specialized registers or special memories of a cryptographic co-processor).
  • the steps S4 and S5 or the commands ENC and WRITE_IN_TMP are advantageously carried out cooperatively.
  • the memory area 18 is a global memory area, it is not necessary to pass on the memory address tmp_adr since the operating system knows the global buffer area 18.
  • the embodiment of FIG. 1 further shows that the key memory area 16 can be integrated directly into the buffer area 18 or subsequently formed thereon. This is meaningful in that the key 17 and the encrypted data 19 always form a functional pair.
  • step S5 the data 22 to be stored lie in encrypted form 19 on the chip card 1 and can only be accessed by commands developed according to the invention using the cryptographic key 17. Accordingly, in step S8, the data is decrypted by means of the cryptographic key 17 to prepare for copying into the target storage area 14. In step S7, the now plain-text data 15 is in the final Target memory area 14 written to the file 13 in the memory area 6 of the EEPROM memory 4 is available.
  • the steps S6 and S7 or the commands DEC and COPY_TO_TARG can advantageously be carried out in a cooperative manner by transferring the data directly to the decryption in the target memory area without being stored in the RAM memory 4 14 are written.
  • step S7 it may be necessary to determine the memory address targ_adr of the destination memory area 14 using the file name "file" by means of the operating system 9.
  • step S7 the data to be stored in the EEPROM memory 4 exists twice, once in However, due to the encryption of the data 19, it is not necessary to actively delete the encrypted data 19, it is sufficient to delete the key 17 in step S8. Thereby, the access to the data 19 of the cache memory 18 is made impossible, and the data consistency is ensured The storage process is properly terminated in step S9.
  • step S5 With the complete buffering, that is with the completion of step S5, the data 22 to be stored are physically present for the first time in the EEPROM memory 4 of the chip card 1.
  • this point in time marks a decision limit in the error handling of an interruption of the power supply or any other fault, since in the event of a fault before completion of the buffer step S5, illustrated by the step F1 in FIG. 2, the data 22 to be stored is incomplete and encrypted in the buffer area 19 of the chip card 1 are present, so that the storage process can not be terminated properly. In this case, only the consistency of the data can be ensured or restored by deleting the already cached incomplete data.
  • the cryptographic key 17 is deleted in step F2, so that the partial data set stored in encrypted form prior to the interruption F1 can no longer be used.
  • the data storage is unsuccessful in step F4, but terminated without damage to the data consistency and the data storage may be repeated by the user if necessary.
  • the step F2 of deleting the key 17 may be accomplished differently depending on the storage location of the key 17. If the key 17 is located in the non-volatile memory 4 as shown in FIG. 1, it is deleted by the processing control 10 by means of an explicitly activated deletion process in the event of an interruption F1 of the buffering. This can be carried out immediately before the interruption F1 or immediately after the interruption or renewed contacting of the chip card 1 with the terminal 20.
  • the first case can be realized, for example, by the fact that, after the detection of an interruption by the chip card 1, any residual voltage present in the capacitors is used in order to quench the cryptographic key quasi in emergency operation.
  • the second variant ie the deletion of the key 17 immediately after restarting the chip card 1, can be realized by setting a logical flag at the beginning of the buffer step S5, which is only removed again when the step S5 is successfully completed .
  • the set flag indicates the interruption Fl and the operating system 9 of the smart card 1 can immediately carry out the step F2 of deleting the key 17.
  • step F6 In the event of an interruption F5 after the end of step S5, that is to say for example during the copying S7 of the data 19 from the buffer area 18 to the destination memory area 14, the interrupted copying step S7 can be continued in step F6.
  • the copying process is then resumed exactly at the memory address fail_adr at which the copying process S7 was aborted.
  • This memory address can be determined by the operating system 9, either by buffering memory addresses during step S7 or an analysis of the target memory area 14 after restarting the smart card 1.
  • step F6 the original copy step S7 can be repeated without consideration of the error address .
  • the key 17 is cleared in step F7 and the writing process in step F8 is ended.
  • interruptions of all other steps S1 to S4 or S6, S8, S9 can also be handled, depending on whether they occurred before or after the end of step S5.
  • symmetric cryptography methods such as B. DES, AES or their variants
  • identical encryption and decryption keys 17 to use.
  • a fixed master key can be used for encrypting and individual decryption keys derived from the master key can be stored in the key memory 16 for decryption.
  • a plurality of decryption keys can be generated in advance, which are then used sequentially and deleted after use.
  • the cryptographic functionality can be made available by an operating system routine 11, as shown in FIG. 1, or as a hardware solution by means of a special cryptographic chip 11, eg in FIG. For example, a high-speed triple DES co-processor.
  • the arrangement of the key memory area 16 and the buffer area 18 in connection with the target memory area 14 can also be realized differently from the solution illustrated in FIG. 3 shows an embodiment in which the key memory areas 16 and buffer memory areas 18 are locally linked to the target memory area 14 of an EF file 13 in the memory area 6 for the file system 12.
  • Each target memory area 14 is thus assigned an individual buffer memory area 18 and a key memory area 16.
  • this can be realized with a physically or logically connected memory area or address space, or the locally large memory areas 14, 16 and 18 can be associated with each other by logic operations.
  • Also useful may be an arrangement in which, although the buffer area is locally located in the storage area 14 of the file 13, the Key storage area 17, however, globally outside the memory area 6. It is equally possible to arrange the key memory area locally within the memory area 14 of the file 13, while the buffer area 16 is formed as a global area outside the memory area 6 of the EEPROM memory 4.

Abstract

Verfahren zum sicheren Verarbeiten von Daten in einem tragbaren Datenträger, gekennzeichnet durch die Schritte: a) Anfordern der zu verarbeitenden Daten; b) Verschlüsseln der zu verarbeitenden Daten; c) Zwischenspeichern der verschlüsselten Daten in einem Zwischenspeicherbereich des Datenträgers; d) Entschlüsseln der zwischengespeicherten, verschlüsselten Daten mittels eines Entschlüsselungsschlüssels und e) Verarbeiten der entschlüsselten Daten.

Description

,.
TRAGBARER DATENTRÄGER MIT SICHERER DATENVERARBEITUNG
Die Erfindung betrifft ein Verfahren zum sicheren Verarbeiten von Daten in einem tragbaren Datenträger, insbesondere in einer Chipkarte, und einen derartigen Datenträger.
Zum Verarbeiten von Daten von einem mit einem Prozessor ausgestatteten tragbaren Datenträger, die diesem von einer externen Einrichtung zur Verfügung gestellt werden, besitzt der Datenträger Schreibfunktionen, die die Daten in einen bestimmten Speicherbereich eines nichtflüchtigen Speichers des Datenträgers schreiben, beispielsweise in einen EEPROM-Speicher einer Chipkarte. Dies gilt zum beispielsweise für Chipkarten und SmartCards, die für Transaktionen an einem Terminal eines Point-of-Sale oder eines Kreditinstituts verwendet werden. Üblicherweise werden solche Daten anhand einer Speicheradresse bitweise in eine Zieldatei des Datenträgers geschrieben wer- den. Derartige nach ISO-IIC 7816-4 standardisierte Schreibkommandos für Chipkarten sind beispielsweise UPD ATE-BINARY und WRITE-BINARY.
Zumeist sind die dem Datenträger zur Verfügung gestellten Daten nicht mehr als 256 Byte lang. Falls der Vorgang des Übertragens der Daten auf den Datenträger unterbrochen wird, beispielsweise durch eine Unterbrechung der Stromversorgung, muss ein 256 Byte großer Speicherbereich gelöscht werden, um Dateninkonsistenzen zu vermeiden und die Integrität des Datenträgers sicherzustellen. Dies gilt insbesondere bei Chipkarten deshalb, weil Daten durch Aufbringen von Ladungen auf Kondensatoren gespeichert werden und das Einschreiben von Datenbits in den EEPROM-Speicher bei bestimmten Schreibkommandos von den zu überschreibenden Bits bzw. den aktuellen Energieniveaus der Kondensatoren abhängig sein kann. Da die meisten nichtflüchtigen (EEPROM) Speicher in Seiten zu 64 Byte organisiert sind, ergibt sich für das Datenlöschen ein typischer Zeitbedarf von 3 ms x 256/64 = 12 ms. Dieser Zeitbedarf ist auch bei kontaktlos betriebenen Chip- karten noch vertretbar. Beim Speichern von größeren Datensätzen kann die Zeit für das Löschen des entsprechenden Speicherbereichs jedoch inakzeptabel lang werden. So wird bei einem Datensatz von 8 KByte bereits eine Löschzeit von 8192/64 x 3 ms = 384 ms benötigt.
Die EP 0811 204 Bl beschreibt ein Verfahren zum Speichern von Daten in einer Chipkarte, bei dem vor einer Verarbeitung der Daten durch die Chipkarte eine Zugriffsberechtigung überprüft wird und die Daten vor der Überprüfung der Zugriffsberechtigung in einem dafür vorgesehenen Speicherbe- reich zwischengespeichert werden. Die EP 0 914 640 Bl offenbart die Speicherung und Verwendung sicherheitskritischer Information in einem Datenträger, wobei die Daten vor einer Verwendung gegen unerlaubten Zugriff durch Verschlüsseln mit temporären Schlüsseln geschützt werden. Keine der vorgenannten Schriften bietet jedoch eine Lösung für das Problem zu langer Löschzeiten bei einer Unterbrechung eines Schreibprozesses an.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum sicheren Verarbeiten von Daten und einen dementsprechenden Datenträger vorzuschlagen, bei dem ein Löschen von Speicherbereichen beschleunigt durch- geführt wird.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren und einen Datenträger mit den Merkmalen der unabhängigen Ansprüche gelöst. In davon abhängigen Ansprüchen sind vorteilhafte Ausgestaltungen und Weiterbil- düngen der Erfindung angegeben.
Ein Datenträger gemäß der vorliegenden Erfindung umfasst zumindest einen Prozessor und einen nichtflüchtigen Speicher - üblicherweise einen wie- derbeschreibbaren EEPROM-Speicher - sowie eine von dem Prozessor aus- führbare, speziell ausgebildete Verarbeitungssteuerung. Diese Verarbeitungssteuerung fordert die von dem Datenträger zu verarbeitenden Daten an und führt sie der Verarbeitung zu.
Die Verarbeitungssteuerung führt die von einer externen Vorrichtung zur Verfügung gestellten Daten jedoch nicht direkt einer Verarbeitung zu, beispielsweise einer Passwort- oder PIN-Überprüfung, einer Signierung oder Speicherung in einem Zielspeicherbereich, sondern legt sie zunächst in einem ersten Schritt in einem im nichtflüchtigen Speicher ausgebildeten Zwischen- Speicherbereich ab, um erst im zweiten Schritt ihre Verarbeitung zu bewirken. Die Daten werden dabei im ersten Schritt verschlüsselt und nur in verschlüsselter Form in dem Zwischenspeicherbereich zwischengespeichert, wobei die Verschlüsselung durch eine Kryptographiefunktionalität des Datenträgers durchgeführt wird. Zum Verarbeiten der Daten werden die nun- mehr verschlüsselten Daten durch die Kryptographiefunktionalität mittels eines kryptographischen Schlüssels zunächst entschlüsselt und im Anschluss daran in entschlüsselter Form verarbeitet.
Nachdem die Verarbeitung vollständig beendet ist, liegen die Daten zwar noch im Zwischenspeicher vor, jedoch verschlüsselt, so dass sie ohne Entschlüsselungsschlüssel nicht lesbar sind. Sie müssen daher nicht gelöscht werden. Statt dessen können sie zu einem beliebigen Zeitpunkt gelöscht werden, zum Beispiel dann, wenn dem Datenträger neue Daten zur Verarbeitung zu Verfügung gestellt werden. Vorzugsweise wird der Entschlüsse- lungsschlüssel im Schlüsselspeicherbereich unmittelbar nach Beendigung der Datenverarbeitung gelöscht. Dann besteht keinerlei Möglichkeit mehr, auf die verschlüsselten Daten des Zwischenspeicherbereichs zuzugreifen. - A -
Durch das Zwischenspeichern verschlüsselter Daten wird ein (z. B. aufgrund einer Unterbrechung eines Datenspeicherprozesses) erforderliches Löschen der zwischengespeicherten Daten unnötig oder zumindest auf das Löschen des zugehörigen Entschlüsselungsschlüssels reduziert. Da die Entschlüsse- lungsschlüssel in der Regel eine konstante und in der Regel wesentlich kürzere Bitlänge als die Daten haben, kann das Löschen bzw. Unbrauchbarmachen der zwischengespeicherten Daten durch Löschen des Entschlüsselungsschlüssels schnell und wirksam durchgeführt werden.
Die Schritte des Zwischenspeicherns und des Entschlüsseins zur unmittelbaren weiteren Verarbeitung werden vorzugsweise unmittelbar nacheinander ausgeführt, so dass beide Schritte eine funktionelle Einheit bilden und das Zwischenspeichern für einen Benutzer des Datenträgers transparent nicht ersichtlich ist. Dadurch wird erreicht, dass die Daten nur solange lesbar im Zwischenspeicher verbleiben, wie es zur Sicherung der Datenintegrität bei einer Unterbrechung notwendig ist, denn nach der Verarbeitung können die verschlüsselten Daten durch Löschen des Entschlüsselungsschlüssel unlesbar gemacht werden, da sie dann nicht mehr gebraucht werden. Der Zwischenspeicherbereich ist insofern vorzugsweise als ein ausgewählter, temporärer Speicherbereich ausgebildet, und nicht für ein Ablegen von Daten in zugreifbarer oder adressierbarer Form. Auf den Zwischenspeicherbereich kann vorzugsweise außer der Verarbeitungssteuerung keine Applikation und kein Benutzer zugreifen.
Prinzipiell kann das Verfahren auf jedem mit Rechenkapazität ausgestatteten Datenträger durchgeführt werden, erfindungsgemäß jedoch auf portablen Datenträgern mit Prozessor, wie z.B. Chipkarten, SmartCards, PCMCIA- Karten, sichere Multimediakarten, USB-Tokens und dergleichen mehr, insbesondere im Zusammenhang mit der Datenübertragung zwischen einem sol- chen Datenträger und einem externen Gerät, wie z.B. einem Chipkarten- Terminal, einem Point-Of-Sale, einem sonstigen Lesegrät, etc. Dabei ist ein die Funktionsweise des Datenträgers steuerndes Betriebssystem in einem permanenten ROM-Speicher abgelegt, das vorzugsweise auch die Verarbei- tungssteuerung sowie die Kryptographiefunktion umfasst.
Zum Ver- und Entschlüsseln ist es möglich, sowohl ein symmetrisches Verfahren als auch ein asymmetrisches Verfahren zu verwenden. Bei einem symmetrischen Verfahren ist der Schlüssel zum Verschlüsseln der Daten beim Zwischenspeichern der gleiche, wie der Schlüssel zum Entschlüsseln der Daten beim Kopieren. Bei einem asymmetrischen Verfahren sind diese Schlüssel verschieden, wobei dann nach dem Verarbeiten der Daten lediglich der Entschlüsselungsschlüssel gelöscht werden muss, um weitere Zugriffe auf die im Zwischenspeicher befindlichen Daten zu verhindern.
Während des zweistufigen Verarbeitungsprozesses kann eine unerwünschte Unterbrechung einerseits während des initialen Zwischenspeicherns und andererseits während des abschließenden Verarbeitens auftreten. Bei einer Unterbrechung während des Zwischenspeicherns einer angeforderten Da- tenmenge, also zu einem Zeitpunkt, zu dem die verschlüsselten Daten noch unvollständig in dem Zwischenspeicherbereich vorliegen, wird der Entschlüsselungsschlüssel gelöscht, um ein Zugreifen auf die unvollständigen und inkonsistenten Daten des Zwischenspeicherbereichs unmöglich zu machen.
Hierbei kann der Entschlüsselungsschlüssel einerseits in einem im nichtflüchtigen Speicher des Datenträgers ausgebildeten Schlüsselspeicherbereich abgelegt sein, z.B. im EEPROM-Speicher einer Chipkarte, oder andererseits in einem flüchtigen Speicherbereich, z.B. im RAM-Speicher einer Chipkarte. Im ersteren Fall wird der Entschlüsselungsschlüssel bei einer Unterbrechung während des Zwischenspeicherns vorzugsweise mittels eines aktiven, von der Verarbeitungssteuerung angestoßenen Löschvorgangs gelöscht. Dieser aktive Löschvorgang kann dann einerseits quasi gleichzeitig mit dem Auftre- ten der Unterbrechung durchgeführt werden oder andererseits unmittelbar nach Aufheben der Unterbrechung als im wesentlichen erste Operation des Datenträgers nach der Unterbrechung. Dagegen muss der Entschlüsselungsschlüssel im letzteren Fall, also bei seinem Vorliegen in einem flüchtigen RAM-Speicher, nicht notwendigerweise aktiv von der Verarbeitungssteue- rung gelöscht werden, sondern er wird als direkte Folge der Stromunterbrechung, ohne einen von der Verarbeitungssteuerung angestoßenen aktiven Löschvorgang gelöscht.
Bei einer Unterbrechung des Verarbeitens der Daten wird das Verarbeiten nach Aufheben der Unterbrechung prinzipiell zu Ende geführt und der Entschlüsselungsschlüssel erst gelöscht wenn die Daten vollständig verarbeitet sind. Eine Dateninkonsistenz kann hierbei nicht auftreten, da die Daten in dem Zwischenspeicherbereich bereits vollständig vorliegen und eine unterbrochene Verarbeitung bei einem Wiederherstellen der Stromversorgung fortgesetzt oder neu begonnen werden kann.
In der Regel ist auf einem Datenträger ein Dateisystem eingerichtet, um die gespeicherten Daten zu strukturieren und logisch adressierbar zu machen. Deshalb kann der nichtflüchtige Speicher eines Datenträgers prinzipiell un- terteilt werden in einen für ein Dateisystem vorgesehenen Speicherbereich und den restlichen, nicht als Dateisystem organisierten Speicherbereich. Der Zwischenspeicherbereich kann dann entweder innerhalb des Dateisystem- Speicherbereichs oder außerhalb dieses Speicherbereichs eingerichtet werden. Bei einer besonders bevorzugten Ausführungsform umfasst das Verarbeiten der Daten ein Speichern der Daten in einer von Benutzern oder Applikationen zugreifbaren Zieldatei des Datenträgers. Dabei werden die zunächst im Zwischenspeicher verschlüsselt vorliegenden Daten im anschließenden Verarbeitungsschritt in einen Zielspeicherbereich des nichtflüchtigen Speichers kopiert, der für die Zieldatei reserviert ist. Beim Kopieren der verschlüsselten Daten in den Zielspeicherbereich werden die verschlüsselten Daten durch die Kryptographiefunktionalität mittels des Entschlüsselungsschlüs- sels entschlüsselt, um sie anschließend in entschlüsselter Form in den Zielspeicherbereich zu schreiben. Nachdem die Daten vollständig und in entschlüsselter Form in dem Zielspeicherbereich in der dafür vorgesehenen Zieldatei vorliegen, wird der Entschlüsselungsschlüssel im Schlüsselspeicherbereich gelöscht.
Falls der Zwischenspeicherbereich bei dieser Ausführungsform innerhalb des Speicherbereichs des Dateisystems eingerichtet ist, ist es vorteilhaft, den Zwischenspeicherbereich als lokalen, dem jeweiligen Zielspeicherbereich bzw. der jeweiligen Datei zugeordneten Speicherbereich auszubilden. Bei dieser Lösung besitzt also zumindest jede Zieldatei des Datenträgers einen eigenen lokalen Zwischenspeicherbereich. Falls der Zwischenspeicherbereich jedoch außerhalb des Dateisystems eingerichtet ist, ist es zweckmäßig, diesen als globalen Speicherbereich einzurichten, der für alle Dateien bzw. Zielspeicherbereiche und jede beliebige anderweitige Verarbeitung gleichermaßen als Zwischenspeicherbereich zur Verfügung steht.
Die Verwaltung und Einrichtung des Zwischenspeicherbereichs unterliegt im allgemeinen der Kontrolle einer in der Regel im Betriebsystem des Datenträgers integrierten Speicherverwaltung, die abhängig von beispielsweise einer Segmentierungs- und Verwaltungsstrategie den Zwischenspeicherbereich organisiert. Auch können bei Verwendung lokaler Zwischenspeicherbereiche diese direkt als Teil des für eine Datei reservierten Speicherbereichs im nichtflüchtigen EEPROM-Speicher eingerichtet werden, oder als davon getrennte Speicherbereiche, die mit den entsprechenden Zielspeicherbereichen über logische Verknüpfungen assoziiert werden.
Der kryptographische Entschlüsselungsschlüssel wird besonders bevorzugt zu Beginn eines Schreibvorgangs für diesen jeweils individuell durch die Kryptographiefunktionalität des Datenträgers erzeugt und in einem nicht- flüchtigen oder flüchtigen Speicher abgelegt, so dass er nur während dieses einen Verarbeitungsvorgangs existent ist und eine Zugriffsmöglichkeit auf den Zwischenspeicherbereich vorher und nachher nicht besteht.
Ebenso ist es auch möglich, eine Vielzahl von Schlüsseln im Voraus zu generieren und im nichtflüchtigen Speicher abzulegen, wobei jeder dieser Schlüssel bei genau einem Verarbeitungsvorgang verwendet und danach gelöscht wird. Bei asymmetrischer Verschlüsselung kann beispielsweise auch ein (Master-) Verschlüsselungsschlüssel verwendet werden, zu dem eine Viel- zahl von individuellen Entschlüsselungsschlüsseln erzeugt werden können.
Neben der Anordnung des Schlüsselspeicherbereichs in einem flüchtigen Speicher, wie z.B. dem RAM-Speicher einer Chipkarte, gibt es ähnlich wie beim Zwischenspeicherbereich auch eine globale und eine lokale Variante einer Anordnung im nichtflüchtigen Speicher. Bei der globalen Variante wird ein zentraler Schlüsselspeicherbereich außerhalb des Dateisystem- Speicherbereichs des EEPROM-Speichers eingerichtet, auf den bei jedem Schreibvorgang zugegriffen wird. Falls ein globaler Zwischenspeicherbereich existiert, ist es zusätzlich möglich, den globalen Schlüsselspeicherbereich als Teil des globalen Zwischenspeicherbereichs auszubilden. Falls die Verarbeitung der Daten aus einem Kopieren in einen Zielspeicherbereich besteht, können lokale Schlüsselspeicherbereiche eingerichtet werden, die besonders vorteilhaft als Teilbereiche möglicher lokaler Zwischenspeicherbereiche mit den Zielspeicherbereichen bzw. Dateien assoziiert werden.
Die kryptographische Funktionalität kann als Softwarekomponente oder als Hardwarekomponente bereitgestellt werden. Dabei kann einer Softwarelösung vorteilhaft als Betriebssystemroutine ausgebildet sein, während sich bei einer Hardwarelösung ein kryptographischer Co-Pr ozessor anbietet, dessen Funktionen durch das Betriebssystem bzw. die Schreibfunktion beim Ver- oder Entschlüsseln von Daten in Anspruch genommen werden.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgen- den Beschreibung verschiedener erfindungsgemäßer Ausführungsbeispiele und Ausführungsalternativen im Zusammenhang mit den begleitenden Zeichnungen. Darin zeigen:
Figur 1 eine erfindungsgemäße Chipkarte mit globalem Zwischenspeicher und einer Software-Kryptographiefunktionalität;
Figur 2 ein Flussdiagramm einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens; und
Figur 3 eine erfindungsgemäße Chipkarte mit lokalen Zwischenspeichern und einer Hardware -Kryptographiefunktionalität.
Eine herkömmliche Chipkarte umfasst als wesentliche Komponenten wie in Figur 1 illustriert einen Prozessor 2, eine Speicheranordnung 3, 4, 5 und eine Schnittstelle 7 zum Kontaktieren der Chipkarte 1 mit einem Lese- oder Bearbeitungsgerät 2 über eine korrespondierende Schnittstelle 23 und zum Ermöglichen eines Datentransfers 21. Die Kommunikationsverbindung innerhalb der Chipkarte 1 wird hergestellt durch ein Bussystem 8. Die Spei- cheranordnung 3, 4, 5 besteht in der Regel aus drei verschiedenartigen Speichern, einem permanenten ROM-Speicher 3, einem nichtflüchtigen und wie- derbeschreibbaren Speicher 4, der üblicherweise ein EEPROM ist, aber auch ein anderer Speichertyp sein kann, z. B. ein Flash-Speicher, sowie einem flüchtigen RAM- Arbeitsspeicher 5, dessen Daten verloren gehen, sobald die Stromversorgung der Chipkarte 1 unterbrochen wird.
Das Betriebssystem 9 der Chipkarte 1 ist in dem permanenten ROM-Speicher 3 abgelegt, wo es über die gesamte Lebensdauer der Chipkarte 1 unverändert bleibt. Es umfasst eine Anzahl spezifischer Kommandos, die elementare Chipkartenfunktionen realisieren, z. B. Ein- und Ausgabe, Authentisierung, Speicherverwaltung, etc. Insbesondere umfasst das Betriebssystem 9 eine Verarbeitungssteuerung 10, die bei dieser Ausführungsform der Erfindung als Speicherfunktion ausgebildet ist und eingesetzt wird, um Daten 22 in Dateien 13 in dem EEPROM-Speicher 4 zu schreiben, die in Folge einer Daten- kommunikation 23 der Chipkarte 1 mit einem Terminal 2 auf der Chipkarte 1 gespeichert werden sollen. Gemäß des Standards ISO/ IEC 7816-4 repräsentieren beispielsweise die Kommandos WRITE-BINARY und UPDATE- BINARY derartige Schreib- bzw. Speicherfunktionen. Die Verarbeitungssteuerung 10 der Figur 1 ist erfindungsgemäß als Speicherfunktion ausgestal- tet, deren Funktionsweise das Flussdiagramm der Figur 2 skizziert. Darüber hinaus umfasst das Betriebssystem 9 eine Kryptographiefunktionalität 11 zum Verschlüsseln und Entschlüsseln von Daten. Grundsätzlich betrifft die Erfindung neben dem Speichern von Daten in Dateien, die einem Datenträger und insbesondere einer Chipkarte 1 zur Verfügung gestellt werden, jede mögliche Art der Verarbeitung von Daten, z.B. das Unterziehen der Daten einer sicherheitskritischen Überprüfung z.B. als PIN, Passwort oder Signatur, oder andere Verarbeitungen wie z.B. ein Signieren mittels der Daten, Entschlüsseln, arithmetische oder logische Verarbeitung und dergleichen mehr, bei der es unter Umständen nicht notwendig ist, die Daten in einer Datei 13 im EEPROM-Speicher 4 abzulegen, sondern sie im RAM-Speicher 5 verbleiben können. Alle diese Verarbeitungsmodi werden im Sinne der Erfindung als zweistufige Prozesse realisiert, bestehend aus einem verschlüsselten Zwischenspeichern der Daten und dem anschließenden eigentlichen Verarbeiten der entschlüsselten Daten. Im folgenden wird eine besonders bevorzugte Ausführungsform der Erfindung erläutert, bei der der Verarbeitungsschritt aus einem Kopieren der im Zwischenspei- eher 18 verschlüsselt vorliegenden Daten 19 in eine Datei 13 im EEPROM- Speicher 4 der Chipkarte 1 besteht. Dies ist jedoch keinesfalls als Beschränkung der Erfindung auf das Speichern von Daten zu verstehen.
Ähnlich wie bei einem herkömmlichen Computer sind die Daten einer Chip- karte 1 üblicherweise in einem Dateisystem 12 organisiert, das aus Verzeichnissen (Dedicated File; DF-Datei) und datentragenden Dateien (Elementary File; EF-Datei) besteht, wobei DF-Dateien auf andere Dateien verweisen können, so dass sich eine Baumstruktur ergibt. Auf der Chipkarte 1 zu speichernde Daten 22 werden also in eine bestimmte EF-Datei 13 in den Ver- zeichnisbaum 12 einsortiert und insofern in den Speicherbereich 14 dieser EF-Daten 13 geschrieben. Der genaue Speicherbereich 14 des EEPROM- Speichers 4, der die zu speichernden Daten 22 aufnehmen soll, ergibt sich aus dem eigentlichen Schreibkommando dessen Übergabewerte von dem Betriebssystem 9 interpretiert werden und in physikalische Speicheradressen innerhalb des EEPROM-Speichers 4 umgesetzt werden. Der EEPROM- Speicher 4 umfasst also einen bestimmten Speicherbereich 6 für das Dateisystem 12 und die darin abgelegten Daten 15 und einen außerhalb dieses Speicherbereichs 6 liegenden Speicherbereich, in dem andere Daten abgelegt werden können.
Figur 2 zeigt in den Schritten Sl bis S9 den unterbrechungsfreien Ablauf eines Speicherprozesses gemäß der vorliegenden Erfindung. Die in Figur 2 angegebenen Kommandos repräsentieren keine realen Kommandos einer bestimmten Chipkarte oder eines bestimmten Betriebssystems, sondern sind als Pseudocode-Kommandos aufzufassen, die der reinen Illustration dienen.
In Schritt Sl wird ein Speicherkommando STORE aufgerufen, das die Ausführung der erfindungsgemäßen Verarbeitungssteuerung 10 bewirkt und dessen Übergabewerte - die zu speichernden Daten (data) und eine Zieldatei (file) - von dem Betriebsystem 9 interpretiert werden. Die Verarbeitungssteuerung 10 übernimmt also die Kontrolle über die zu speichernden Daten und fordert sie an. Das STORE-Kommando Sl kann auch als eine von einem externen Terminal 20 an die Chipkarte 1 herangetragene Datenübertragung 21 verstanden werden. Auch hierbei übernimmt die Verarbeitungssteuerung 10 die Kontrolle über die Daten 22 und fordert sie insofern an. Anstelle eines aus speicherorganisatorischer Sicht abstrakten Dateinamens ist es auch möglich, dass dem STORE-Kommando direkt eine Speicheradresse übergeben wird, die den Speicherbereich 14 im EEPROM-Speicher 4 der Chipkarte 1 adressiert, in dem die betreffenden Daten gespeichert werden sollen. Zusätzlich kann es der Fall sein, dass außer dieser Offset-Speicheradresse auch die Anzahl der zu schreibenden Bytes übergeben wird, also die Größe der zu speichernden Daten. Im Schritt S2 wird durch die symmetrisch arbeitende Kryptographiefunktion 11 ein kryptographischer Schlüssel 17 (key) erzeugt, welcher in Schritt S3 in einem hierfür reservierten Schlüsselspeicherbereich 16 im EEPROM-Speicher 4 abgespeichert wird. Bei einer asymmetrischen Ver- und Entschlüsselung könnte ein Verschlüsselungsschlüssel nach dem Verschlüsseln in Schritt S3 sofort verworfen werden, während der zugehörige Entschlüsselungsschlüssel 17 im Schlüsselspeicherbereich 16 gespeichert wird. Zum Speichern des Schlüssels wird dem entsprechenden SA VE-Kommando hierfür der krypto- graphische Schlüssel 17 sowie eine Speicheradresse (key_adr) übergeben, die den für kryptographische Schlüssel 17 reservierten Speicherbereich 16 im EEPROM-Speicher 4 adressiert, der, wie in Figur 1 dargestellt, vorzugsweise außerhalb des Speicherbereichs 6 für das Dateisystem 12 als globaler Speicherbereich ausgebildet ist. Sämtliche im Rahmen des Datenspeichers erzeugten kryptographischen Schlüssel 17 werden dann in dem gleichen Schlüsselspeicherbereich 16 gespeichert. Dies ist möglich, da die Schlüssel 17 für jeden Speicherprozess individuell erzeugt und nach Beendigung des Speichervorgangs gelöscht werden.
Bei einem derartigen globalen Schlüsselspeicherbereich 16 ist es strengge- nommen nicht nötig, den SA VE-Kommando in Schritt S3 eine Speicheradresse key_adr zu übergeben, da die konstante Speicheradresse des Schlüsselspeicherbereichs 16 dem Betriebssystem 9 ohnehin bekannt ist.
Die bitweise zu speichernden Daten 22 (data) werden anschließend in Schritt S4 mittels des Schlüssels 17 (key) verschlüsselt, so dass verschlüsselte Daten 19 (data*) entstehen. Die verschlüsselten Daten 19 werden in Schritt S5 in dem Zwischenspeicher 18 zwischengespeichert, wobei der Zwischenspeicher-Routine WRITE_IN_TMP die verschlüsselten Daten 19 und die Speicheradresse tmp_adr des Speicherbereichs 18 übergeben werden. Die den STORE-Kommando in Schritt Sl übergebenen Daten 22 liegen physikalisch zunächst im flüchtigen RAM- Arbeitsspeicher 5 und werden von dort von der Verschlüsselungsroutine 11 in Schritt S4 ausgelesen. Die ver- schlüsselten Daten können dann entweder zur Verwendung durch
WRITE_IN_TMP wieder im RAM-Speicher 4 abgelegt werden, oder sie werden direkt mit ihrer Erzeugung (möglicherweise als Datenstrom) ohne vollständiges Ablegen im RAM-Speicher (sondern möglicherweise nur in spezialisierten Registern oder SpezialSpeichern eines kryptographischen Co- Prozessors) in den Zwischenspeicherbereich 18 geschrieben. Im letztgenannten Fall werden die Schritte S4 und S5 bzw. die Kommandos ENC und WRITE_IN_TMP in vorteilhafter Weise zusammenwirkend durchgeführt.
Falls es sich wie in der Ausführungsform der Figur 1 bei dem Speicherbe- reich 18 um einen globalen Speicherbereich handelt, ist ein Übergeben der Speicheradresse tmp_adr nicht notwendig, da das Betriebssystem den globalen Zwischenspeicherbereich 18 kennt. Die Ausführungsform der Figur 1 zeigt weiterhin, dass der Schlüsselspeicherbereich 16 direkt in den Zwischenspeicherbereich 18 integriert bzw. an ihn anschließend ausgebildet sein kann. Dies ist insofern sinnvoll, da der Schlüssel 17 und die verschlüsselten Daten 19 immer ein funktionales Paar bilden.
Nach Beendigung des Schrittes S5 liegen die zu speichernden Daten 22 in verschlüsselter Form 19 auf der Chipkarte 1 und auf sie kann nur von erfin- dungsgemäß ausgebildeten Kommandos unter Verwendung des kryptographischen Schlüssels 17 zugegriffen werden. Demzufolge werden die Daten in Schritt S8 zur Vorbereitung des Kopierens in den Zielspeicherbereich 14 mittels des kryptographischen Schlüssel 17 entschlüsselt. In Schritt S7 werden die nunmehr im Klartext vorliegenden Daten 15 in den endgültigen Zielspeicherbereich 14 geschrieben, der der Datei 13 im Speicherbereich 6 des EEPROM-Speichers 4 zur Verfügung steht. Analog zu dem oben erläuterten Zusammenwirken der Zwischenspeicherschritten S4 und S5 können die Schritte S6 und S7 bzw. die Kommandos DEC und COPY_TO_TARG in vor- teilhafter Weise zusammenwirkend ausgeführt werden, indem die Daten ohne Ablegen im RAM-Speicher 4 direkt mit der Entschlüsselung in den Zielspeichebereich 14 geschrieben werden.
Zum Durchführen des Kopierschritts S7 ist es unter Umständen notwendig, die Speicheradresse targ_adr des Zielspeicherbereichs 14 anhand des Dateinamens „file" mittels des Betriebsystems 9 zu ermitteln. Mit Beendigung des Schrittes S7 existieren die zu speichernden Daten im EEPROM-Speicher 4 also zweimal, einmal in verschlüsselter Form 19 im Zwischenspeicherbereich 18 und einmal in entschlüsselter Form 15 im Zielspeicherbereich 14. Auf- grund der Verschlüsselung der Daten 19 ist es jedoch nicht notwendig, die verschlüsselten Daten 19 aktiv zu löschen, es reicht, den Schlüssel 17 in Schritt S8 zu löschen. Dadurch wird der Zugriff auf die Daten 19 des Zwischenspeichers 18 unmöglich gemacht und die Datenkonsistenz bleibt gewährleistet. Der Speicherprozess wird in Schritt S9 ordnungsgemäß beendet.
Mit dem vollständigen Zwischenspeichern, also mit Beendigung des Schrittes S5, liegen die zu speichernden Daten 22 erstmals physikalisch im EEPROM-Speicher 4 der Chipkarte 1 vollständig vor. Dieser Zeitpunkt markiert insofern eine Entscheidungsgrenze bei der Fehlerbehandlung einer Un- terbrechung der Stromversorgung oder einer sonstigen Störung, da bei einer Störung vor Beendigung des Zwischenspeicherschrittes S5, illustriert durch den Schritt Fl in Figur 2, die zu speichernden Daten 22 nur unvollständig und verschlüsselt im Zwischenspeicherbereich 19 der Chipkarte 1 vorliegen, so dass der Speicherprozess nicht ordnungsgemäß beendet werden kann. In diesem Fall kann nur die Konsistenz der Daten sichergestellt bzw. wiederhergestellt werden, indem die bereits zwischengespeicherten unvollständigen Daten gelöscht werden. Zu diesem Zweck wird in Schritt F2 der kryp- tographische Schlüssel 17 gelöscht, so dass der vor der Unterbrechung Fl verschlüsselt abgespeicherte Teildatensatz nicht mehr verwendet werden kann. Die Datenspeicherung wird in Schritt F4 zwar erfolglos, jedoch ohne Schaden für die Datenkonsistenz beendet und die Datenspeicherung kann durch den Benutzer gegebenenfalls wiederholt werden.
Der Schritt F2 des Löschens des Schlüssels 17 kann abhängig von dem Speicherort des Schlüssels 17 unterschiedlich bewerkstelligt werden. Falls der Schlüssel 17 wie in Figur 1 gezeigt im nichtflüchtigen Speicher 4 liegt, wird er bei einer Unterbrechung Fl des Zwischenspeicherns von der Verarbeitungs- Steuerung 10 mittels eines explizit aktivierten Löschvorgangs gelöscht. Dies kann unmittelbar vor der Unterbrechung Fl oder unmittelbar nach dem Aufheben der Unterbrechung bzw. dem erneuten in Kontakt bringen der Chipkarte 1 mit dem Terminal 20 durchgeführt werden. Der erste Fall kann beispielsweise dadurch realisiert werden, dass nach dem Erkennen einer Un- terbrechung durch die Chipkarte 1 eine etwaig vorhandene Restspannung in den Kondensatoren verwendet wird, um den kryptographischen Schlüssel quasi im Notbetrieb noch zu löschen. Die zweite Variante, also das Löschen des Schlüssels 17 unmittelbar nach Wiederinbetriebnahme der Chipkarte 1, kann dadurch realisiert werden, dass zu Beginn des Zwischenspeicherschrit- tes S5 ein logisches Flag gesetzt wird, das nur dann wieder entfernt wird, wenn der Schritt S5 erfolgreich abgeschlossen wird. Bei der Wiederinbetriebnahme nach einer Unterbrechung Fl zeigt das gesetzte Flag die Unterbrechung Fl an und das Betriebssystem 9 der Chipkarte 1 kann den Schritt F2 des Löschens des Schlüssels 17 unmittelbar durchführt. Es ist jedoch auch möglich, den Schlüssel 17 im flüchtigen RAM-Speicher 5 abzulegen, da er lediglich temporär gebraucht wird. Bei einer Unterbrechung Fl des Zwischenspeicherns würde der Schlüssel 17 dann unmittelbar in FoI- ge der Unterbrechung Fl gelöscht, da der flüchtige RAM-Speicher 4 seine Daten bei einer Stromunterbrechung verliert, ohne dass ein aktives Löschen nötig wäre.
Bei einer Unterbrechung F5 nach Beendigung des Schrittes S5, also bei- spielsweise während des Kopierens S7 der Daten 19 vom Zwischenspeicherbereich 18 in den Zielspeicherbereich 14 kann der unterbrochene Kopierschritt S7 im Schritt F6 fortgesetzt werden. Der Kopiervorgang wird dann genau an der Speicheradresse fail_adr wieder aufgenommen, bei der der Ko- pierprozess S7 abgebrochen wurde. Diese Speicheradresse kann von dem Betriebssystem 9 ermittelt werden, entweder durch Zwischenspeichern von Speicheradressen während des Schrittes S7 oder einer Analyse des Zielspeicherbereiches 14 nach einer Wiederinbetriebnahme der Chipkarte 1. Natürlich kann auch anstelle des Schrittes F6 nocheinmal der ursprünglich Kopierschritt S7 ohne Berücksichtigung der Fehleradresse wiederholt werden. Nach einer ordnungsgemäßen Beendigung des Schrittes F6 wird der Schlüssel 17 in Schritt F7 gelöscht und der Schreibprozess in Schritt F8 beendet.
In gleicher Weise können auch Unterbrechungen aller anderen Schritte Sl bis S4 bzw. S6, S8, S9 behandelt werden, abhängig davon, ob sie vor oder nach Beendigung des Schrittes S5 auftraten.
Als Verschlüsselungsverfahren bieten sich bei der vorliegenden Erfindung insbesondere symmetrische Kryptographie verfahren wie z. B. DES, AES oder deren Varianten, da sie für die vorliegende Erfindung den Vorteil besitzen, identische ver- und Entschlüsselungsschlüssel 17 zu verwenden. Prinzipiell ist es auch möglich, eine asymmetrische Verschlüsselung zu verwenden, bei der korrespondierende, verschiedene Schlüssel zur Ver- und Entschlüsselung verwendet werden. In diesem Fall kann beispielsweise ein unveränderlicher Masterschlüssel zum Verschlüsseln verwendet und aus dem Masterschlüssel abgeleitete individuelle Entschlüsselungsschlüssel im Schlüsselspeicher 16 zu Entschlüsseln abgelegt werden. Ebenso kann eine Vielzahl von Entschlüsselungsschlüsseln im voraus generiert werden, die dann nacheinander benutzt und nach dem Benutzen gelöscht werden. Die kryptographische Funktionali- tat kann einerseits, wie in Figur 1 durch eine Betriebssystemroutine 11 zur Verfügung gestellt werden, oder wie in Figur 3 als Hardwarelösung durch einen speziellen kryptographischen Chip 11, z. B. einen High-Speed Triple- DES Co-Prozessor.
Die Anordnung des Schlüsselspeicherbereichs 16 und des Zwischenspeicherbereichs 18 im Zusammenhang mit dem Zielspeicherbereich 14 kann auch abweichend von der in Figur 1 illustrierten Lösung realisiert werden. Hierzu zeigt Figur 3 eine Ausführungsform, bei der der Schlüsselspeicherbereiche 16 und Zwischenspeicherbereiche 18 lokal mit dem Zielspeicherbereich 14 einer EF-Datei 13 in den Speicherbereich 6 für das Dateisystem 12 verknüpft werden. Jedem Zielspeicherbereich 14 ist hierbei also ein individueller Zwischenspeicherbereich 18 und ein Schlüsselspeicherbereich 16 zugeordnet. Dies kann einerseits mit einem physikalisch oder logisch zusammenhängenden Speicherbereich bzw. Adressraum realisiert sein, oder die lokalwen Speicherbereiche 14, 16 und 18 können durch logische Verknüpfungen einander zugeordnet sein.
Ebenfalls sinnvoll kann eine Anordnung sein, bei der zwar der Zwischenspeicherbereich im Speichebereich 14 der Datei 13 lokal angeordnet ist, der Schlüsselspeicherbereich 17 jedoch global außerhalb des Speicherbereichs 6. Genauso gut ist es möglich, den Schlüsselspeicherbereich lokal innerhalb des Speicherbereichs 14 der Datei 13 anzuordnen, während der Zwischenspeicherbereich 16 als globaler Bereich außerhalb des Speicherbereichs 6 des EEPROM-Speichers 4 ausgebildet ist.

Claims

P a t e n t a n s p r ü c h e
1. Verfahren zum sicheren Verarbeiten von Daten (22) in einem tragbaren Datenträger (1), gekennzeichnet durch die Schritte: a) Anfordern der zu verarbeitenden Daten (22); b) Verschlüsseln (S4) der zu verarbeitenden Daten (22); c) Zwischenspeichern (S5) der verschlüsselten Daten (19) in einem Zwischenspeicherbereich (18) des Datenträgers (1); d) Entschlüsseln (S6) der zwischengespeicherten, verschlüsselten Daten (19) mittels eines Entschlüsselungsschlüssels (17) und e) Verarbeiten der entschlüsselten Daten (15).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Entschlüsseln (S6) der verschlüsselten Daten (19) unmittelbar im Anschluss an das Zwischenspeichern (S5) der verschlüsselten Daten (19) erfolgt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (17) nach ordnungsgemäßem Beenden des Verar- beitens gelöscht wird (S8).
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (17) bei einer Unterbrechung (Fl) des Zwischenspeicherns (S5) gelöscht wird (F2).
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Ent- schlüsselungsschlüssel (17) bei einer Unterbrechung (Fl) des Zwischenspeicherns (S5) durch einen aktiven Löschvorgang gelöscht wird (F2).
6.- Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass das Löschen (F2) mit Auftreten der Unterbrechung (Fl) des Zwischenspeicherns (S5)oder unmittelbar nach Aufheben der Unterbrechung (Fl) des Zwischenspeicherns (S5)erfolgt.
7. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (17) in einem flüchtigen Speicher (5) vorliegt und bei einer Unterbrechung (Fl) des Zwischenspeicherns (S5) als direkte Folge einer Unterbrechung (Fl) der Stromversorgung gelöscht wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass bei einer Unterbrechung (F5) des Verarbeitens das Verarbeiten nach Aufheben der Unterbrechung (F5) des Verarbeitens fortgesetzt wird (F6) und der Entschlüsselungsschlüssel (17) erst nach Beenden des Verarbeitens der Daten (15) gelöscht wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass das Verarbeiten ein Kopieren (S7) der entschlüsselten Daten (15) in einen Zielspeicherbereich (14) umfasst.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass sich der Zielspeicherbereich (14) innerhalb eines Speicherbereichs (6) eines Dateisystems (12) in einem nichtflüchtigen Speicher (4) des Datenträgers (1) befindet.
11. Verfahren Anspruch 10, dadurch gekennzeichnet, dass der Zwischenspeicherbereich (18) innerhalb des Speicherbereichs (6) eines Dateisystems (12) als dem Zielspeicherbereich (14) zugeordneter Speicherbereich lokal ausgebildet ist.
12- Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der Zwischenspeicherbereich (18) außerhalb des Speicherbereichs (6) eines Dateisystems (12) als reservierter Speicherbereich global ausgebildet ist.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass der Zwischenspeicherbereich (18) als temporärer Speicherbereich ausgebildet ist, auf dessen Daten nur die Verarbeitungssteuerung (10) zugreifen kann.
14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass beim Zwischenspeichern (S5) die Daten (22) mit einem auf dem Datenträger (1) gespeicherten kryptographischen Schlüssel (17) verschlüsselt werden (S4) und beim Verarbeiten die verschlüsselten Daten (19) mit dem kryp- tographischen Schlüssel oder einem davon verschiedenen Entschlüsselungsschlüssel entschlüsselt werden (S6).
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass der Schlüssel (17) vor dem Zwischenspeichern (S5) der Daten (22) indi- viduell erzeugt wird (S2).
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (17) in einem Schlüsselspeicherbereich (16) des Zwischenspeicherbereichs (18) gespeichert wird (S3).
17. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (17) in einem Schlüsselspeicherbereich (16) außerhalb des Zwischenspeicherbereichs (18) gespeichert wird (S3).
18. Verfahren nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, dass der tragbare Datenträger (1) eine Chipkarte mit einem Prozessor (2) ist.
19. Verfahren nach einem der Ansprüche 1 bis 18, dadurch gekennzeichnet, dass das Ver- und Entschlüsseln (S4, S6) mittels eines von einem Prozessor (2) des Datenträgers (1) ausführbaren Sofrwaremoduls oder eines Hardwaremoduls des Datenträgers (1) durchgeführt wird.
20. Tragbarer Datenträger (1), umfassend einen Prozessor (2), einen nichtflüchtigen Speicher (4) sowie eine Verarbeitungssteuerung (10) und eine Kryptographiefunktion (11), die beide von dem Prozessor (2) ausführbar sind, dadurch gekennzeichnet, dass die Verarbeitungssteuerung (10) eingerichtet ist, zu verarbeitende Daten (22) anzufordern, ein Zwischenspeichern (S5) der zu verarbeitenden Daten (22) in einem Zwischenspeicherbereich (18) des Datenträgers (1) in verschlüsselter Form (19) zu bewirken und eine Verarbeitung der zwischengespeicherten, verschlüsselten Daten (19) als entschlüsselte Daten (15) zu bewirken; und die Kryptographiefunktion (11) eingerichtet ist, die im Zwischenspeicherbereich (18) zwischenzuspeichernden Daten (22) zu verschlüsseln (S4) und die zu verarbeitenden, verschlüsselten Daten (19) mit einem
Entschlüsselungsschlüssel (17) zu entschlüsseln (S6).
21. Datenträger (1) nach Anspruch 20, dadurch gekennzeichnet, dass die Verarbeitungssteuerung (10) eingerichtet ist, das Entschlüsseln (S6) der verschlüsselten Daten (19) unmittelbar im Anschluss an das Zwischenspeichern (S5) der verschlüsselten Daten (19) zu bewirken.
22. Datenträger (1) nach Anspruch 20 oder 21, dadurch gekennzeichnet, die Verarbeitungssteuerung (10) eingerichtet ist, bei einer Unterbrechung (Fl) des Zwischenspeicherns (S5) den Entschlüsselungsschlüssel (17) mittels eines aktiven Löschvorgangs zu löschen (F2).
23. Datenträger (1) nach Anspruch 22, dadurch gekennzeichnet, dass die Verarbeitungssteuerung (10) eingerichtet ist, den Entschlüsselungsschlüssel (17) mit Auftreten der Unterbrechung (Fl) des Zwischenspeichern (S5) oder unmittelbar nach Aufheben der Unterbrechung (Fl) des Zwischenspeicherns (S5) zu löschen (F3).
24. Datenträger (1) nach Anspruch 20 oder 21, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (17) in einem flüchtigen Speicher (5) des Datenträgers (1) vorliegt und bei einer Unterbrechung (Fl) des Zwischenspeicherns als direkte Folge einer Unterbrechung der Stromversorgung gelöscht wird.
25. Datenträger (1) nach einem der Ansprüche 20 bis 24, dadurch gekennzeichnet, dass die Verarbeitungssteuerung (10) eingerichtet ist, bei einer Unterbrechung (F5) der Verarbeitung der entschlüsselten Daten (15) die Verarbeitung nach Aufheben der Unterbrechung (F5) fortzusetzen (F6) und den Entschlüsselungsschlüssel (17) erst nach vollständigem Beenden der Verarbeitung zu löschen (F7).
26. Datenträger (1) nach einem der Ansprüche 20 bis 25, dadurch gekennzeichnet, dass die Verarbeitungssteuerung (10) eingerichtet ist, als Verarbei- tung ein Kopieren (S7) der entschlüsselten Daten (15) in einen Zielspeicherbereich (14) zu bewirken.
27. Datenträger (1) nach Anspruch 26, dadurch gekennzeichnet, dass in dem nichtflüchtigen Speicher (4) ein Speicherbereich (6) eines Dateisystems (12) ausgebildet ist und der Zielspeicherbereich (14) innerhalb dieses Speicherbereichs (6) ausgebildet ist.
28. Datenträger (1) nach Anspruch 27, dadurch gekennzeichnet, dass der Zwischenspeicherbereich (18) innerhalb des Speicherbereichs (6) eines Dateisystems (12) ausgebildet ist und dem Zielspeicherbereich (14) als ein lokaler Speicherbereich zugeordnet ist.
29. Datenträger (1) nach Anspruch 27, dadurch gekennzeichnet, dass der Zwischenspeicherbereich (18) im nichtflüchtigen Speicher (4) außerhalb des
Speicherbereichs (6) eines Dateisystems (12) als ein globaler Speicherbereich ausgebildet ist.
30. Verfahren nach einem der Ansprüche 20 bis 29, dadurch gekennzeichnet, dass der Zwischenspeicherbereich (18) als temporärer Speicherbereich ausgebildet ist, auf dessen Daten nur die Verarbeitungssteuerung (10) zugreifen kann.
31. Datenträger (1) nach einem der Ansprüche 20 bis 30, dadurch gekennzeichnet, dass der Datenträger (1) desweiteren einen Schlüsselspeicherbereich (16) zum Speichern (S3) mindesten eines kryptographischen Schlüssels (17) umfasst, und die Kryptographiefunktion (10) eingerichtet ist, beim Zwischenspeichern (S5) die Daten (22) mit einem auf dem Datenträger (1) ge- speicherten Schlüssel (17) zu verschlüsseln (S4) und die verschlüsselten Daten (19) mit dem kryptographischen Schlüssel (17) oder einem davon verschiedenen Entschlüsselungsschlüssel zum Verarbeiten zu entschlüsseln (S6).
32. Datenträger (1) nach einem der Ansprüche 20 bis 31, dadurch gekenn- zeichnet, dass die Kryptographiefunktion (11) eingerichtet ist, den Ent- sc-hlüsselungsschlüssel (17) unmittelbar vor dem Zwischenspeichern (S5) der Daten individuell zu erzeugen (S2) und in einem Schlüsselspeicherbereich (18) abzulegen.
33. Datenträger (1) nach Anspruch 32, dadurch gekennzeichnet, dass der Schlüsselspeicherbereich (16) im Zwischenspeicherbereich (18) ausgebildet ist.
34. Datenträger (1) nach Anspruch 32, dadurch gekennzeichnet, dass der Schlüsselspeicherbereich (16) außerhalb des Zwischenspeicherbereichs (18) im nichtflüchtigen Speicher (4) ausgebildet ist.
35. Datenträger (1) nach einem der Ansprüche 20 bis 34, dadurch gekennzeichnet, dass der Datenträger (1) eine Chipkarte mit einem Prozessor (2) ist.
36. Datenträger (1) nach Anspruch 35, dadurch gekennzeichnet, dass die Kryptographiefunktion (11) als Betriebsystem-Modul oder als Hardwaremodul der Chipkarte (1) ausgebildet ist.
PCT/EP2006/004457 2005-05-12 2006-05-11 Tragbarer datenträger mit sicherer datenverarbeitung WO2006120001A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06753576.5A EP1883906B1 (de) 2005-05-12 2006-05-11 Tragbarer datenträger mit sicherer datenverarbeitung
CN200680024478.1A CN101218609B (zh) 2005-05-12 2006-05-11 带有安全的数据处理的便携式数据载体
JP2008510499A JP4869337B2 (ja) 2005-05-12 2006-05-11 データの安全な処理
US11/920,258 US8983072B2 (en) 2005-05-12 2006-05-11 Portable data carrier featuring secure data processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005022019.3 2005-05-12
DE200510022019 DE102005022019A1 (de) 2005-05-12 2005-05-12 Sichere Verarbeitung von Daten

Publications (1)

Publication Number Publication Date
WO2006120001A1 true WO2006120001A1 (de) 2006-11-16

Family

ID=36716893

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/004457 WO2006120001A1 (de) 2005-05-12 2006-05-11 Tragbarer datenträger mit sicherer datenverarbeitung

Country Status (6)

Country Link
US (1) US8983072B2 (de)
EP (1) EP1883906B1 (de)
JP (1) JP4869337B2 (de)
CN (1) CN101218609B (de)
DE (1) DE102005022019A1 (de)
WO (1) WO2006120001A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1990782A3 (de) * 2007-05-07 2009-11-18 Giesecke & Devrient GmbH Verfahren zum Speichern von Anwendungsdaten in einen Datenträger mit einem verschlüsselnden Speicher-Controller

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494168B1 (en) 2008-04-28 2013-07-23 Netapp, Inc. Locating cryptographic keys stored in a cache
JP2012054889A (ja) * 2010-09-03 2012-03-15 Denso Wave Inc 暗号鍵提供システムおよび暗号鍵提供方法
IL210169A0 (en) * 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
JP2013003612A (ja) * 2011-06-10 2013-01-07 Kddi Corp 仮想サーバ利用時のデータを秘匿するシステム及び方法
CN103714634B (zh) * 2013-03-15 2016-06-15 福建联迪商用设备有限公司 一种安全下载终端主密钥的方法及系统
US9438421B1 (en) * 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
KR101566145B1 (ko) * 2014-10-23 2015-11-06 숭실대학교산학협력단 모바일 기기 및 상기 모바일 기기의 동작 방법
US10157333B1 (en) * 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013940A1 (en) * 2000-05-11 2002-01-31 Yuji Tsukamoto Content rental system
US20020114461A1 (en) * 2001-02-20 2002-08-22 Muneki Shimada Computer program copy management system
US20030056099A1 (en) * 2001-09-17 2003-03-20 Toshiyuki Asanoma Public key infrastructure (PKI) based system, method, device and program
US6715078B1 (en) * 2000-03-28 2004-03-30 Ncr Corporation Methods and apparatus for secure personal identification number and data encryption

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2943924B2 (ja) 1987-02-27 1999-08-30 株式会社東芝 携帯可能電子装置
US5745571A (en) * 1992-03-30 1998-04-28 Telstra Corporation Limited Cryptographic communications method and system
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
JPH08287205A (ja) 1995-04-19 1996-11-01 Matsushita Electric Ind Co Ltd Icカード及びそのデータファイリング方法
EP0811204B1 (de) 1995-07-05 1999-09-22 International Business Machines Corporation Verarbeitung langer nachrichten in einer chipkarte
US6038551A (en) * 1996-03-11 2000-03-14 Microsoft Corporation System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer
FR2759795B1 (fr) * 1997-02-14 1999-05-07 Francois Charles Oberthur Fidu Procede de stockage de donnees dans une memoire reinscriptible de carte a puce
FR2760871B1 (fr) * 1997-03-13 1999-04-16 Bull Cp8 Procede de stockage et d'exploitation d'une information sensible dans un module de securite, et module de securite associe
US7050143B1 (en) * 1998-07-10 2006-05-23 Silverbrook Research Pty Ltd Camera system with computer language interpreter
US20020056081A1 (en) * 1999-12-02 2002-05-09 Qualcomm Incorporated Apparatus and method for decoding digital image and audio signals
IL124594A0 (en) * 1998-05-21 1998-12-06 Nds Ltd Context saving system
JP2001313636A (ja) * 2000-04-28 2001-11-09 Sony Corp 認証システム、認証方法、認証装置及びその方法
US20020054513A1 (en) * 2000-09-14 2002-05-09 Yan-Shun Kao Method for program revise of an IC smartcard system
FR2816731B1 (fr) * 2000-11-14 2003-01-03 Gemplus Card Int Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
JP3913128B2 (ja) 2002-02-28 2007-05-09 松下電器産業株式会社 メモリカード
JP2005039637A (ja) 2003-07-16 2005-02-10 Fuji Xerox Co Ltd 画像形成装置
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP2004259287A (ja) 2004-03-01 2004-09-16 Hitachi Ltd 情報処理装置、カード部材および情報処理システム
JP4907880B2 (ja) * 2005-02-23 2012-04-04 株式会社エヌ・ティ・ティ・ドコモ 携帯情報端末およびデータ保護方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715078B1 (en) * 2000-03-28 2004-03-30 Ncr Corporation Methods and apparatus for secure personal identification number and data encryption
US20020013940A1 (en) * 2000-05-11 2002-01-31 Yuji Tsukamoto Content rental system
US20020114461A1 (en) * 2001-02-20 2002-08-22 Muneki Shimada Computer program copy management system
US20030056099A1 (en) * 2001-09-17 2003-03-20 Toshiyuki Asanoma Public key infrastructure (PKI) based system, method, device and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1990782A3 (de) * 2007-05-07 2009-11-18 Giesecke & Devrient GmbH Verfahren zum Speichern von Anwendungsdaten in einen Datenträger mit einem verschlüsselnden Speicher-Controller

Also Published As

Publication number Publication date
EP1883906A1 (de) 2008-02-06
JP4869337B2 (ja) 2012-02-08
US20090016532A1 (en) 2009-01-15
CN101218609A (zh) 2008-07-09
JP2008541251A (ja) 2008-11-20
DE102005022019A1 (de) 2007-02-01
CN101218609B (zh) 2010-12-15
EP1883906B1 (de) 2016-11-23
US8983072B2 (en) 2015-03-17

Similar Documents

Publication Publication Date Title
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
WO2004095238A1 (de) Verfahren zur sicherstellung der integrität und authentizität von flashware für steuergeräte
DE69820164T2 (de) Speichervorrichtung sowie Datenlese- und Schreibverfahren
EP0128362A1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE112020005001T5 (de) Qlc-programmierverfahren mit zurückspeichern von feindaten
EP1614012A1 (de) Verfahren zur überprüfung der datenintegrität von software in steuergeräten
WO2004114131A1 (de) Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher
EP2948894B1 (de) Verfahren zum sicheren löschen eines nichtflüchtigen halbleiter-massenspeichers, computersystem sowie computerprogrammprodukt
EP1628223B1 (de) Schreiben von Daten in einen nichtflüchtigen Speicher eines tragbaren Datenträgers
DE19716015A1 (de) Einbringen von Information auf einer Chipkarte
DE10141926B4 (de) Verfahren zur Sicherung der Daten eines Datenspeichers
DE69935317T2 (de) Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt
DE102017124805A1 (de) Speicheranordnung und verfahren zum zwischenspeichern von speicherinhalten
EP1634252A1 (de) Verfahren zum laden von tragbaren datenträgern mit daten
EP1675008B1 (de) Verwaltung von Datenobjekten in einem nichtflüchtigen überschreibbaren Speicher
EP1904980A1 (de) Verfahren zum betreiben eines tragbaren datenträgers
EP1342209B1 (de) Verfahren zur entwertung eines datenträgers
EP3271825B1 (de) Verfahren zum speichern von nutzerdaten in einem dokument
EP1569089A2 (de) Verfahren zum Erzeugen von Zufallszahlen in einem tragbaren Datenträger
DE60033808T2 (de) Verfahren zur sicherung von softwareanwendungen mit hilfe einer einheit zur verarbeitung und speicherung geheimer daten und system dafür
WO2021073944A1 (de) Verfahren und vorrichtung zur manipulationssicheren speicherung von daten in nand-flash speicher
EP2002342A2 (de) Verfahren und recheneinheit zum betreiben einer speichereinrichtung
DE102017011957A1 (de) Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind
DE102008023912A1 (de) Verfahren und Speichervorrichtung zum Bereitstellen eines kryptografischen Schlüssels

Legal Events

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

Ref document number: 2008510499

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 4336/KOLNP/2007

Country of ref document: IN

WWW Wipo information: withdrawn in national office

Ref document number: DE

REEP Request for entry into the european phase

Ref document number: 2006753576

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006753576

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Ref document number: RU

WWE Wipo information: entry into national phase

Ref document number: 200680024478.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 11920258

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2006753576

Country of ref document: EP