DE10127181A1 - Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security - Google Patents

Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security

Info

Publication number
DE10127181A1
DE10127181A1 DE2001127181 DE10127181A DE10127181A1 DE 10127181 A1 DE10127181 A1 DE 10127181A1 DE 2001127181 DE2001127181 DE 2001127181 DE 10127181 A DE10127181 A DE 10127181A DE 10127181 A1 DE10127181 A1 DE 10127181A1
Authority
DE
Germany
Prior art keywords
mapping rule
security module
logical
page
addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2001127181
Other languages
German (de)
Inventor
Berndt Gammel
Holger Sedlak
Christian May
Dietmar Zaig
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2001127181 priority Critical patent/DE10127181A1/en
Publication of DE10127181A1 publication Critical patent/DE10127181A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Method for producing a security module with virtual memory addressing in which the logical address is related to a physical address in a unique manner using imaging rules, whereby the method has the following steps: provision of a first security module with a first imaging rules; provision of a second security module with second imaging rules whereby the two sets of rules differ. Independent claims are also made for a security module and a device for production of security modules.

Description

Die vorliegende Erfindung bezieht sich auf Sicherheitsmodule, wie z. B. Chipkarten, Smartcards, TPMs (Trusted Platform Modu­ le = Sicherheitsplattformmodul), usw., und insbesondere auf eine Sicherung der auf dem Sicherheitsmodul gespeicherten In­ formationen, wie z. B. eines Applikationscodes, einer Kunden- ID, eines Guthabens, usw., gegen Angriffe von außen.The present invention relates to security modules, such as B. chip cards, smart cards, TPMs (Trusted Platform Modu le = security platform module), etc., and in particular on a backup of the data stored on the security module formations such as B. an application code, a customer ID, credit, etc., against attacks from outside.

Mit der zunehmenden Verbreitung von bargeldlosem Zahlungsver­ kehr und der zunehmenden informationstechnischen Vernetzung bis in die einzelnen Haushalte, wie z. B. bei Pay-TV-Anwen­ dungen, wächst der Bedarf nach Kryptographiealgorithmen, um digitale Signaturen, Authentifikationen und Verschlüsselungs­ aufgaben durchführen zu können. Bekannte Kryptographiealgo­ rithmen umfassen asymmetrische Verschlüsselungsalgorithmen, wie z. B. den RSA-Algorithmus, symmetrische Verschlüsselungs­ verfahren, wie z. B. das DES-Verfahren, und auf elliptischen Kurven basierende Verfahren.With the increasing spread of cashless payments and the increasing networking of information technology down to the individual households, such as B. for Pay TV users applications, the need for cryptography algorithms is growing digital signatures, authentication and encryption to be able to perform tasks. Known cryptographic algo algorithms include asymmetric encryption algorithms, such as B. the RSA algorithm, symmetric encryption proceed as e.g. B. the DES method, and on elliptical Curve-based methods.

Um die durch die Kryptographiealgorithmen vorgeschriebenen Berechnungen im Alltag einerseits in akzeptabler Geschwindig­ keit und andererseits für den Benutzer so bequem wie möglich durchführen zu können, werden Chipkarten, wie z. B. Smartcards oder Signaturkarten, eingesetzt, welche zur Implementierung des Kryptographiealgorithmus einen eigens vorgesehenen Kryp­ tographieprozessor umfassen. Je nach Applikation bzw. Anwen­ dung muß der Kryptographieprozessor in der Lage sein, Authen­ tifikationen, Signaturen, Zertifizierungen und Ver- bzw. Ent­ schlüsselungen nach verschiedenen Kryptographiealgorithmen vorzunehmen. Neben der Implementierung der Kryptographiealgo­ rithmen befinden sich auf der Chipkarte gespeicherte, chip­ kartenspezifische Informationen, wie z. B. ein geheimer Schlüssel, in dem Fall einer Kreditkarte beispielsweise die Kreditkartennummer, die Kontonummer und das Guthaben und in dem Fall einer Pay-TV-Smart Card eine Smartcard-ID, eine Kun­ den-ID und sonstige kundenspezifische Informationen. Dem Be­ nutzer einer Chipkarte wird es durch die Chipkarte ermög­ licht, auf einfache und effektive Weise bestimmte Transaktio­ nen, wie z. B. eine Abbuchung, an extra vorgesehenen Terminals oder sonstigen Endgeräten, wie z. B. Pay-TV-Decodern, vorzu­ nehmen. Hierbei sorgen die auf der Chipkarte implementierten Kryptographiealgorithmen für einen Schutz des Chipkartenver­ kehrs gegen kriminelle Übergriffe.To those prescribed by the cryptography algorithms On the one hand, everyday calculations at an acceptable speed speed and on the other hand as convenient as possible for the user To be able to carry out smart cards, such. B. Smart cards or signature cards, which are used for implementation of the cryptography algorithm a specially provided crypt include graphics processor. Depending on the application or application The cryptography processor must be able to authenticate tifications, signatures, certifications and ver or ent encryption based on various cryptographic algorithms make. In addition to implementing the cryptographic algorithm rithms are located on the chip card, chip card-specific information, such as B. a secret Key, in the case of a credit card, for example  Credit card number, account number and credit and in in the case of a pay TV smart card, a smart card ID, a customer den-ID and other customer-specific information. The Be Chip card users are enabled by the chip card light, simple and effective way of determining transaction NEN, such as B. a debit, at specially provided terminals or other devices, such as. B. Pay TV decoders to take. This is ensured by those implemented on the chip card Cryptography algorithms for protection of the chip card ver kehrs against criminal attacks.

Um die Chipkarten/Terminal-Systeme gegen kriminelle Übergrif­ fe zu schützen, werden zwischen Terminal und Chipkarte spezi­ elle Protokolle verwendet, die beispielsweise eine gegensei­ tige Authentifikation und Ver- und Entschlüsselungen umfas­ sen, die die in dem Kryptographieprozessor implementierten Kryptographiealgorithmen verwenden. Das Protokoll hängt wie­ derum von der speziellen Applikation, wie z. B. der Kontoabbu­ chung, des elektronischen Ausweises, usw., ab. Bei Multiap­ plikationschipkarten, die mehrere Applikationen unterstützen, ist die Chipkarte zur Durchführung mehrerer Protokolle an­ wendbar. Die Protokolle umfassen einen auf der Chipkarte ge­ speicherten Code, der von dem auf der Chipkarte befindlichen Kryptographieprozessor ausgeführt wird, um unter Ansteuerung der in dem Kryptographieprozessor enthaltenen Kryptocoprozes­ soren applikationsspezifische Kryptographiealgorithmen bei­ spielsweise zur Authentifikation, Signatur, Ver- und Ent­ schlüsselung durchzuführen, und um spezielle applikationsspe­ zifische Funktionen zu realisieren, wie z. B. das Auf- oder Abbuchen eines auf der Chipkarte befindlichen Guthabens in dem Fall einer Debitanwendung oder das Ausgeben chipkarten­ spezifischer Informationen, wie z. B. die Kontonummer oder dergleichen, an das Terminal während einer Kommunikation zwi­ schen denselben.To the chip cards / terminal systems against criminal attack to protect fe are between the terminal and chip card All protocols used, for example a counterpart authentication and encryption and decryption sen, which implemented in the cryptography processor Use cryptographic algorithms. The protocol depends on how therefore from the special application such. B. the account debit electronic identification, etc., from. With Multiap application chip cards that support multiple applications, is the smart card to carry out several protocols reversible. The protocols include one on the smart card stored code from that on the chip card Cryptographic processor is running under control the cryptocoprocesses contained in the cryptography processor sensors for application-specific cryptography algorithms for example for authentication, signature, ver and ent to perform encryption and to apply special application realize specific functions, such as B. the up or Debit a credit on the chip card in in the case of a debit application or issuing smart cards specific information such as B. the account number or the like, to the terminal during communication between the same.

Ein Problem bei herkömmlichen Chipkarten besteht darin, daß sich bei denselben die zum Einsatz kommenden Algorithmen und der Code für die applikationsspezifischen und möglicherweise geheimen Funktionen teils in Form einer festen Verdrahtung und teils in gespeicherter Form fest auf der Chipkarte befin­ den und somit einem Ausspähen von potentiellen Angreifern ausgeliefert sind. Das Ausspähen von in Chipkarten implemen­ tieren Kryptographiealgorithmen durch einen Angreifer umfaßt beispielsweise das chemische Abtragen der Faltungsstruktur des Kryptographieprozessors und das optische Analysieren der freigelegten Halbleiterstrukturen. Gelingt es einem Angreifer anhand der sich in seinem Besitz befindlichen Chipkarte an den in derselben implementierten Kryptographiealgorithmus zu gelangen, so wird es dem Angreifer aufgrund der Kenntnis des Kryptographiealgorithmus und damit durch die Ausführbarkeit desselben ermöglicht, bestimmte Attacken auf die Chipkarte auszuüben, um geheime Daten, wie z. B. den geheimen Schlüssel oder sonstige sicherheitskritische Daten der Chipkarte zu ge­ winnen. Angriffe auf die auf der Chipkarte gespeicherten In­ formationen umfassen beispielsweise das gezielte Verändern der Speicherinhalte einzelner Bitpositionen des auf der Chip­ karte befindlichen Speichers, um beispielsweise "zufällig" das auf der Chipkarte befindliche Guthaben zu erhöhen. Ge­ lingt es einem Angreifer beispielsweise an den Applikations­ code zu gelangen, so haben die weiteren Attacken eine weitaus größere Aussicht auf Erfolg, und folglich ist die Sicher­ heitskette des Chipkartenverkehrs gefährdet.A problem with conventional chip cards is that the algorithms and  the code for the application-specific and possibly secret functions partly in the form of hard wiring and partly in a stored form on the chip card and thus spying on potential attackers are delivered. Spying on implemen in smart cards cryptography algorithms encompassed by an attacker for example the chemical removal of the folding structure of the cryptography processor and the optical analysis of the exposed semiconductor structures. An attacker succeeds based on the chip card in his possession the cryptography algorithm implemented in the same arrive, it is the attacker based on the knowledge of the Cryptography algorithm and thus by the executability it enables certain attacks on the chip card exercise to keep secret data such. B. the secret key or other security-critical data of the chip card winnen. Attacks on the data stored on the chip card Formations include targeted change, for example the memory contents of individual bit positions on the chip card memory, for example to "randomly" to increase the credit on the chip card. Ge For example, an attacker can manage the application to get code, the other attacks have a lot greater chance of success, and consequently the certainty chain of chip card traffic at risk.

Eine Chipkarte mit erhöhter Sicherheit gegen Fremdattacken stellt gerade in Hinblick auf das hohe Marktpotential und die hohen Stückzahlen, in denen Chipkarten gefertigt werden, eine hohe Attraktivität für Chipkartenhersteller dar.A chip card with increased security against external attacks poses just in view of the high market potential and the high quantities in which chip cards are manufactured, one high attractiveness for chip card manufacturers.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Si­ cherheitsmodul und ein Verfahren und eine Vorrichtung zum Herstellen desselben und ein Verfahren zum Konfigurieren des­ selben zu schaffen, so daß die Sicherheit des Sicherheitsmo­ duls gegen Angriffe erhöht ist. The object of the present invention is an Si security module and a method and an apparatus for Making the Same and a Method of Configuring the to create the same, so that the security of the security mo duls against attacks is increased.  

Diese Aufgabe wird durch ein Sicherheitsmodul gemäß Anspruch 13 und ein Verfahren gemäß Anspruch 1 oder 27 und eine Vor­ richtung gemäß Anspruch 26 gelöst.This task is accomplished by a security module according to claim 13 and a method according to claim 1 or 27 and a pre direction solved according to claim 26.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Sicherheit eines Sicherheitsmoduls gegen Fremdattacken durch die Verwendung von Sicherheitsmodulen mit einer virtu­ ellen Speicheradressierung gesteigert werden kann, da durch die virtuelle Speicheradressierung eine Trennung des logi­ schen Adreßraums, d. h. des für den Programmablauf relevanten Adreßraums, von dem physikalischen Adreßraum, d. h. dem Adreß­ raum, in dem die Befehle und Daten physikalisch gespeichert sind, geliefert wird, so daß die Abspeicherung der Daten in zerhackter Form stattfinden kann. Zusätzlich kann aufgrund der virtuellen Speicheradressierung trotz der zerhackten phy­ sikalischen Speicherung der Daten der Entwurf der Applikati­ onsprogramme und eines sonstigen Codes für das Sicherheitsmo­ dul unabhängig von der tatsächlichen physikalischen Speiche­ rung des Codes und der applikationsspezifischen Daten durch­ geführt werden kann.The present invention is based on the finding that the security of a security module against external attacks through the use of security modules with a virtu memory addressing can be increased as a result of the virtual memory addressing separates the logi the address space, d. H. of the relevant for the program flow Address space, from the physical address space, i.e. H. the address space in which the commands and data are physically stored are supplied, so that the storage of the data in chopped shape can take place. In addition, due to the virtual memory addressing despite the chopped phy physical storage of the data of the design of the application on programs and other codes for the security mo dul regardless of the actual physical spoke code and application-specific data can be performed.

Gemäß der vorliegenden Erfindung wird diese Eigenschaft der virtuellen Speicheradressierung, nämlich der Invarianz des Programmadreßraumes von dem tatsächlichen physikalischen Adreßraum bzw. von der Abbildungsvorschrift des Programm­ adreßraumes in den physikalischen Adreßraum, dadurch ausge­ nutzt, daß bei ansonsten gleichartigen Sicherheitsmodulen die gespeicherten Informationen, wie z. B. ein Applikationscode oder Applikationsdaten, in einem Vergleich zwischen zwei ver­ schiedenen Sicherheitsmodulen und/oder in einem Vergleich ei­ nes Sicherheitsmoduls zu zwei verschiedenen Zeitpunkten in unterschiedlichen physikalischen Adressen gespeichert sind. Dies wird gemäß der vorliegenden Erfindung dadurch erreicht, daß die Abbildungsvorschrift zur eindeutigen Abbildung der logischen Adressen auf physikalische Adressen zwischen ver­ schiedenen Sicherheitsmodulen unterschiedlich eingerichtet wird, und/oder dadurch erreicht, daß die Abbildungsvorschrift eines einzelnen Sicherheitsmoduls bei dem Eintritt vorbe­ stimmter Ereignisse, wie z. B. des Erfassens eines Angriffs durch bestimmte Sicherheitsüberwachungen, durch eine entspre­ chende Einrichtung auf dem Sicherheitsmodul geändert wird. Aufgrund der Invarianz des Programmadreßraumes können alle auf dem Prozessor des Sicherheitsmoduls lauffähigen Programme bis auf die veränderte physikalische Speicherung unverändert bestehen bleiben.According to the present invention, this property becomes virtual memory addressing, namely the invariance of the Program address space from the actual physical Address space or from the mapping rule of the program address space in the physical address space, thereby uses that with otherwise similar security modules stored information, such as B. an application code or application data, in a comparison between two ver different security modules and / or in a comparison security module at two different times in different physical addresses are stored. According to the present invention, this is achieved by that the mapping rule for the clear mapping of the logical addresses to physical addresses between ver different security modules set up differently is achieved and / or by the fact that the mapping rule  of a single security module upon entry certain events, such as B. detecting an attack through certain security controls, through a appropriate device on the security module is changed. Due to the invariance of the program address space, everyone can Programs executable on the processor of the security module unchanged except for the changed physical storage remain.

Im Ergebnis wird es einem Angreifer bereits durch die virtu­ elle Speicheradressierung praktisch unmöglich gemacht, aus der Position einer Dateneinheit in beispielsweise dem gespei­ cherten Programmcode einer Applikation auf dessen physikali­ sche Adresse zu schließen, da durch die virtuelle Speicher­ adressierung der in dem logischen Adreßraum linear angeordne­ te Programmcode auf zerhackte Weise bzw. die Fragmente des­ selben auf scheinbar ungeordnete Weise in dem physikalischen Adreßraum bzw. dem physikalischen Speicher abgelegt sind. Da gemäß der vorliegenden Erfindung vorgesehen ist, daß sich die Abbildungsvorschriften zwischen zwei unterschiedlichen Spei­ chermodulen und/oder bei einem einzigen Speichermodul die Ab­ bildungsvorschrift vor und nach einem vorbestimmten Ereignis unterscheiden, kann ein potentieller Angreifer, der sich in Besitz des Speichermoduls befindet, selbst dann, wenn er trotz zerhackter Speicherung des Programmcodes an denselben in linearer Form und damit an die Abbildungsvorschrift ge­ langt, diese Kenntnis nicht auf andere Sicherheitsmodule und/oder dasselbe Sicherheitsmodul zu einem anderen Zeitpunkt anwenden. Auf diese Weise bleibt die Sicherheit des Sicher­ heitsmodulverkehrs größtenteils ungefährdet, da entweder nur ein einziges oder eine begrenzte Anzahl von Sicherheitsmodu­ len dauerhaft und/oder ein einzelnes Sicherheitsmodul bis zu dem nächsten Eintritt des vorbestimmten Ereignisses betroffen ist. Für einen Sicherheitsmodulhersteller, der ein solches Sicherheitsmodul herstellt, bietet sich ein Produkt mit einer erhöhten Sicherheitsstufe und damit einer erhöhten Marktak­ zeptanz. As a result, an attacker already gets through virtu All memory addressing made practically impossible the position of a data unit in, for example, the memory saved program code of an application on its physical close address because of the virtual memory addressing the linearly arranged in the logical address space te program code in a chopped way or the fragments of the same in an apparently disordered way in the physical Address space or the physical memory are stored. There according to the present invention it is provided that the Mapping rules between two different Spei chermodules and / or in the case of a single memory module educational provision before and after a predetermined event can differentiate a potential attacker who is in Possession of the memory module, even if it is despite chopped storage of the program code on the same in a linear form and thus to the mapping rule this knowledge does not apply to other security modules and / or the same security module at a different time apply. In this way, the security of the safe remains unit module traffic largely safe since either only a single or a limited number of security modules len permanently and / or a single security module up to the next occurrence of the predetermined event is. For a security module manufacturer who has one Manufactures security module, offers a product with a increased security level and thus an increased market activity tance.  

Gemäß einem Ausführungsbeispiel ist das Sicherheitsmodul eine Chipkarte, die mehrere Applikationen unterstützt, wobei jeder Applikation ein unterschiedlicher Bereich von logischen Ad­ ressen zugeordnet ist. Die logischen Adressen des logischen Adreßraumes, der für den Programmablauf der jeweiligen Appli­ kation maßgeblich ist, werden mittels einer Abbildungsvor­ schrift auf eindeutige Weise auf physikalische Adressen eines physikalischen Adreßraumes, in denen die Informationen, wie z. B. der Programmcode der Applikation selbst, physikalisch gespeichert sind, abgebildet. Die Abbildungsvorschrift be­ steht entweder aus einer Übersetzungsnachschlagtabelle, die auf der Chipkarte gespeichert ist, oder einem Algorithmus, der logische Adressen auf deterministische Weise auf physika­ lische Adressen abbildet und beispielsweise durch ein Hard­ waremodul auf der Chipkarte implementiert ist.According to one embodiment, the security module is a Smart card that supports multiple applications, each one Application a different area of logical ad is assigned. The logical addresses of the logical Address space that is responsible for the program flow of the respective appli cation is decisive, are by means of an illustration script in a unique way to physical addresses of a physical address space in which the information such as z. B. the program code of the application itself, physically are stored. The mapping rule be is either from a translation lookup table, the stored on the chip card, or an algorithm, the logical addresses in a deterministic way on physika maps addresses and, for example, by hard waremodul is implemented on the chip card.

Die Abbildungsvorschrift kann die logischen Adressen auf die physikalischen Adressen basierend auf einer beliebigen Granu­ larität abbilden. Anstatt einer wortweisen Abbildungsvor­ schrift, die einzelne logische Adressen auf physikalische Adressen abbildet, kann eine page- bzw. seitenweise Abbildungsvorschrift vorgesehen sein, die beispielsweise Seitenstartadressen auf Seitenabschnittsstartadressen abbildet. Hierbei ist der logische Adreßraum in nicht überlappende logische Seiten (pages) und der physikalische Adreßraum in nicht überlappende Seitenabschnitte (page frames) unterteilt, wobei jeder Seite eine logische Seitenadresse, wie z. B. eine Startadresse, und jedem Seitenabschnitt eine physikalische Seitenabschnittadresse zugeordnet ist. Die Abbildungsvorschrift bildet Seitenadressen auf Seitenabschnittadressen ab. Eine vorteilhafte Seitengröße, die einerseits den Verwaltungs- und Speicheraufwand einer Übersetzungsnachschlagtabelle für eine seitenweise Abbildungsvorschrift gering und andererseits ein möglichst effektives und granulares Zerhacken bzw. Scrambling der gespeicherten Daten der Chipkarte ergibt, beträgt beispielsweise zwischen 32 und 128 Bytes, wie z. B. 64 Bytes.The mapping rule can put the logical addresses on the physical addresses based on any granu map larity. Instead of a word-by-word illustration font, the individual logical addresses on physical Maps addresses can be a page or page by page Mapping rule may be provided, for example Page start addresses on page section start addresses maps. Here the logical address space is not in overlapping logical pages (pages) and the physical Address space in non-overlapping page sections (page frames), with each page having a logical Page address, such as B. a start address, and everyone Page section a physical page section address assigned. The mapping rule forms Page addresses from page section addresses. A advantageous page size, on the one hand the administrative and Memory lookup table memory overhead for a page-by-page illustration rule low and on the other hand a effective and granular chopping or scrambling of the stored data of the chip card is  for example between 32 and 128 bytes, e.g. B. 64 Bytes.

Chipkarten, der vorhergehend beschriebenen Art bieten zusätz­ lich zu den erfindungsgemäßen Sicherheitsvorteilen den Vor­ teil, daß der Chipkartenhersteller mehrere Applikationen durch die Chipkarte unterstützen kann, ohne daß es notwendig ist, daß die Applikationen aus einer Hand hergestellt werden muß. Vielmehr stellt der Chipkartenhersteller die Möglichkeit bereit, daß der Großkunde den logischen Adreßraum in die Be­ reiche für die jeweiligen Applikationen unterteilt und spezi­ fiziert, welche logischen Adressen eines jeweiligen Applika­ tionsbereichs sich auf welchen Speichertyp beziehen, so daß die Erstellung und das Laden des Applikationscodes auf die Chipkarte dem Großkunden des Chipkartenherstellers überlassen ist, wobei durch das erfindungsgemäße Verändern der Abbil­ dungsvorschriften zwischen entweder verschiedenen Chipkarten und/oder durch Änderung der Abbildungsvorschrift einer Chip­ karte auf das Eintreten eines vorbestimmten Ereignisses hin, wie z. B. die Kommunikation mit einem Terminal oder die Ver­ letzung bestimmter Sicherheitskriterien, die Sicherheit der Chipkarte gewährleistet bleibt.Chip cards of the type described above offer additional Lich to the security advantages of the invention part that the smart card manufacturer has multiple applications can support through the smart card without it being necessary is that the applications are made from a single source got to. Rather, the chip card manufacturer provides the opportunity ready for the major customer to place the logical address space in the Be divided for the respective applications and speci identifies which logical addresses of a particular application range refer to what type of storage, so that the creation and loading of the application code on the Leave the chip card to the major customer of the chip card manufacturer is, by changing the Figil regulations between either different chip cards and / or by changing the mapping specification of a chip card on the occurrence of a predetermined event, such as B. the communication with a terminal or the Ver setting certain security criteria, the security of the Chip card remains guaranteed.

Weitere Weiterbildungen der vorliegenden Erfindung gehen aus den beiliegenden Ansprüchen hervor. Hinsichtlich der Verfah­ rens- und Vorrichtungsunteransprüche wird darauf hingewiesen, daß dieselben technische Merkmale definieren, die für sowohl ein erfindungsgemäßes Verfahren als auch eine erfindungsgemä­ ße Vorrichtung bzw. ein erfindungsgemäßes Sicherheitsmodul möglich sind.Further developments of the present invention are based the attached claims. With regard to the procedure rens and device sub-claims are pointed out that define the same technical characteristics that for both an inventive method and an inventive sse device or a security module according to the invention possible are.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich­ nungen näher erläutert. Es zeigen:Preferred embodiments of the present invention are referred to below with reference to the attached drawing nations explained in more detail. Show it:

Fig. 1 eine schematische Darstellung einer Abbildungsvor­ schrift von einem logischen Adreßraum in einen physikalischen Adreßraum, anhand der die zerhackte Speicherung der auf einer Chipkarte gespeicherten Daten veranschaulicht wird; Figure 1 is a schematic representation of an Abbildvor writing from a logical address space in a physical address space, based on which the chopped storage of the data stored on a chip card is illustrated.

Fig. 2 ein Flußdiagramm, das die Schritte zum Herstellen einer Chipkarte gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt; Fig. 2 is a flow chart showing the steps according to for manufacturing a chip card with an embodiment of the present invention;

Fig. 3 ein Flußdiagramm, das die Schritte zum Konfigurie­ ren einer Chipkarte gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt; Fig. 3 is a flow chart showing the steps for CONFIGURIN a smart card according to an embodiment of the present invention;

Fig. 4 eine schematische Darstellung der Unterteilung ei­ nes logischen Adreßraumes in applikationsspezifi­ sche Teile und der Abbildung des logischen Adreß­ raumes in einen physikalischen Adreßraum bei einer Multiapplikationschipkarte gemäß einem Ausführungs­ beispiel der vorliegenden Erfindung; und Fig. 4 is a schematic representation of the subdivision of a logical address space into application-specific parts and the mapping of the logical address space into a physical address space in a multi-application chip card according to an embodiment of the present invention; and

Fig. 5 ein Blockdiagramm einer Schaltung für eine Chipkar­ te gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Fig. 5 is a block diagram of a circuit for a Chipkar te according to an embodiment of the present invention.

Es wird darauf hingewiesen, daß, obwohl die vorliegende Er­ findung im folgenden bezugnehmend auf Fig. 1 bis 5 exempla­ risch anhand einer Chipkarte erläutert wird, die vorliegende Erfindung auf Sicherheitsmodule jeglicher Art anwendbar ist, wie z. B. auf Smartcards, Telefonkarten, TPMs usw.It is pointed out that, although the present invention is explained below with reference to FIGS . 1 to 5 by way of example using a chip card, the present invention is applicable to security modules of any kind, such as. B. on smart cards, phone cards, TPMs etc.

Anhand von Fig. 1 wird zunächst die durch die Verwendung der virtuellen Speicheradressierung eintretende Zerhackung der auf einer Chipkarte gespeicherten Daten erläutert. Bezüglich näherer Details der virtuellen Speicheradressierung in Hin­ blick auf Chipkarten wird auf den Artikel Stephan Ondrusch, "Protected Virtual Memory - 32-Bit-Power ohne angezogene Handbremse", 10. GMD-SmartCard-Workshop, Darmstadt, 9. Feb. 2000, verwiesen, der hiermit unter Bezugnahme aufgenommen wird.Referring to Fig. 1, the chopping of the data stored on a smart card data entering through the use of virtual memory addressing will be explained first. For further details on virtual memory addressing with regard to chip cards, reference is made to the article Stephan Ondrusch, "Protected Virtual Memory - 32-bit power without the handbrake on", 10th GMD SmartCard Workshop, Darmstadt, 9 February 2000 which is hereby incorporated by reference.

Bei 10 und 20 sind in Fig. 1 durch jeweils eine sechszeilige Spalte der logische Adreßraum bzw. der physikalische Adreß­ raum einer Chipkarte (nicht gezeigt) gezeigt. Der logische Adreßraum 10 legt denjenigen Adreßraum fest, der für den Ab­ lauf der auf der Chipkarte laufenden Programme und zu deren Programmierung maßgeblich ist, und ist in sechs gleichgroße und überlappungsfreie Teile 10a, 10b, 10c, 10d, 10e und 10f unterteilt. Auf gleiche Weise ist der physikalische Adreß­ raum, in dem die chipkartenspezifischen Daten einschließlich der Applikationsprogramme der Chipkarte physikalisch gespei­ chert sind, in sechs gleichgroße und überlappungsfreie Teile 20a, 20b, 20c, 20d, 20e und 20f unterteilt (eine Zeile pro Adreßraumteil).At 10 and 20 , the logical address space and the physical address space of a chip card (not shown) are shown in FIG. 1 by a six-line column in each case. The logical address space 10 defines that address space that is decisive for the running of the programs running on the chip card and for their programming, and is in six equally large and overlap-free parts 10 a, 10 b, 10 c, 10 d, 10 e and 10 f divided. In the same way, the physical address space, in which the chip card-specific data including the application programs of the chip card are physically stored, is divided into six equally large and overlap-free parts 20 a, 20 b, 20 c, 20 d, 20 e and 20 f (one Line per address space part).

In dem logischen Adreßraum 10 sind chipkartenspezifische In­ formationen, wie z. B. ein Applikationscode, kundenspezifische Informationen, wie z. B. eine Kunden-ID, eine Smartcard-ID in dem Fall einer Pay-TV-Smartcard, oder eine Kontonummer, eine Kreditkartennummer und das dazugehörige Guthaben in dem Fall einer Kreditkarte, oder ein geheimer Schlüssel, in der kor­ rekten Reihenfolge angeordnet. Lediglich zur Veranschauli­ chung enthält in Fig. 1 der erste Teil des logischen Adreß­ raums die Informationen A, der zweite Teil 10b die Informa­ tionen B und die restlichen logischen Adreßraumteile 10c-10f die Informationen C, D, E und F. Die korrekte Reihenfolge de­ finiert sich in dem Fall eines Applikationscodes beispiels­ weise durch die Befehlsreihenfolge des Codes. In dem Fall an­ derer chipkartenspezifischer Informationen kann die korrekte Reihenfolge durch die Wertigkeit der Bits festgelegt sein.In the logical address space 10 are chip card-specific information, such as. B. an application code, customer-specific information such. B. a customer ID, a smart card ID in the case of a pay TV smart card, or an account number, a credit card number and the associated credit in the case of a credit card, or a secret key, arranged in the correct order. For illustrative purposes only, the first part of the logical address space contains the information A in FIG. 1, the second part 10 b contains the information B and the remaining logical address space parts 10 c- 10 f contain the information C, D, E and F. The In the case of an application code, the correct order is defined, for example, by the command sequence of the code. In the case of other chip card-specific information, the correct order can be determined by the value of the bits.

Durch eine Abbildungsvorschrift 30, die durch mehrere Pfeile dargestellt ist, werden die logischen Adreßraumteile 10a-10f auf jeweils einen Teil 20a-20f des physikalischen Adreßraums 20 abgebildet. Jeder Pfeil fußt an einem Teil 10a-10f des logischen Adreßraumes 10 und zeigt auf denjenigen Teil 20a-20f des physikalischen Adreßraumes 20, auf den der jeweilige Teil des logischen Adreßraumes 10 abgebildet wird. Wie es zu sehen ist, wird durch die Abbildungsvorschrift 30 bewirkt, daß die chipkartenspezifischen Informationen, d. h. A B C D E F, in dem physikalischen Speicher (nicht gezeigt) der Chipkarte in veränderter Reihenfolge, d. h. C B F A E D, abgespeichert sind. Hierdurch wird es einem potentiellen Angreifer, der sich im Besitz der Chipkarte befindet, erschwert, aus dem Speicherinhalt des physikalischen Speichers der Chipkarte auf die zugrunde liegenden chipkartenspezifischen Informationen rückzuschließen.By means of a mapping rule 30 , which is represented by several arrows, the logical address space parts 10 a- 10 f are each mapped to a part 20 a- 20 f of the physical address space 20 . Each arrow is based on a part 10 a- 10 f of the logical address space 10 and points to that part 20 a- 20 f of the physical address space 20 to which the respective part of the logical address space 10 is mapped. As can be seen, the mapping rule 30 causes the chip card-specific information, ie ABCDEF, to be stored in the physical memory (not shown) of the chip card in a different order, ie CBFAED. This makes it difficult for a potential attacker who is in possession of the chip card to draw conclusions about the underlying chip card-specific information from the memory content of the physical memory of the chip card.

Bei 40 ist in Fig. 1 eine Zuordnungstabelle bzw. eine Über­ setzungsnachschlagtabelle gezeigt, die die Zuordnung bzw. die Abbildungsvorschrift 30 der logischen Adreßraumteile 10a-10f auf die physikalischen Adreßraumteile 20a-20f definiert. In der linken Spalte der Tabelle 40 sind die logischen Adressen für die Teile 10a und 10f des logischen Adreßraumes der Reihe nach exemplarisch aufgelistet, d. h. 1, 2, 3, 4, 5, 6. In der rechten Spalte der Tabelle 40 ist in jeder Zeile für die je­ weilige logische Adresse die dazugehörige physikalische Adresse des Teils 20a-20f des physikalischen Adreßraumes auf­ gelistet, auf die der logische Adreßraumteil 10a-10f der jeweiligen logischen Adresse durch die Abbildungsvorschrift 30 abgebildet wird. Folglich kann die Abbildungsvorschrift 30 ferner als eine Abbildungsvorschrift angesehen werden, die logische Adressen auf physikalische Adressen abbildet. In dem vorliegenden Fall wird die logische Adresse 1 auf die physi­ kalische Adresse 4, die logische Adresse 2 auf die physikali­ sche Adresse 2, usw. abgebildet.At 40 in Fig. 1, an assignment table or a translation look-up table is shown, which defines the assignment or mapping rule 30 of the logical address space parts 10 a- 10 f to the physical address space parts 20 a- 20 f. In the left column of table 40, the logical addresses for parts 10 a and 10 f of the logical address space are listed by way of example, ie 1, 2, 3, 4, 5, 6. In the right column of table 40 is in Each line for the respective logical address lists the associated physical address of part 20 a- 20 f of the physical address space, to which the logical address space part 10 a- 10 f of the respective logical address is mapped by mapping rule 30 . Thus, mapping rule 30 can also be viewed as a mapping rule that maps logical addresses to physical addresses. In the present case, the logical address 1 is mapped to the physical address 4 , the logical address 2 to the physical address 2 , etc.

Bei Realisierung einer virtuellen Adressierung bei einer Chipkarte kann beispielsweise die Tabelle 40 auf einer ROM- Maske eingebrannt oder in einem Speicher, wie z. B. einem nicht-flüchtigem Speicher, wie z. B. einem EEPROM oder einem Flash-Speicher, gespeichert sein, um für einen Nachschlagzugriff zur Verfügung zu stehen. Wie es aus der vorhergehen­ den Beschreibung deutlich geworden ist, ist zur Speicherung bzw. Verwaltung der Übersetzungsnachschlagtabelle 40 ein Adreßtupel pro verwendeter logischer Adresse 10a-10f und so­ mit der Speicherplatz für diese Tupel erforderlich, d. h. die Bitlänge einer logischen Adresse und einer physikalischen Adresse pro Adreßtupel. Obwohl folglich die logischen Adreß­ raumteile 10a-10f bzw. die physikalischen Adreßraumteile 20a-20f jegliche Größe aufweisen können, wie z. B. ein Bit, ein Byte, ein Wort, ist es vorzuziehen, die Größe der Teile 10a-10f bzw. 20a-20f größer einzustellen. Andererseits ergeben zu große Adreßraumteile 10a-10f bzw. 20a-20f eine Zerhackung mit einer geringeren Granularität, d. h. eine geringere Durchmi­ schung bzw. große zusammenhängende Teile, die nicht zerhackt sind. In dem Fall eines Programmcodes beispielsweise bleiben bei einer zu großen Größe der Adreßraumteile erhebliche Pro­ grammteile bei Abspeicherung in dem physikalischen Adreßraum in ihrer korrekten Reihenfolge bestehen. Gemäß einem bevor­ zugten Ausführungsbeispiel der vorliegenden Erfindung wird deshalb eine seitenweise Abbildungsvorschrift 30 bevorzugt, bei der die logischen Adreßraumteile 10a-10f bzw. Seiten und die physikalischen Adreßraumteile 20a-20f bzw. Seitenab­ schnitte eine Größe von 64 Bytes aufweisen. Diese Seitengröße stellt einen Kompromiß aus einem möglichst geringen Spei­ cheraufwand zur Speicherung einer Übersetzungsnachschlagta­ belle und einer möglichst "mikrogranularen" Zerhackung dar.When realizing a virtual addressing on a chip card, for example, the table 40 can be burned in on a ROM mask or in a memory, such as, for. B. a non-volatile memory, such as. B. an EEPROM or a flash memory, to be available for a lookup access. As has become clear from the preceding description, an address tuple per logical address 10 a- 10 f and thus with the storage space for these tuples, ie the bit length of a logical address and a physical one, is required for storing or managing the translation lookup table 40 Address per address tuple. Consequently, although the logical address space parts 10 a- 10 f and the physical address space parts 20 a- 20 f can have any size, such as. B. a bit, a byte, a word, it is preferable to set the size of the parts 10 a- 10 f or 20 a- 20 f larger. On the other hand, too large address space parts 10 a- 10 f or 20 a- 20 f result in chopping with a lower granularity, ie a lower mixing or large contiguous parts that are not chopped. In the case of a program code, for example, if the address space parts are too large, significant program parts will remain in their correct order when stored in the physical address space. According to a preferred embodiment of the present invention, a page-by-page mapping rule 30 is therefore preferred in which the logical address space parts 10 a- 10 f or pages and the physical address space parts 20 a- 20 f or page sections have a size of 64 bytes. This page size represents a compromise between the lowest possible storage effort for storing a translation reference table and a "microgranular" chopping as possible.

Eine weitere Möglichkeit zur Realisierung der virtuellen Adressierung bei einer Chipkarte besteht darin, einen Algo­ rithmus auf der Chipkarte zu implementieren, der auf determi­ nistische Weise logische Adressen auf physikalische Adressen abbildet. Da hierbei lediglich die Implementierung eines Al­ gorithmus und nicht die Speicherung einer Übersetzungsnach­ schlagtabelle erforderlich ist, spielt hierbei die Größe der Adreßraumteile 10a-10f bzw. 20a-20f für den Implementierungs­ aufwand eine geringere Rolle, so daß eine byteweise Adressierungsvorschrift ebenfalls auf einfache Weise realisiert wer­ den kann.A further possibility for realizing the virtual addressing with a chip card is to implement an algorithm on the chip card which maps logical addresses to physical addresses in a deterministic manner. Since only the implementation of an algorithm and not the storage of a translation look-up table is required here, the size of the address space parts 10 a- 10 f or 20 a- 20 f plays a smaller role for the implementation effort, so that a byte-wise addressing rule also realized in a simple way who can.

Ein Beispiel für einen Algorithmus ist beispielsweise einer, bei dem die logischen Adressen aus den physikalischen abge­ leitet werden, indem die Reihenfolge aufeinanderfolgender Gruppen von je drei aufeinanderfolgenden physikalischen Adressen invertiert wird. Hierdurch würden die Teile 10a und 10f des logischen Adreßraumes 10 von Fig. 1 auf die physika­ lischen Adressen 3, 2, 1, 6, 5, 4 abgebildet werden. Zur Rea­ lisierung dieses Algorithmus bei einer Chipkarte kann ein Adreßverschlüsselungsmodul in Hardware auf der Chipkarte im­ plementiert sein, wobei jedoch eine softwaremäßige Implemen­ tierung des Algorithmus möglich ist. Bei jedem Schreib-, Le­ se- oder Ausführ-Vorgang aus einem auf der Chipkarte laufen­ dem Applikationsprogramm auf eine logische Wort-Adresse wird diese Adresse durch den bijektiven Hardwarde-Verschlüsse­ lungsmodul auf eine physikalische Adresse abgebildet. Ange­ nommen, daß die in Fig. 1 dargestellten Adreßraumteile 10a-10f bzw. 20a-20f Wortgröße aufweisen, werden bei Datenzugrif­ fen über Wortgrenzen hinweg die beiden benachbarten logischen Wörter auf getrennte Weise ausgelesen, wie z. B. in dem Fall der logischen Adresse 3 und 4, die in dem Fall von Fig. 1 auf die physikalischen Adressen 1 und 6 abgebildet werden, aus denen letztendlich die eigentlich zu lesende Information, d. h. CD, berechnet wird.An example of an algorithm is, for example, one in which the logical addresses are derived from the physical ones by inverting the order of successive groups of three successive physical addresses each. In this way, the parts 10 a and 10 f of the logical address space 10 of FIG. 1 would be mapped to the physical addresses 3, 2, 1, 6, 5, 4. To implement this algorithm on a chip card, an address encryption module can be implemented in hardware on the chip card, although software-based implementation of the algorithm is possible. With each write, read or execute operation from a run on the chip card, the application program to a logical word address, this address is mapped to a physical address by the bijective Hardwarde encryption module. Assuming that the address space parts shown in Fig. 1 have 10 a- 10 f or 20 a- 20 f word size, the two adjacent logical words are read out separately in data accesses across word boundaries, such as. B. in the case of the logical addresses 3 and 4, which in the case of FIG. 1 are mapped to the physical addresses 1 and 6, from which the information actually to be read, ie CD, is ultimately calculated.

In dem Fall eines Algorithmus zur Definition einer Abbil­ dungsvorschrift kann ein solcher Adreßverschlüsselungsalgo­ rithmus optional durch eine Zuweisung von Werten auf speziel­ le Verschlüsselungsregister parametrierbar sein. Bei dem vor­ hergehenden Beispiel bildet n einen möglichen Parameter, dem beispielsweise zufällige Werte zugewiesen werden können.In the case of an algorithm for defining an image such an address encryption algo rhythm optionally by assigning values to specific ones le encryption registers can be parameterized. With the before Example here forms n a possible parameter, the for example, random values can be assigned.

Wie es im vorhergehenden bezugnehmend auf Fig. 1 beschrieben worden ist, wird es einem potentiellen Angreifer durch die virtuelle Adressierung nahezu unmöglich gemacht, die gespeicherten Informationen einer Chipkarte, die sich in seinem Be­ sitz befindet, in der korrekten Reihenfolge zu rekonstruie­ ren. Gemäß der vorliegenden Erfindung wird die Sicherheit ge­ gen kriminelle Angriffe jedoch dadurch zusätzlich enorm ver­ bessert, daß bei der Chipkartenherstellung die Abbildungsvor­ schrift von Chipkarte zu Chipkarte bzw. von Los zu Los bzw. von Charge zu Charge gewechselt wird, oder die Chipkarte selbst eine Einrichtung aufweist, die die Abbildungsvor­ schrift von Zeit zu Zeit, wie z. B. bei Auftreten eines vorbe­ stimmten Ereignisses, wie z. B. der Kommunikation zwischen der Chipkarte und einem Terminal, verändert. Auf diese Weise wird verhindert, daß selbst dann, wenn der Angreifer eine Attacke erfolgreich ausgeführt und in Kenntnis des Speicherinhalts der Chipkarte in der korrekten Reihenfolge und somit in Kenntnis der Abbildungsvorschrift gelangt ist, derselbe die­ ses Wissen auf andere Chipkarten übertragen und anwenden kann. Nur in dem Fall, daß die andere Chipkarte zufällig die­ selbe Abbildungsvorschrift wie die erfolgreich attackierte Chipkarte aufweist, d. h. aus dem selben Los stammt oder zu­ fällig die Abbildungsvorschrift auf die gleiche geändert hat, kann der Angreifer seine Kenntnis der Abbildungsvorschrift erfolgreich anwenden. In dem Fall einer Chipkarte mit selb­ ständiger Abbildungsvorschriftänderung kann der Angreifer seine Kenntnis der Abbildungsvorschrift darüber hinaus ledig­ lich bis zu dem Eintreten eines vorbestimmten Ereignisses, wie z. B. dem Abbuchen eines auf der Chipkarte gespeicherten Guthabens, anwenden, da daraufhin die Abbildungsvorschrift der Chipkarte gewechselt wird.As described above with reference to FIG. 1, virtual addressing makes it almost impossible for a potential attacker to reconstruct the stored information of a chip card that is in his possession in the correct order However, the present invention improves the security against criminal attacks enormously by the fact that in the production of chip cards, the image is changed from chip card to chip card or from lot to lot or from batch to batch, or the chip card itself has a device, from time to time, such as. B. when a pre-determined event, such as. B. the communication between the chip card and a terminal changed. In this way it is prevented that, even if the attacker successfully carried out an attack and became aware of the memory content of the chip card in the correct order and thus of the mapping rule, the same can transfer and apply this knowledge to other chip cards. Only in the event that the other chip card accidentally has the same mapping rule as the successfully attacked chip card, ie comes from the same lot or has due to changed the mapping rule to the same, can the attacker successfully apply his knowledge of the mapping rule. In the case of a chip card with a constant change in the mapping rule, the attacker can only know about the mapping rule until the occurrence of a predetermined event, such as. B. debit a credit stored on the chip card, because then the mapping rule of the chip card is changed.

Bezugnehmend auf Fig. 2 wird ein Ausführungsbeispiel der vor­ liegenden Erfindung beschrieben, bei dem die Abbildungsvor­ schrift während der Herstellung einer Chipkarte, und zwar zwischen unterschiedlichen Chipkarten, geändert wird. Zu­ nächst wird in einem Schritt 50 eine erste Chipkarte mit ei­ ner ersten Abbildungsvorschrift bereit gestellt, woraufhin in einem Schritt 60 eine zweite Chipkarte mit einer zweiten Ab­ bildungsvorschrift hergestellt wird, die sich von der ersten Abbildungsvorschrift unterscheidet. Ein potentieller Angrei­ fer, der sich in dem Besitz der ersten Chipkarte befindet, und Kenntnis von der ersten Abbildungsvorschrift erlangt kann folglich diese Kenntnis nicht für einen Angriff auf die zwei­ te Chipkarte verwenden. Der Wechsel der Abbildungsvorschrift während der Herstellung kann chipkartenweise oder los- bzw. chargenweise erfolgen. Bei der Herstellung der Chipkarten Herstellung kann das Versehen der Chipkarten mit einer Abbil­ dungsvorschrift das Speichern einer Adreßübersetzungsnach­ schlagtabelle in einem nicht-flüchtigen Speicher, das Ein­ brennen einer Adreßübersetzungsnachschlagtabelle in eine Rom- Maske oder das Implementieren eines Abbildungsalgorithmus entweder softwaremäßig durch Laden eines entsprechenden Algo­ rithmusprogrammes in einen nicht-flüchtigen Speicher oder hardwaremäßig durch Änderung des Schaltungsentwurfs und Lay­ outs der Chipkarte bzw. durch Auswahl des Schaltungsentwurfs und Layouts aus einer geeigneten Bibliothek umfassen.Referring to Fig. 2, an embodiment of the prior invention is described, in which the Abzeichenvor writing during the manufacture of a smart card, namely between different smart cards, is changed. First, a first chip card with a first mapping rule is provided in a step 50 , whereupon a second chip card with a second mapping rule is produced in a step 60 , which differs from the first mapping rule. A potential attacker who is in possession of the first chip card and has gained knowledge of the first mapping rule can therefore not use this knowledge to attack the second chip card. The change in the mapping rule during production can be done on a chip card basis or in batches or batches. In the manufacture of the smart card production, the provision of the smart cards with an imaging rule can be the storage of an address translation lookup table in a non-volatile memory, the burning of an address translation lookup table in a ROM mask or the implementation of a mapping algorithm either by software by loading an appropriate algorithm program into a non-volatile memory or in terms of hardware by changing the circuit design and layout of the chip card or by selecting the circuit design and layout from a suitable library.

Bezugnehmend auf Fig. 3 wird ein Ausführungsbeispiel der vor­ liegenden Erfindung beschrieben, bei dem die Abbildungsvor­ schrift einer einzelnen Chipkarte auch nach der Herstellung verändert wird, wenn sich dieselbe in Benutzung befindet. Bei einem solchen Verfahren zum Konfigurieren einer Chipkarte wird in einem Schritt 70 die bestehende Abbildungsvorschrift der Chipkarte ansprechend auf das Eintreten eines vorbestimm­ ten Ereignisses auf eine Abbildungsvorschrift geändert, die sich von der bestehenden Abbildungsvorschrift unterscheidet. Das vorbestimmte Ereignis kann beispielsweise das Erfassen einer Kommunikation zwischen der Chipkarte und einem Termi­ nal, das Überschreiten bestimmter Grenzwerte, was auf einen unsachgemäßen Umgang und damit einen möglichen Angriff auf die Chipkarte hinweist, sowie das Ablaufen einer vorbestimm­ ten Zeitperiode, wie z. B. einen Tag, aufweisen. Auf diese Weise wird eine intermittierende, wie z. B. tägliche, Änderung der Abbildungsvorschrift der Chipkarte sichergestellt, so daß ein Angreifer, der in Kenntnis einer augenblicklichen Abbil­ dungsvorschrift der Chipkarte gelangt ist, diese Kenntnis nach dem nächsten Eintreten des vorbestimmten Ereignisses nicht mehr auf diese Chipkarte anwenden kann. Bei einer Ände­ rung der Abbildungsvorschrift nur in dem Fall des Bespielens der Chipkarte mit einer neuen Applikation kann ein Umkopieren der gespeicherten Daten entfallen, da diese durch die neue Applikation hinfällig werden. Andernfalls erfolgt ein Umko­ pieren der gespeicherten chipkartenspezifischen Informationen von den ursprünglichen physikalischen Adreßpositionen zu den durch die neue Abbildungsvorschrift angezeigten Positionen. In dem Fall, das das eingetretene Ereignis der Beginn einer Terminal/Chipkarten-Kommunikation ist, kann die neue Abbil­ dungsvorschrift auch von dem Terminal aus auf die Chipkarte geladen werden, indem aus einer Mehrzahl von in dem Terminal in Form einer Tabelle oder eines Algorithmus gespeicherten Abbildungsvorschriften zufällig eine ausgewählt oder dieselbe auf zufällige Weise neu erstellt wird und dieselbe auf die Chipkarte geladen wird.Referring to Fig. 3, an embodiment of the prior invention is described, in which the Abzeichenvor a single chip card is changed even after manufacture, when the same is in use. In such a method for configuring a chip card, the existing mapping rule of the chip card is changed in step 70 in response to the occurrence of a predetermined event to a mapping rule which differs from the existing mapping rule. The predetermined event can, for example, the detection of a communication between the chip card and a terminal, the exceeding of certain limit values, which indicates improper handling and thus a possible attack on the chip card, and the expiry of a predetermined time period, such as. B. have a day. In this way an intermittent, such as. B. daily, change the mapping rule of the chip card ensured so that an attacker who has knowledge of an instantaneous picture rule of the chip card, this knowledge can no longer apply to this chip card after the next occurrence of the predetermined event. If the mapping specification is changed only if the chip card is loaded with a new application, copying the stored data can be omitted, since the new application will make it unnecessary. Otherwise, the stored chip card-specific information is copied from the original physical address positions to the positions indicated by the new mapping rule. In the event that the event that has occurred is the start of a terminal / chip card communication, the new imaging rule can also be loaded onto the chip card from the terminal by a plurality of ones stored in the terminal in the form of a table or an algorithm Mapping rules are selected at random or the same is created in a random manner and the same is loaded onto the chip card.

Nachdem im vorhergehenden die vorliegenden Erfindung sowie ihre Vorteile eher allgemein beschrieben worden sind, werden im folgenden bezugnehmend auf die Fig. 4 und 5 spezielle Aus­ führungsbeispiele der vorliegenden Erfindung beschrieben.After the present invention and its advantages have been described in more general terms above, specific exemplary embodiments of the present invention are described below with reference to FIGS. 4 and 5.

Anhand von Fig. 4 wird zunächst ein Ausführungsbeispiel einer Multiapplikationschipkarte beschrieben, die mehrere Applika­ tionen unterstützt. Insbesondere wird anhand von Fig. 2 die vorteilhafte Trennung des logischen Adreßraumes, der für die Applikationsprogramme maßgeblich ist, von dem physikalischen Adreßraum, in dem der Applikationscode bzw. die chipkarten­ spezifischen Informationen tatsächlich gespeichert sind, er­ läutert, die sich durch die virtuelle Speicheradressierung ergibt.Referring to Fig. 4, an embodiment of a multi-application smart card will first be described, the plurality of applica tions supported. In particular 2, the advantageous separation of the logical address space, which is relevant to the application programs is based on Figs., Of the physical address space where the application code or the chip card specific information is actually stored, he explained, which is obtained by the virtual memory addressing ,

Fig. 4 zeigt bei 100 schematisch den einer Multiapplikations­ chipkarte zugewiesenen linearen logischen Adreßraum. Der lo­ gische Adreßraum 100 ist exemplarisch in drei gleich große Teile 100a, 100b und 100c unterteilt, von denen jeder einer der Applikationen zugeordnet ist, die die Multiapplikations­ chipkarte unterstützt. Die Applikationen umfassen beispiels­ weise eine Kreditkarten-, Telephonkarten-, Handysmartcard-, Pay-TV-Anwendung oder dergleichen. Rechts neben dem schema­ tisch dargestellten logischen Adreßraum 100 ist bei 110 in, wie es durch gestrichelte Linien dargestellt ist, herausver­ größerter Form der Teil 100b des logischen Adreßraums 100 dargestellt. Wie es zu sehen ist, sind den logischen Adressen innerhalb des Teiles 100b des logischen Adreßraumes 100 ver­ schiedene Speicherarten zugewiesen, in diesem Fall einem RAM, einem ROM, einem EEPROM und anderen Peripheriekomponenten auf der Chipkarte. Die Zuweisung wird von dem Chipkartenherstel­ ler vorgenommen und in einer Spezifikation der Multiapplika­ tionschipkarte dem Applikationscodeentwickler mitgeteilt, der im Auftrag eines Großkunden des Chipkartenhersteller den Ap­ plikationscode für die jeweilige Applikation erstellt. Folg­ lich ist der Teil 100b des logischen Adreßraumes 100 in einen Teil 110a mit logischen Adressen bezüglich des RAM, in einen Teil 110b für den ROM, einen Teil 110c für den EEPROM und ei­ nen Teil 110d für die Peripheriekomponenten unterteilt. Die logischen Adressen in dem Teil 110d dienen dem Applikations­ code beispielsweise zur Adressierung von Registern der jewei­ ligen Peripheriekomponenten. Solche Peripheriekomponenten um­ fassen beispielsweise einen UART (universal asynchronous re­ ceiver transmitter = universeller asynchroner Senderempfän­ ger), Kryptocoprozessoren, wie z. B. einen Coprozessor für mo­ dulare oder arithmetische Berechnungen, ein Hash-Modul oder dergleichen, und eine Energieverwaltung, welche über geeigne­ te Register, denen physikalische Adressen zugeordnet sind, angesprochen werden können. Fig. 4 shows schematically at 100 the linear logical address space assigned to a multi-application chip card. The logical address space 100 is exemplarily divided into three parts 100 a, 100 b and 100 c of equal size, each of which is assigned to one of the applications that the multi-application chip card supports. The applications include, for example, a credit card, telephone card, cell phone smart card, pay TV application or the like. To the right of the schematically represented logical address space 100 is shown at 110 in, as represented by dashed lines, out of enlarged form the part 100 b of the logical address space 100 . As can be seen, the logical addresses within the part 100 b of the logical address space 100 are assigned different types of memory, in this case a RAM, a ROM, an EEPROM and other peripheral components on the chip card. The assignment is made by the chip card manufacturer and communicated in a specification of the multi-application chip card to the application code developer, who creates the application code for the respective application on behalf of a large customer of the chip card manufacturer. Consequently, the part 100 b of the logical address space 100 is divided into a part 110 a with logical addresses relating to the RAM, a part 110 b for the ROM, a part 110 c for the EEPROM and a part 110 d for the peripheral components. The logical addresses in part 110 d serve the application code, for example, for addressing registers of the respective peripheral components. Such peripheral components include, for example, a UART (universal asynchronous receiver transmitter = universal asynchronous transmitter receiver), cryptocoprocessors, such as. B. a coprocessor for modular or arithmetic calculations, a hash module or the like, and energy management, which can be addressed via suitable registers to which physical addresses are assigned.

Bei 120 ist in Fig. 2 in, wie es durch gestrichelte Linien gezeigt ist, herausvergrößerter Form der Teil 110c des logi­ schen Adreßraumes 100 gezeigt, dessen logische Adressen sich auf den EEPROM der Multiapplikationschipkarte beziehen. Die Multiapplikationschipkarte von Fig. 2 verwendet eine seiten­ weise Abbildungsvorschrift von logischen Adressen auf physikalische Adressen, wie sie im vorhergehenden bezugnehmend auf Fig. 1 beschrieben worden ist. Lediglich zur Vereinfachung der Darstellung umfaßt der Teil 110c lediglich sechs logische Seiten 120a, 120b, 120c, 120d, 120e und 120f. In den Seiten 120a-120d ist der Applikationsprogrammcode gespeichert, wäh­ rend die Seiten 120e und 120f beispielsweise für applikati­ onsspezifische Daten verwendet werden, wobei durch den Appli­ kationscodeentwickler jedoch auch eine andere Aufteilung des Teiles 110c des logischen Adreßraumes vorgesehen sein kann.At 120 in Fig. 2 in, as shown by dashed lines, enlarged portion of part 110 c of the logical address space 100 is shown, the logical addresses of which relate to the EEPROM of the multi-application chip card. The multi-application chip card of FIG. 2 uses a page-by-page mapping rule from logical addresses to physical addresses, as was described above with reference to FIG. 1. Only to simplify the illustration, part 110 c comprises only six logical pages 120 a, 120 b, 120 c, 120 d, 120 e and 120 f. In the pages 120 a- 120 d of the application program code is stored, currency rend the sides 120 e and 120 f, for example, applikati onsspezifische data will be used, where c by the Appli cation code developer, however, a different distribution of the part 110 of the logical address space may be provided ,

Nachdem der Applikationscodeentwickler den Applikationscode unter Verwendung der von dem Chipkartenhersteller vorgegebe­ nen Spezifikationen, wie z. B. der Unterteilung des Teiles 100b in Speicherart-spezifische Teile 110a-110d, entwickelt hat, wird dieser Applikationscode gemäß dem in Fig. 2 gezeig­ ten Ausführungsbeispiel auf Chipkarten mit unterschiedlichen Abbildungsvorschriften geladen. In Fig. 4 ist exemplarisch eine mögliche Abbildungsvorschrift schematisch durch Pfeile 130 in den Teil 140 des physikalischen Adreßraumes gezeigt, der die physikalischen Adressen des EEPROM der Chipkarte ent­ hält. Wie es in Fig. 4 zu sehen ist, werden die Seiten 120a-120f durch die exemplarische Abbildungsvorschrift 130 auf die Seitenabschnitten 140a, 140b, 140c, 140e und 140f auf abge­ bildet, wo die Informationen in zerhackter Form physikalisch und gemäß einem weiteren Ausführungsbeispiel in krypto­ graphisch verschlüsselter Form gespeichert sind. Wie es im vorhergehenden beschrieben wurde, wird es einem Angreifer, der in Besitz der Multiapplikationschipkarte mit dieser Ab­ bildungsvorschrift 130 gelangt, bereits durch diese zerhackte Speicherung praktisch unmöglich gemacht, aus den zerhackten Speicherinformationen, die in dem EEPROM enthalten sind, den Programmcode und die Daten 120e-120f, die in den Seitenab­ schnitten 140a-140f physikalisch gespeichert sind, zu rekon­ struieren. Da jedoch die Chipkarten Chipkarten- oder Los­ weise mit einer unterschiedlichen Abbildungsvorschrift zur virtuellen Speicheradressierung versehen werden, wird es dem Angreifer auch dann, wenn derselbe die Abbildungsvorschrift einer speziellen Multiapplikationschipkarte eroiert hat, un­ möglich gemacht, diese Kenntnis auf eine andere Chipkarte desselben Typs anzuwenden. Bei einem speziellen Ausführungs­ beispiel wird nach einem Layoutentwurf für die Multiapplika­ tionschipkarten zunächst eine Übersetzungsnachschlagtabelle zur Definition der Abbildungsvorschrift, wie es im vorherge­ henden beschrieben wurde, auf eine ROM-Maske der Multiappli­ kationschipkarte gebrannt, wonach auf die derart mit einer speziellen Abbildungsvorschrift versehene Chipkarte die Ap­ plikationsdaten geladen werden. Bei einem anderen Ausfüh­ rungsbeispiel werden baugleiche Chipkarten verwendet, auf de­ nen hardwaremäßig ein Algorithmus zum Abbilden von logischen Adressen auf physikalische Adressen in einem Adreßverschlüs­ selungsmodul implementiert ist. In diesem Fall werden ledig­ lich speziellen Parameterregistern des Adreßverschlüsselungs­ moduls auf zufällige Weise unterschiedliche Werte zugewiesen, um die durch das Adreßverschlüsselungsmodul implementierte Abbildungsvorschrift von Chipkarte zu Chipkarte bzw. von Los zu Los zu ändern. Bei einem anderen Ausführungsbeispiel sind die Layout-Entwürfe verschiedener Multiapplikationschipkarten selbst untereinander unterschiedlich, wobei sich dieselben untereinander um die Abbildungsvorschrift unterscheiden. Für jede Chipkarte wird beispielsweise auf zufällige Weise einer einer Mehrzahl von Layout-Entwürfen ausgewählt. Auf die der­ art hergestellten Chipkarten werden daraufhin die applikati­ onsspezifischen Daten geladen.After the application code developer uses the application code using the specifications specified by the chip card manufacturer, such as. B. has developed the division of part 100 b into memory-specific parts 110 a- 110 d, this application code is loaded according to the embodiment shown in FIG. 2 on chip cards with different mapping rules. In Fig. 4, a possible mapping rule is shown schematically by arrows 130 in part 140 of the physical address space, which contains the physical addresses of the EEPROM of the chip card ent. As is 4 shown in Fig., The pages 120 a- 120 f by the exemplary mapping rule 130 to the side portions 140 a, 140 b, 140 c, forms 140 e and 140 f to abge where the information in chopped form are stored physically and according to a further exemplary embodiment in crypto-graphically encrypted form. As described above, an attacker who comes into possession of the multi-application chip card with this imaging rule 130 is already made practically impossible by this hacked storage from the hacked memory information contained in the EEPROM, the program code and the data To reconstruct 120 e- 120 f, which are physically stored in the Seitenab sections 140 a- 140 f. However, since the chip cards or chip cards are provided with a different mapping rule for virtual memory addressing, it is impossible for the attacker to apply this knowledge to another chip card of the same type even if the same has erased the mapping rule of a special multi-application chip card. In a special embodiment, for example, after a layout design for the multi-application chip cards, a translation look-up table for defining the mapping rule, as described in the preceding, is burned onto a ROM mask of the multiappli cation chip card, after which the chip card provided with a special mapping rule Application data can be loaded. In another exemplary embodiment, chip cards of identical design are used, on the hardware of which an algorithm for mapping logical addresses to physical addresses is implemented in an address encryption module. In this case, only special parameter registers of the address encryption module are randomly assigned different values in order to change the mapping rule implemented by the address encryption module from chip card to chip card or from lot to lot. In another exemplary embodiment, the layout designs of different multi-application chip cards themselves are different from one another, the same differing from one another by the mapping rule. For example, one of a plurality of layout designs is randomly selected for each chip card. The application-specific data are then loaded onto the chip cards manufactured in this way.

Ein großer Vorteil ergibt sich erfindungsgemäß daraus, daß die Änderung der Abbildungsvorschrift 130 keine Auswirkungen auf die Entwicklung des Applikationscodes hat, die innerhalb des logischen Adreßraumes 100 erfolgt. Folglich kann die Ab­ bildungsvorschrift für zwei Chipkarten unterschiedlich ge­ wählt werden, ohne den Programmcode der Applikation ändern zu müssen.A great advantage according to the invention results from the fact that the change in the mapping rule 130 has no effects on the development of the application code which takes place within the logical address space 100 . Consequently, the imaging rule for two chip cards can be selected differently without having to change the program code of the application.

Bezugnehmend auf Fig. 5 wird im folgenden ein Ausführungsbei­ spiel für eine Chipkarte beschrieben, bei der die Abbildungsvorschrift der Chipkarte teilweise durch eine Zustandsmaschi­ ne, die auf einen gespeicherten Adreßbaum mittels Zeigern zu­ greift, und teilweise nachträglich durch ein auf der Chipkar­ te laufendes Betriebssystem durch eine Übersetzungsnach­ schlagtabelle definiert wird. Ferner umfaßt die in Fig. 3 ge­ zeigte Chipkarte eine Einrichtung zum Ändern der Abbildung, so daß im Unterschied zu dem bezugnehmend auf Fig. 2 be­ schriebenen Ausführungsbeispiel, bei der lediglich eine Off- Card-Adreßvorschriftsänderung bzw. -erzeugung vorgesehen ist, ebenfalls eine On-Card-Adreßabbildungsänderung möglich ist.Referring to FIG. 5, a Ausführungsbei is hereinafter game described for a chip card, in the mapping rule of the chip card ne part by a Zustandsmaschi who accesses a stored Adreßbaum means of pointers, and partly subsequently by one on the Chipkar te running operating system by a translation lookup table is defined. Furthermore, the chip card shown in FIG. 3 comprises a device for changing the image, so that, in contrast to the exemplary embodiment described with reference to FIG. 2, in which only an off-card address change or generation is provided, also one On-card address mapping change is possible.

Die Chipkarte von Fig. 3 umfaßt eine CPU 200, einen Lo­ gisch/Physikalisch-Wandler 210 sowie Peripheriekomponenten, die einen ROM 220, einen RAM 230, einen EEPROM 240 und exem­ plarisch drei weitere Peripheriekomponenten PK1 250, PK2 260 und PK3 270 umfassen. Die CPU 200 ist über einen Bus 280 mit dem Logisch/Physikalisch-Wandler 210 verbunden, der wiederum mit den Peripheriekomponenten 220-270 über einen Bus 290 ver­ bunden ist. Ferner umfaßt die Chipkarte einen in einem Cache befindlichen TLB (TLB = translation look aside buffer = Über­ setzungsvorgriffpuffer) 300, eine Zustandsmaschine 310, einen Adreßbaumspeicher 320, der beispielsweise ein EEPROM oder ein Flash-Speicher ist, sowie eine Einrichtung zum Ändern der Abb. 330. Sowohl die Zustandsmaschine 310 als auch der TLB 300 sind mit dem Wandler 210 verbunden. Die Zustandsmaschine 310 ist darüber hinaus mit dem TLB 300 und dem Adreßbaumspei­ cher 320 verbunden. Die Einrichtung zum Ändern der Abb. 330 ist sowohl mit dem Bus 290 als auch dem Adreßbaumspeicher 320 verbunden.The smart card of Fig. 3 comprises a CPU 200, a Lo cally / physical converter 210 and peripheral components including a ROM 220, a RAM 230, a EEPROM 240, and Exem plarisch three other peripheral components PK1 250, PK2 260 and PK3 270th The CPU 200 is connected via a bus 280 to the logic / physical converter 210 , which in turn is connected to the peripheral components 220-270 via a bus 290 . Furthermore, the chip card comprises a TLB (translation look-aside buffer) 300 , a state machine 310 , an address tree memory 320 , which is, for example, an EEPROM or a flash memory, and a device for changing the image. 330. Both state machine 310 and TLB 300 are connected to converter 210 . State machine 310 is also connected to TLB 300 and address tree memory 320 . The device for changing the figure 330 is connected to both the bus 290 and the address tree memory 320 .

Nachdem im vorhergehenden der Aufbau der Chipkarte von Fig. 3 beschrieben worden ist, wird im folgenden die Funktionsweise derselben beschrieben. Die CPU, die das Betriebssystem der Chipkarte, das beispielsweise in dem ROM 220 gespeichert ist, sowie die von der Chipkarte unterstützten Applikationen, die beispielsweise in dem EEPROM 240 gespeichert sind, ausführt, greift auf die Peripheriekomponenten über Transaktionen, wie z. B. einen Lese-, Schreib- oder Ausführ-Vorgang, anhand logi­ scher Adressen zu, wobei die CPU 200 die Transaktionen auf dem Bus 280 ausgibt. Der Logisch/Physikalisch-Wandler 210 wandelt jede logische Adresse in eine physikalische Adresse um und gibt die Transaktionen mit physikalischen Adressen auf dem Bus 290 aus.After the structure of the chip card of Fig. 3 has been described above, the operation of the same is described below. The CPU, which executes the operating system of the chip card, which is stored, for example, in the ROM 220 , and the applications supported by the chip card, which are stored, for example, in the EEPROM 240 , accesses the peripheral components via transactions, such as, for example, B. a read, write or execute operation based on logical addresses, the CPU 200 outputs the transactions on the bus 280 . The logical / physical converter 210 converts each logical address into a physical address and outputs the transactions with physical addresses on the bus 290 .

Um die physikalische Adresse zu einer logischen Adresse zu ermitteln, greift der Wandler anhand eines Teils der logi­ schen Adresse, der die logische Seite angibt, der die logi­ sche Adresse zugehört, zunächst auf den TLB 300 zu, in dem eine vorbestimmte Anzahl von logischen Seitenstartadressen zusammen mit deren zugeordneten physikalischen Seitenab­ schnittsstartadressen in einer Übersetzungsnachschlagtabelle enthalten sind, wobei Ersetzungen alter Adreßtupel durch neue beispielsweise nach dem FIFO- oder dem LRU-Verfahren durchge­ führt werden. Falls der Wandler 210 in der Nachschlagtabelle in dem TLB einen entsprechenden Eintrag für die logische Ad­ resse findet, gibt der Wandler dieselbe auf dem Bus 290 aus. Der TLB 300 bzw. die Nachschlagtabelle in demselben wird ent­ weder durch das Betriebssystem oder die Zustandsmaschine 310 aufgefüllt, wie es im folgenden beschrieben werden wird.To determine the physical address to a logical address, the converter first accesses the TLB 300 in which a predetermined number of logical page start addresses is based on a part of the logical address that indicates the logical page to which the logical address belongs together with their assigned physical Seitenab section addresses are contained in a translation look-up table, replacing old address tuples with new ones, for example using the FIFO or LRU method. If converter 210 finds a corresponding entry for the logical address in the lookup table in the TLB, the converter outputs it on bus 290 . The TLB 300 or lookup table therein is populated by either the operating system or the state machine 310 , as will be described below.

Falls der Wandler 210 keinen entsprechenden Eintrag in dem TLB 300 findet, gibt der Wandler 210 die logische Adresse an die Zustandsmaschine 310 aus. Die Zustandsmaschine ist in der Lage, eine vordefinierte, virtuelle Filestruktur zu lesen, die den logischen Adressen zugrunde liegt. Die logischen Ad­ ressen sind in verschiedene Bitbereiche untergliedert, die verschiedenen Ebenen einer Baumstruktur zugeordnet sind. In dem Adreßbaumspeicher 320 sind dieser Baumstruktur zugehörige Listen mit physikalischen Adressen gespeichert. Der Bitbe­ reich einer obersten Ebene der logischen Adresse gibt den Li­ steneintrag in der Liste der obersten Ebene in dem Adreßbaum­ speicher 320 an. In diesem Listeneintrag der Liste der ober­ sten Ebene ist wiederum ein Verweis bzw. Zeiger auf eine Li­ ste der nächsten Ebene gespeichert, wobei ein Bitbereich der logischen Adresse, der sich auf die nächste Ebene bezieht, den entsprechenden Listeneintrag dieser Liste angibt. In die­ sem Listeneintrag steht wiederum ein Verweis auf eine Liste der nächstunteren Ebene der Baumstruktur. Die unterste Ebene wird durch die physikalischen Adressen gebildet, die den je­ weiligen logischen Adressen zugeordnet sind. Nachdem die Zu­ standsmaschine 310 die Baumstruktur in dem Adreßbaumspeicher 320 durchlaufen hat, gibt die Zustandsmaschine bei Vorfinden eines entsprechenden Eintrags das Tupel aus der logischen Adresse und der zugeordneten physikalischen Adresse an den TLB 300 aus, um dasselbe gegebenenfalls unter Ersetzung eines älteren Tupels in den TLB 300 einzutragen. Der Wandler 210 gibt hierauf die physikalische Adresse auf dem Bus 290 aus.If converter 210 does not find a corresponding entry in TLB 300 , converter 210 outputs the logical address to state machine 310 . The state machine is able to read a predefined, virtual file structure that is based on the logical addresses. The logical addresses are divided into different bit areas, which are assigned to different levels of a tree structure. Lists of physical addresses associated with this tree structure are stored in the address tree memory 320 . The top level bit area of the logical address indicates the list entry in the top level list in the address tree memory 320 . In this list entry of the list of the top level, a reference or pointer to a list of the next level is in turn stored, a bit range of the logical address relating to the next level indicating the corresponding list entry of this list. This list entry again contains a reference to a list of the next lower level of the tree structure. The lowest level is formed by the physical addresses that are assigned to the respective logical addresses. After the state machine 310 has run through the tree structure in the address tree memory 320 , the state machine outputs the tuple of the logical address and the assigned physical address to the TLB 300 , upon finding a corresponding entry, for the same, possibly replacing an older tuple in the TLB 300 to be entered. The converter 210 then outputs the physical address on the bus 290 .

Es wird darauf hingewiesen, daß durch das Vorsehen der Zu­ standsmaschine 310 in Verbindung mit dem in dem Adreßbaum­ speicher 320 gespeicherten Informationen auch das Betriebssy­ stem selbst in dem logischen Adreßraum ablaufen kann. Die CPU 200 benötigt lediglich eine Startadresse. Bei einer Initiali­ sierung, wie z. B. bei Eintreten der Chipkarte in Kommunikati­ on mit einem Terminal, wird der zunächst leere TLB 300 wäh­ rend des Hochfahrens des Betriebssystems ständig durch die Zustandsmaschine 310 aufgefüllt. Damit das Betriebssystem ebenfalls durch die im vorhergehenden beschriebene Seitenver­ schlüsselung geschützt ist, muß lediglich zumindest ein Boot- Strap-Teil desselben nach einem Rücksetzen der CPU 200 durch die Zustandsmaschine 310 für die virtuellen Filestruktur au­ tomatisch geladen werden. Das Betriebssystem läuft deshalb nicht in einem physikalischen Modus sondern wie die Applika­ tionsprogramme auch in einem virtuellen Modus, was die Si­ cherheit der Chipkarte weiterhin erhöht und zudem dem Chip­ kartenhersteller ein Produkt liefert, daß den Kunden eine kundenspezifischere Anpassung ermöglicht.It is pointed out that by providing the state machine 310 in conjunction with the information stored in the address tree memory 320 , the operating system itself can also run in the logical address space. The CPU 200 only needs a start address. With an initialization such. B. when the chip card enters into communication with a terminal, the initially empty TLB 300 is continuously filled during the startup of the operating system by the state machine 310 . So that the operating system is also protected by the page encryption described above, only at least one boot strap part of the same has to be loaded automatically after the CPU 200 has been reset by the state machine 310 for the virtual file structure. The operating system therefore does not run in a physical mode but, like the application programs, also in a virtual mode, which further increases the security of the chip card and also provides the chip card manufacturer with a product that enables customers to make more customized adjustments.

Die in dem Adreßbaumspeicher 320 gespeicherten Daten können ähnlich zu dem bezugnehmend auf Fig. 2 und 4 beschriebenen Ausführungsbeispiel bereits bei Herstellung unterschiedlich vorgesehen werden, um Chipkarten mit unterschiedlichen Abbil­ dungsvorschriften zu erhalten. Durch die Einrichtung 330 zum Ändern der Abbildung ist die Chipkarte von Fig. 3 jedoch fer­ ner zu einer Änderung der Abbildungsvorschrift ähnlich zu dem Ausführungsbeispiel von Fig. 3 in der Lage, nachdem die Chip­ karte in Gebrauch ist. In dem vorliegenden Ausführungsbei­ spiel spricht die Einrichtung 330 auf Befehle von der CPU 200 an, die über den Bus 280 und 290 übertragen werden. Die Ein­ richtung 330 umfaßt beispielsweise einen Zufallsgenerator zum Erzeugen von Zufallszahlen, um auf zufällige Weise eine neue Abbildungsvorschrift zu erstellen, oder eine Mehrzahl von Al­ gorithmenschaltungen zum Implementieren verschiedener Abbil­ dungsvorschriften, wobei dieselben jedoch auch softwaremäßig implementiert sein kann. Weitere Teile zum Ändern der Abbil­ dung sind entweder softwaremäßig oder hardwaremäßig implemen­ tiert und können beispielsweise auf einen speziellen Instruk­ tionssatz der CPU 200 zurückgreifen, der spezielle Befehle zum Lesen und Schreiben bezüglich physikalischer Adressen un­ terstützt. Durch diesen Instruktionssatz kann die Einrichtung 330 den Speicherinhalt des Adreßbaumspeichers 320 auf geeig­ nete Weise verändern, um die Abbildungsvorschrift der Chip­ karte zu ändern. Bei einem anderen Ausführungsbeispiel wird die Änderung der Abbildungsvorschrift anstatt durch eine ge­ sonderte Einrichtung 330 durch das Betriebssystem selbst durchgeführt, indem dasselbe auf den Instruktionssatz der CPU 200 zurückgreift. Das Betriebssystem trägt bei einem anderen Ausführungsbeispiel in ein spezielles Register eine physika­ lische Seitenadresse ein, so daß beim Schreiben bzw. Lesen auf eine diesem Register zugeordnete logische Seitenadresse auf die in dem Register eingetragene physikalische Seite zu­ gegriffen wird. Die Änderung der Abbildungsvorschrift findet beispielsweise bei jedem erneuten Eintreten einer Kommunika­ tion zwischen der Chipkarte und einem Terminal statt.Similar to the embodiment described with reference to FIGS. 2 and 4, the data stored in the address tree memory 320 can already be provided differently during manufacture in order to obtain chip cards with different image regulations. By means of the device 330 for changing the image, however, the chip card of FIG. 3 is also able to change the mapping rule similarly to the exemplary embodiment of FIG. 3 after the chip card is in use. In the present embodiment, device 330 is responsive to commands from CPU 200 that are transmitted over bus 280 and 290 . The device 330 comprises, for example, a random generator for generating random numbers in order to create a new mapping rule in a random manner, or a plurality of algorithm circuits for implementing various mapping rules, but the same can also be implemented in software. Other parts for changing the mapping are implemented either in software or hardware and can, for example, fall back on a special instruction set of the CPU 200 , which supports special commands for reading and writing regarding physical addresses. With this set of instructions, the device 330 can change the memory content of the address tree memory 320 in a suitable manner in order to change the mapping rule of the chip card. In another embodiment, the mapping rule change is performed by the operating system itself rather than by a dedicated device 330 , using the instruction set of the CPU 200 . In another embodiment, the operating system enters a physical page address in a special register, so that when writing or reading to a logical page address assigned to this register, the physical page entered in the register is accessed. The mapping rule changes, for example, each time communication between the chip card and a terminal occurs again.

Falls die Einrichtung 300 den Speicherinhalt des Adreßbaum­ speichers 320 ändert, um die Abbildungsvorschrift der Chip­ karte zu ändern, weist die Einrichtung 300 gleichzeitig ein Umkopieren der entsprechenden Seitenabschnitte bzw. Register, die den physikalischen Adressen zugeordnet sind, an. Hierbei wird der Speicherinhalt derjeniger physikalischen Adressen, auf die die logischen Adressen durch die ursprüngliche Abbil­ dungsvorschrift der Chipkarte abgebildet wurden, zu denjeni­ gen kopiert, auf die die logischen Adressen durch die neue Abbildungsvorschrift abgebildet werden. Durch diese Maßnahme wird gewährleistet, daß die CPU beim Zugreifen auf die Peri­ pheriekomponenten 220-270 mittels der logischen Adressen auf die korrekten Daten zugreift. Der Schritt des Umkopierens kann jedoch unterbleiben, falls die Änderung der Abbildungs­ vorschrift lediglich einen Teil des logischen Adreßraumes be­ trifft, der, wie es bezugnehmend auf Fig. 2 beschrieben wor­ den ist, eine Applikation zugeordnet ist, die gerade neu auf die Chipkarte geladen wird. In diesem Fall sind die bestehen­ den Daten in den Seitenabschnitten, die den physikalischen Adressen zugeordnet sind, auf die die logischen Adressen ur­ sprünglich abgebildet wurden, nicht mehr von Bedeutung, so daß das Umkopieren unterbleiben kann.If the device 300 changes the memory content of the address tree memory 320 in order to change the mapping specification of the chip card, the device 300 simultaneously instructs the copying of the corresponding page sections or registers which are assigned to the physical addresses. In this case, the memory content of those physical addresses to which the logical addresses were mapped by the original mapping rule of the chip card is copied to those to which the logical addresses are mapped by the new mapping rule. This measure ensures that the CPU accesses the correct data by means of the logical addresses when accessing the peripheral components 220-270 . The step of copying can, however, be omitted if the change in the mapping rule only affects a part of the logical address space which, as has been described with reference to FIG. 2, is associated with an application which is being newly loaded onto the chip card , In this case, the existing data in the page sections which are assigned to the physical addresses to which the logical addresses were originally mapped are no longer important, so that copying can be omitted.

Bezugnehmend auf die Fig. 2 und 3 wird darauf hingewiesen, daß die dargestellten Schritte der erfindungsgemäßen Verfah­ ren bei einer erfindungsgemäßen Vorrichtung bzw. einem erfin­ dungsgemäßen Sicherheitsmodul durch entsprechende Einrichtun­ gen implementiert sein können, die diese Schritte aufweisen. Die Einrichtungen zum Bereitstellen der Sicherheitsmodule mit unterschiedlichen Abbildungsvorschriften können beispielswei­ se Layout-, Entwicklungs-, Bibliothekenbereitstellungs- und Simulationswerkzeuge, Halbleiterherstellungsgeräte, Le­ se/Schreib-Schnittstellenvorrichtungen, ROM-Masken- Herstellungsgeräte und/oder Zufallsgeneratoren sowie geeigne­ te Softwareprogramme zur Steuerung oder Abbildungsvorschrif­ tenauswahl und -erzeugung umfassen, sind aber nicht auf die­ selben beschränkt. Die Einrichtung zum Ändern der Abbildungs­ vorschriften eines Sicherheitsmoduls auf das Eintreten eines vorbestimmten Ereignisses hin kann beispielsweise einen Zu­ fallsgenerator, Software zur Abbildungsvorschriftenauswahl oder -erzeugung, softwaremäßig oder hardwaremäßig implemen­ tierte Abbildungsalgorithmen und/oder Parameterregister um­ fassen, sind aber nicht darauf begrenzt. Die Erfassung des Eintretens vorbestimmter Ereignisse kann durch Zeitgeber, Spannungs- und Stromschwellenwertkomparatoren und/oder Si­ cherheitsmodul/Terminal-Kommunikationserfassungselemente durchgeführt werden. With reference to FIGS. 2 and 3, it is pointed out that the illustrated steps of the method according to the invention can be implemented in a device according to the invention or a security module according to the invention by corresponding devices having these steps. The devices for providing the security modules with different mapping regulations can, for example, layout, development, library provision and simulation tools, semiconductor manufacturing devices, read / write interface devices, ROM mask manufacturing devices and / or random generators as well as suitable software programs for control or mapping regulation selection and generation include, but are not limited to, the same. The device for changing the mapping rules of a security module upon the occurrence of a predetermined event can include, for example, a random generator, software for mapping rule selection or generation, software or hardware-implemented mapping algorithms and / or parameter registers, but is not limited to this. The detection of the occurrence of predetermined events can be carried out by timers, voltage and current threshold comparators and / or security module / terminal communication detection elements.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

1010

logischer Adressraum
logical address space

1010

a-a-

1010

f Teile des logischen Adressraumes
f parts of the logical address space

2020

physikalischer Adressraum
physical address space

2020

a-a-

2020

f Teile des physikalischen Adressraumes
f parts of the physical address space

3030

Abbildungsvorschrift
mapping rule

4040

Nachschlagtabelle
lookup table

100100

logischer Adressraum
logical address space

100100

a-a-

100100

c Teile des logischen Adressraumes
c parts of the logical address space

110110

Teil des logischen Adressraumes der zweiten Applikation
Part of the logical address space of the second application

110110

a RAM-zugewiesener Teil
a RAM-allocated part

110110

b ROM-zugewiesener Teil
b ROM-assigned part

110110

c EEPROM-zugewiesener Teilabsatz
c EEPROM-assigned sub-paragraph

110110

d Peripheriekomponente-zugewiesender Teil
d Periphery component-assigned part

120120

EEPROM-zugewiesener Teilabsatz
EEPROM-assigned subsection

120120

a-a-

120120

f -
f -

130130

Abbildungsvorschrift
mapping rule

140140

a-a-

140140

f Seitenabschnitte
f side sections

200200

DPU
DPU

210210

Logisch/Physikalisch-Wandler
Logical / physical converter

220220

ROM
ROME

230230

RAM
R.A.M.

240240

EEPROM
EEPROM

250250

PK1
PK1

260260

PK2
PK2

270270

PK3
PK3

280280

Bus
bus

290290

Bus
bus

300300

TLB
TLB

310310

Zustandsmaschine
state machine

320320

Einrichtung zum Ändern der Abbildungsvorschrift
Device for changing the mapping rule

330330

Adressbaumspeicher
Address memory tree

Claims (27)

1. Verfahren zum Herstellen von Sicherheitsmodulen mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer Abbildungsvorschrift auf eindeutige Weise auf physikalische Adressen abgebildet werden, mit folgenden Schritten:
Bereitstellen (50) eines ersten Sicherheitsmoduls mit einer ersten Abbildungsvorschrift; und
Bereitstellen (60) eines zweiten Sicherheitsmoduls mit einer zweiten Abbildungsvorschrift,
wobei sich die erste Abbildungsvorschrift von der zweiten Ab­ bildungsvorschrift unterscheidet.
1. A method for producing security modules with virtual memory addressing, in which logical addresses are mapped uniquely to physical addresses using a mapping rule, with the following steps:
Providing ( 50 ) a first security module with a first mapping rule; and
Providing ( 60 ) a second security module with a second mapping rule,
wherein the first mapping rule differs from the second mapping rule.
2. Verfahren gemäß Anspruch 1, bei dem die Schritte des Be­ reitstellens (50, 60) das zufällige Erstellen der ersten beziehungsweise zweiten Abbildungsvorschrift aufweisen.2. The method according to claim 1, wherein the steps of providing ( 50 , 60 ) comprise randomly creating the first or second mapping rule. 3. Verfahren gemäß Anspruch 1, bei dem die Schritte des Be­ reitstellens (50, 60) das Auswählen der ersten beziehungswei­ se zweiten Abbildungsvorschrift aus einer Vielzahl von unter­ schiedlichen Abbildungsvorschriften aufweisen.3. The method according to claim 1, wherein the steps of providing ( 50 , 60 ) comprise selecting the first or second mapping rule from a multiplicity of different mapping rules. 4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Schritte des Bereitstellens (50, 60) das Laden der ersten be­ ziehungsweise zweiten Abbildungsvorschrift in einen nicht- flüchtigen Speicher des ersten beziehungsweise zweiten Si­ cherheitsmoduls aufweisen.4. The method according to any one of claims 1 to 3, wherein the steps of providing ( 50 , 60 ) have the loading of the first or second mapping rule into a non-volatile memory of the first or second security module. 5. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Schritte des Bereitstellens (50, 60) das Brennen der ersten beziehungsweise zweiten Abbildungsvorschrift auf eine ROM- Maske des ersten beziehungsweise zweiten Sicherheitsmoduls aufweisen. 5. The method as claimed in one of claims 1 to 3, in which the steps of providing ( 50 , 60 ) comprise firing the first or second mapping rule onto a ROM mask of the first or second security module. 6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die erste und die zweite Abbildungsvorschrift Übersetzungsnach­ schlagtabellen (40) mit einer Mehrzahl von Einträgen umfas­ sen, wobei jeder Eintrag eine logische Adresse und eine phy­ sikalische Adresse aufweist, auf die die logische Adresse ab­ gebildet ist.The method of any one of claims 1 to 5, wherein the first and second mapping rules include translation lookup tables ( 40 ) with a plurality of entries, each entry having a logical address and a physical address to which the logical address is pointed is formed. 7. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die erste und die zweite Abbildungsvorschrift Algorithmen zum Be­ rechnen der physikalischen Adressen aus den logischen Adres­ sen aufweisen.7. The method according to any one of claims 1 to 5, wherein the first and second mapping rule algorithms for loading calculate the physical addresses from the logical addresses have sen. 8. Verfahren gemäß Anspruch 7, bei dem die Algorithmen hard­ waremäßig implementiert sind und sich voneinander unterschei­ den.8. The method according to claim 7, wherein the algorithms hard are implemented and differ from each other the. 9. Verfahren gemäß Anspruch 7, bei dem die Algorithmen iden­ tisch und durch zumindest einen Parameter konfigurierbar sind, wobei die Schritte des Bereitstellens (50, 60) das Kon­ figurieren des Algorithmus durch Laden von unterschiedlichen Parametern auf das erste beziehungsweise zweite Sicherheits­ modul aufweisen.9. The method according to claim 7, wherein the algorithms are identical and configurable by at least one parameter, the steps of providing ( 50 , 60 ) comprising configuring the algorithm by loading different parameters onto the first or second security module. 10. Verfahren gemäß einem der Ansprüche 1 bis 9, bei dem die erste und die zweite Abbildungsvorschrift seitenweise Abbil­ dungsvorschriften (130) sind, die nicht überlappende logische Seiten (120a, 120b, 120c, 120d, 120e, 120f) auf nicht über­ lappende physikalische Seitenabschnitte (140a, 140b, 140c, 140d, 140e, 140f) abbildet, wobei jede logische Adresse eine Seitenadresse einer logischen Seite und jede physikalische Adresse eine Seitenabschnittsadresse eines physikalischen Seitenabschnitts ist, und wobei die Seitengröße gleich der Seitenabschnittsgröße ist.10. The method according to any one of claims 1 to 9, wherein the first and the second mapping rule page-by-page mapping rules ( 130 ), the non-overlapping logical pages ( 120 a, 120 b, 120 c, 120 d, 120 e, 120 f ) onto non-overlapping physical page sections ( 140 a, 140 b, 140 c, 140 d, 140 e, 140 f), where each logical address is a page address of a logical page and each physical address is a page section address of a physical page section, and wherein the page size is equal to the page section size. 11. Verfahren gemäß Anspruch 10, bei dem die Seitengröße zwi­ schen 32 und 128 Bytes beträgt. 11. The method according to claim 10, wherein the page size between between 32 and 128 bytes.   12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem das Sicherheitsmodul eine Chipkarte ist, die mehrere Applikatio­ nen unterstützt, wobei jeder Applikation unterschiedliche lo­ gische Adressen zugeordnet sind.12. The method according to any one of claims 1 to 11, wherein the Security module is a chip card that has multiple applications NEN supports, with each application different lo assigned addresses. 13. Sicherheitsmodul mit einer virtuellen Speicheradressie­ rung, bei der logische Adressen mittels einer ersten Abbil­ dungsvorschrift auf eindeutige Weise auf physikalische Adres­ sen abgebildet werden, mit folgendem Merkmal:
einer Einrichtung (70) zum Ändern der ersten Abbildungsvor­ schrift in eine zweite Abbildungsvorschrift ansprechend auf das Eintreten eines vorbestimmten Ereignissen,
wobei sich die erste Abbildungsvorschrift von der zweiten Ab­ bildungsvorschrift unterscheidet.
13. Security module with a virtual memory addressing, in which logical addresses are uniquely mapped to physical addresses using a first mapping rule, with the following feature:
means ( 70 ) for changing the first mapping rule to a second mapping rule in response to the occurrence of a predetermined event,
wherein the first mapping rule differs from the second mapping rule.
14. Sicherheitsmodul gemäß Anspruch 13, das ferner folgendes Merkmal aufweist: eine Einrichtung zum Kopieren des Speicherinhalts derjeniger physikalischen Adressen, auf die die logischen Adressen durch die erste Abbildungsvorschrift abgebildet werden, zu denjeni­ gen physikalischen Adressen, auf die die logischen Adressen durch die zweite Abbildungsvorschrift abgebildet werden.14. The security module of claim 13, further comprising the following Feature has: means for copying the memory contents of those physical addresses to which the logical addresses are based the first mapping rule to be mapped to those physical addresses to which the logical addresses are represented by the second mapping rule. 15. Sicherheitsmodul gemäß Anspruch 13 oder 14, bei dem das vorbestimmte Ereignis das Eintreten der Chipkarte in Kommuni­ kation mit einem Terminal, das Ablaufen einer vorbestimmten Zeitperiode oder das Erfassen der Verletzung vorbestimmter Sicherheitsbedingungen aufweist.15. Security module according to claim 13 or 14, wherein the predetermined event the entry of the chip card in communication cation with a terminal, the expiration of a predetermined Time period or the detection of the violation predetermined Has security conditions. 16. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 15, bei dem die Einrichtung zum Ändern (70) einen Zufallszahlengene­ rator umfaßt. 16. Security module according to one of claims 13 to 15, wherein the means for changing ( 70 ) comprises a random number generator. 17. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 15, das ferner folgende Merkmale aufweist: eine Einrichtung zum Empfangen der zweiten Abbildungsvor­ schrift von einem Terminal.17. Security module according to one of claims 13 to 15, the also has the following features: means for receiving the second image writing from a terminal. 18. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 17, bei dem die erste und die zweite Abbildungsvorschrift in einem nicht-flüchtigen Speicher des Sicherheitsmoduls gespeichert sind.18. Security module according to one of claims 13 to 17, which the first and the second mapping rule in one Non-volatile memory of the security module saved are. 19. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 18, bei dem die erste und die zweite Abbildungsvorschrift Überset­ zungsnachschlagtabellen mit einer Mehrzahl von Einträgen um­ fassen, wobei jeder Eintrag eine logische Adresse und eine physikalische Adresse aufweist, auf die die logische Adresse abgebildet ist.19. Security module according to one of claims 13 to 18, which translates the first and second mapping rules tables with a plurality of entries summarize, with each entry a logical address and a physical address to which the logical address is shown. 20. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 19, bei dem die erste und die zweite Abbildungsvorschrift Algorithmen zum Berechnen der physikalischen Adressen aus den logischen Adressen aufweisen.20. Security module according to one of claims 13 to 19, at which the first and the second mapping rule algorithms to calculate the physical addresses from the logical ones Have addresses. 21. Verfahren gemäß Anspruch 20, bei dem die Algorithmen hardwaremäßig implementiert sind und sich voneinander unter­ scheiden.21. The method of claim 20, wherein the algorithms are implemented in hardware and differ from each other divorce. 22. Verfahren gemäß Anspruch 20, bei dem die Algorithmen i­ dentisch und durch zumindest einen Parameter konfigurierbar sind, wobei die Einrichtung zum Ändern (70) eine Einrichtung zum Laden von unterschiedlichen Parametern auf dem Sicher­ heitsmodul aufweist.22. The method according to claim 20, in which the algorithms are dental and configurable by at least one parameter, the device for changing ( 70 ) having a device for loading different parameters on the security module. 23. Verfahren gemäß einem der Ansprüche 13 bis 22, bei dem die erste und die zweite Abbildungsvorschrift seitenweise Ab­ bildungsvorschriften (130) sind, die nicht überlappende logi­ sche Seiten (120a, 120b, 120c, 120d, 120e, 120f) auf nicht überlappende physikalische Seitenabschnitte (140a, 140b, 140c, 140d, 140e, 140f) abbildet, wobei jede logische Adresse eine Seitenadresse einer logischen Seite und jede physikali­ sche Adresse eine Seitenabschnittsadresse eines physikali­ schen Seitenabschnitts ist, und wobei die Seitengröße gleich der Seitenabschnittsgröße ist.23. The method according to any one of claims 13 to 22, wherein the first and second mapping rules are page-by-page mapping rules ( 130 ), the non-overlapping logical pages ( 120 a, 120 b, 120 c, 120 d, 120 e, 120 f) maps to non-overlapping physical page sections ( 140 a, 140 b, 140 c, 140 d, 140 e, 140 f), each logical address being a page address of a logical page and each physical address being a page section address of a physical page section, and wherein the page size is equal to the page section size. 24. Sicherheitsmodul gemäß Anspruch 23, bei dem die Seiten­ größe zwischen 32 und 128 Bytes beträgt.24. The security module according to claim 23, wherein the sides size is between 32 and 128 bytes. 25. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 24, bei dem das Sicherheitsmodul eine Chipkarte ist, die mehrere Ap­ plikationen unterstützt, wobei jeder Applikation unterschied­ liche logische Adressen zugeordnet sind.25. Security module according to one of claims 13 to 24, which the security module is a chip card that has multiple Ap supported with each application different logical logical addresses are assigned. 26. Vorrichtung zum Herstellen von Sicherheitsmodulen mit ei­ ner virtuellen Speicheradressierung, bei der logische Adres­ sen mittels einer Abbildungsvorschrift auf eindeutige Weise auf physikalische Adressen abgebildet werden, mit folgendem Merkmal:
einer Einrichtung zum Bereitstellen eines ersten Sicherheits­ moduls mit einer ersten Abbildungsvorschrift und eines zwei­ ten Sicherheitsmoduls mit einer zweiten Abbildungsvorschrift,
wobei sich die erste Abbildungsvorschrift von der zweiten Ab­ bildungsvorschrift unterscheidet.
26. Device for producing security modules with a virtual memory addressing, in which logical addresses are mapped uniquely to physical addresses by means of a mapping rule, with the following feature:
a device for providing a first security module with a first mapping rule and a second security module with a second mapping rule,
wherein the first mapping rule differs from the second mapping rule.
27. Verfahren zum Konfigurieren eines Sicherheitsmoduls mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer ersten Abbildungsvorschrift auf ein­ deutige Weise auf physikalische Adressen abgebildet werden, mit folgendem Schritt:
Ändern der ersten Abbildungsvorschrift in eine zweite Abbil­ dungsvorschrift ansprechend auf das Eintreten eines vorbe­ stimmten Ereignisses,
wobei sich die erste Abbildungsvorschrift von der zweiten Ab­ bildungsvorschrift unterscheidet.
27. Method for configuring a security module with virtual memory addressing, in which logical addresses are mapped to physical addresses in a clear manner by means of a first mapping rule, with the following step:
Changing the first mapping rule to a second mapping rule in response to the occurrence of a predetermined event,
wherein the first mapping rule differs from the second mapping rule.
DE2001127181 2001-06-05 2001-06-05 Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security Withdrawn DE10127181A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001127181 DE10127181A1 (en) 2001-06-05 2001-06-05 Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001127181 DE10127181A1 (en) 2001-06-05 2001-06-05 Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security

Publications (1)

Publication Number Publication Date
DE10127181A1 true DE10127181A1 (en) 2002-12-19

Family

ID=7687198

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001127181 Withdrawn DE10127181A1 (en) 2001-06-05 2001-06-05 Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security

Country Status (1)

Country Link
DE (1) DE10127181A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10317147A1 (en) * 2003-04-14 2004-10-28 Nec Electronics (Europe) Gmbh Secure storage system with flash memories and cache memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19922155A1 (en) * 1999-05-12 2000-11-23 Giesecke & Devrient Gmbh Memory arrangement and memory access procedure for microcomputers has an additional scrambling step to increase data security, for use in financial applications etc.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19922155A1 (en) * 1999-05-12 2000-11-23 Giesecke & Devrient Gmbh Memory arrangement and memory access procedure for microcomputers has an additional scrambling step to increase data security, for use in financial applications etc.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10317147A1 (en) * 2003-04-14 2004-10-28 Nec Electronics (Europe) Gmbh Secure storage system with flash memories and cache memory

Similar Documents

Publication Publication Date Title
DE69833902T2 (en) Integrated circuit for embedding in smart cards, and method for the production of smart cards
DE69314659T2 (en) METHOD AND CIRCUIT FOR ENCRYPTION AND AUTHENTICATION OF MEMORY CARDS
DE69012692T3 (en) Hard-wired microcircuit card and method for performing a transaction between such a card and a terminal.
DE69823649T2 (en) MULTI-APPLICATION IC CARD SYSTEM
DE69519473T2 (en) Data exchange systems with portable data processing units
DE69402955T2 (en) Data exchange system with portable data processing units
DE69814406T2 (en) PORTABLE ELECTRONIC DEVICE FOR SYSTEMS FOR SECURE COMMUNICATION AND METHOD FOR INITIALIZING THE PARAMETERS
DE69807210T2 (en) SECURED MULTIPURPOSE CARD SYSTEM AND METHOD
DE69603160T2 (en) INTEGRATED CIRCUIT FOR SMART CARD
DE69419967T2 (en) IC card chip with means for limiting the number of authentications
DE10162306A1 (en) Method and arrangement for verifying NV fuses as well as a corresponding computer program product and a corresponding computer-readable storage medium
DE60013424T2 (en) Data processing device and integrated circuit
DE112004002259T5 (en) Access to private data about the status of a data processing machine from a publicly accessible storage
EP1326256A2 (en) Device and method for programming and verification of EEPROM pages, corresponding computer program and computer-readable memory medium
DE10324337B4 (en) Computer system and associated method for performing a safety program
WO2003060721A2 (en) Method and system for writing nv memories in a controller architecture, corresponding computer program product and computer-readable storage medium
EP1661069B1 (en) Processor circuit and method for allocating a logic chip to a memory chip
DE602004010458T2 (en) SEMICONDUCTOR MEMORY CARD AND COMPUTER READABLE PROGRAM
DE60103515T2 (en) CRYPTOGRAPHIC PROCEDURE FOR PROTECTION AGAINST FRAUD
EP1022659B1 (en) Circuit for electronic data management
DE10127181A1 (en) Security module, e.g. chip card, has a configuration method and manufacturing method that links logical to physical addresses in a unique manner greatly increasing module security
DE102005057104A1 (en) Smart card for use in finance field, has current transforming block coupled to central processing unit, and generating amounts of dummy currents before and after amount of current consumed by corresponding security operations
DE10162308A1 (en) Method and arrangement for controlling access to EEPROMs and a corresponding computer program product and a corresponding computer-readable storage medium
DE60203909T2 (en) CRYPTOGRAPHIC PROCEDURE FOR THE PROTECTION OF AN ELECTRONIC CHIP AGAINST FRAUD
DE69900566T2 (en) Procedure for personalizing an IC card

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal