Nothing Special   »   [go: up one dir, main page]

DE102007009212A1 - Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code - Google Patents

Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code Download PDF

Info

Publication number
DE102007009212A1
DE102007009212A1 DE200710009212 DE102007009212A DE102007009212A1 DE 102007009212 A1 DE102007009212 A1 DE 102007009212A1 DE 200710009212 DE200710009212 DE 200710009212 DE 102007009212 A DE102007009212 A DE 102007009212A DE 102007009212 A1 DE102007009212 A1 DE 102007009212A1
Authority
DE
Germany
Prior art keywords
value
card
rom
chip
interface
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
DE200710009212
Other languages
German (de)
Inventor
Frank Schmalz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient Mobile Security GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE200710009212 priority Critical patent/DE102007009212A1/en
Publication of DE102007009212A1 publication Critical patent/DE102007009212A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The chip has a read only memory, which contains a read only memory-program code, a processor for the execution of program code and an interface for reading and selection of values. The chip program code includes reading of a value by the interface, calculation of an another value as result of a hash-function by the former value and the total content of the ROM, and restoring the latter value by the interface. Independent claims are also included for the following: (1) a chip card write and read device has an interface for writing and reading of values on a chip card (2) a method for chip card write and read device (3) a storage medium for use with a chip card write and read device (4) a method for execution of a microprocessor card in a chip (5) a storage medium for use with a mask generator for producing a mask layout for chips for microprocessor cards.

Description

Die Erfindung bezieht sich auf das Gebiet von tragbaren Datenträgern mit integrierten elektronischen Schaltkreisen, sogenannten Chipkarten, insbesondere Mikroprozessorkarten und Chipkartenschreib- und -Lesegeräte. Konkret bezieht sich die Erfindung auf die Erhöhung der Sicherheit im Zusammenhang mit der Evaluierung.The This invention relates to the field of portable data carriers with integrated electronic circuits, so-called smart cards, in particular microprocessor cards and chip card writers and readers. Specifically, the invention relates to the increase of Security in the context of the evaluation.

Das Gebiet der Erfindung umfaßt Chipkarten gemäß dem Oberbegriff des Patentanspruchs 1, Mikroprozessorkarten gemäß dem Oberbegriff des Patentanspruchs 3, Chipkartenschreib- und -Lesegeräte gemäß dem Oberbegriff des Patentanspruchs 4, Verfahren gemäß den Oberbegriffen der Patentansprüche 6 und 10 sowie Speichermedien gemäß den Oberbegriffen der Patentansprüche 8 und 9. Derartige Chipkarten, Mikroprozessorkarten, Chipkartenschreib- und -lesegeräte, Verfahren und Speichermedien sind beispielsweise aus dem "Handbuch der Chipkarten" von Wolfgang Rankl und Wolfgang Effing, 2002, Carl Hanser Verlag, München bekannt.The field of the invention comprises smart cards according to the preamble of claim 1, microprocessor cards according to the preamble of claim 3, smart card write and read devices according to the preamble of claim 4, methods according to the preambles of claims 6 and 10, and storage media according to the preambles of claims 8 and 9. Such smart cards, microprocessor cards, smart card write and read devices, methods and storage media are for example from the "Handbuch der Chipkarten" by Wolfgang Rankl and Wolfgang Effing, 2002, Carl Hanser Verlag, Munich known.

In den letzten Jahren spielt die Computerkriminalität eine immer größer werdende Rolle. Trojaner und andere Viren, die sogenannte „Malware" werden in Rechnersysteme eingeschleust und verbreiten sich mit rasender Geschwindigkeit. Die auf diese Weise ausgespähten sensiblen Daten werden anschließend dazu genutzt, auf kriminelle Weise Bankgeschäfte unter falschem Namen und auf fremde Rechnung zu tätigen, konspirative Kommunikation zu verschleiern oder auch Geldwäsche für illegale Geschäfte zu ermöglichen. Der volkswirtschaftliche Schaden, der weltweit auf die Verbreitung von „Malware" zurückgeführt werden kann, ist enorm und unterliegt hohen jährlichen Wachstumsraten.In In recent years, cybercrime plays a role ever-increasing role. Trojans and others Viruses called "malware" are used in computer systems introduced and spread at breakneck speed. The sensitive data spied out in this way will be then used to criminally bank transactions under a false name and on a foreign account, disguise conspiratorial communication or money laundering to allow for illegal business. The economic damage that spread worldwide from "malware", is huge and subject to high annual growth rates.

Wie sich gezeigt hat, sind inzwischen auch Bereiche des täglichen Lebens von der Computerkriminalität betroffen, die noch vor einigen Jahren als relativ sicher galten, wie z. B. der elektronische Zahlungsverkehr. Durch soge nanntes „Phishing" und „Pharming" werden beim Bankkunden Passwörter und geheime Zugangscodes ausspioniert, ohne dass dem ahnungslosen Benutzer der Missbrauch sofort auffiele. Häufig bringt erst die folgende Kontoabrechnung Gewißheit über den Betrug und dessen Ausmaß.As has been shown, are now also areas of daily Life affected by cybercrime, still a few years ago as relatively safe, such. B. the electronic Payments. Through so-called "phishing" and "pharming" passwords and secret access codes are sent to the bank customer spied on without giving the unsuspecting user the abuse immediately noticed. Often only brings the following account statement Certainty about the fraud and its extent.

Es kann daher davon ausgegangen werden, dass auch bisher vermeintlich sichere Bereiche in absehbarer Zeit Ziel von Hackern werden.It can therefore be assumed that so far supposedly secure areas will become the target of hackers in the foreseeable future.

Aufgrund ihrer Eigenschaft, Daten sicher aufbewahren zu können und zur gesicherten Ausführung von kryptografischen Algorithmen beitragen zu können, werden Chipkarten vorzugsweise in sicherheitsrelevanten Bereichen, z. B. als Zahlungsverkehrskarten, im Mobilfunk als SIM/USIM-Karten oder auch als Zugangsberechtigungskarten eingesetzt. Deshalb müssen an Chipkarten hohe Sicherheitsanforderungen gestellt werden. In den letzten Jahren wurde immer deutlicher, dass die Sicherheitsanforderungen nicht nur die Herstellung der Chipkarte, sondern ebenso Initialisierung und Personalisierung betreffen müssen, denn dort werden die geheimen Schlüssel bzw. die PIN (Personal Identification Number) in die Chipkarte geladen.by virtue of their ability to store data safely and for secure execution of cryptographic algorithms To be able to contribute, chip cards are preferably in safety-relevant areas, eg. B. as payment cards, in mobile as SIM / USIM cards or as access authorization cards used. Therefore, smart cards have high security requirements be put. In recent years it has become increasingly clear that the security requirements not only the production of the chip card, but also have to relate to initialization and personalization, because there are the secret key or PIN (staff Identification Number) loaded into the chip card.

Hierbei hat sich aufgrund der unterschiedlichen eingesetzten Technologien eine Arbeitsteilung zwischen Halbleiterhersteller, Betriebssystemhersteller, Kartenhersteller, Anwendungsanbieter oder Kartenherausgeber und Evaluator herausgebildet, die an Hand von 1 in vereinfachter Form nachvollzogen werden kann. Für dieses Patent ist die Unterscheidung zwischen Halbleiterhersteller, Betriebssystemhersteller und Kartenhersteller unwichtig. Es wird deshalb davon ausgegangen, dass der Kartenhersteller 1 eine Mikroprozessorkarte 2 liefert, in deren ROM einen Betriebssystem abgelegt wurde. Das EEPROM bleibt bis auf eine Chipnummer und einen kartenindividuellen Schlüssel leer.Due to the different technologies used, a division of labor has developed between semiconductor manufacturers, operating system manufacturers, card manufacturers, application providers or card issuers and evaluators 1 can be understood in a simplified form. For this patent, the distinction between semiconductor manufacturers, operating system manufacturers and card manufacturers is unimportant. It is therefore assumed that the card manufacturer 1 a microprocessor card 2 supplies in whose ROM an operating system has been stored. The EEPROM remains empty except for a chip number and a card-specific key.

3 zeigt eine Architektur einer typischen Mikroprozessorkarte 2, wie sie beispielsweise im Handbuch der Chipkarten (a. a. O.) beschrieben ist. Sie umfasst einen Prozessor 33 (CPU, Central Processing Unit), ein ROM (Read Only Memory) 35, ein EEPROM (Electrical Erasable Programmable Read Only Memory) 36, ein RAM (Random Access Memory) 37 und einen Coprozessor 38 (NPU, Numerical Processing Unit) für numerische Operationen. Das ROM 35 enthält das Betriebssystem des Chips, wird durch Photolithographie hergestellt, ist während der Lebensdauer des Chips unveränderbar und für alle Chips eines Produktionsloses gleich. Das EEPROM 36 ist der nichtflüchtige Speicherbereich des Chips, in dem Daten oder auch Programmcode unter Kontrolle des Betriebssystems geschrieben und gelesen werden können. Das RAM 37 ist der flüchtige Arbeitsspeicher des Prozessors 33. Über die Schnittstelle 34 kann die Mikroprozessorkarte 2 mittelbar über ein Kartenterminal mit Benutzern interagieren. 3 shows an architecture of a typical microprocessor card 2 , as described for example in the manual of smart cards (loc. cit.). It includes a processor 33 (CPU, Central Processing Unit), a ROM (Read Only Memory) 35 , an EEPROM (Electrical Erasable Programmable Read Only Memory) 36 , a RAM (Random Access Memory) 37 and a coprocessor 38 (NPU, numerical processing unit) for numerical operations. The ROM 35 contains the operating system of the chip, is produced by photolithography, is unchangeable during the lifetime of the chip and is the same for all chips of a production lot. The EEPROM 36 is the non-volatile memory area of the chip in which data or even program code can be written and read under control of the operating system. The RAM 37 is the volatile memory of the processor 33 , About the interface 34 can the microprocessor card 2 Interact indirectly with users via a card terminal.

Der Inhalt des ROM ist durch Fehlererkennungscodes (EDC, Error Detection Code) geschützt. Fehler im ROM können beispielsweise durch Kratzer oder Staubkörner während der Produktion des Chips entstehen. Deshalb sollte das ROM grundsätzlich auf Fehlerfreiheit geprüft werden. Hierfür kann laut Handbuch für Chipkarten (a. a. O.) das Kommando CALCULATE EDC verwendet werden, das eine Prüfsumme über das gesamte ROM und evtl. zu definierende Teile des EEPROM berechnet und zurückgibt.Of the Contents of the ROM are identified by error detection codes (EDC, Error Detection Code) protected. For example, errors in the ROM can be through scratches or dust particles during production of the chip arise. That's why the ROM should basically be checked for accuracy. For this can according to the manual for chip cards (a.O.) the command CALCULATE EDC can be used that has a checksum over the entire ROM and possibly to be defined parts of the EEPROM calculated and returns.

Um Sicherheitslücken wie trojanische Pferde oder geheime Kommandos aufzuspüren, die der Betriebssystemhersteller im Code vergessen oder absichtlich eingebaut haben könnte, wird das Betriebssystem von einer neutralen Stelle, dem Evaluator 5 überprüft. Für den Umfang der Überprüfung gibt es verschiedene allgemeine Richtlinien wie die TCSEC (Trusted Computer System Evaluation Criteria), ITSEC (Information Technique System Evaluation Criteria) und CC (Common Criteria), die verschiedene Evaluierungsstufen für unterschiedliche Sicherheitsniveaus definieren. Daneben gibt es spezielle Kriterien wie beispielsweise die ZKA (Zentraler Kreditausschuss) – Kriterien für Zahlungsverkehrskarten.To detect vulnerabilities such as Trojan horses or secret commands, the Be If the operating system manufacturer could have forgotten or intentionally installed it in the code, the operating system will be run by a neutral entity, the evaluator 5 checked. There are several general guidelines for the scope of the review, such as the Trusted Computer System Evaluation Criteria (TCSEC), Information Technique System Evaluation Criteria (ITSEC) and Common Criteria (CC), which define different levels of evaluation for different levels of security. In addition, there are special criteria such as the ZKA (Central Credit Committee) - criteria for payment cards.

Nachteil dieses Verfahrens ist jedoch, dass der Kartenherausgeber keine Möglichkeit hat, die ordnungsgemäße Funktionsweise einer Chipkarte selbst zu überprüfen, sondern darauf vertrauen muss, dass die evaluierte Software auch tatsächlich als Maske für das ROM verwendet wurde.disadvantage However, this method is that the card issuer no way has, the proper functioning of a smart card itself but to trust, that the evaluated software actually as a mask was used for the ROM.

Es ist daher Aufgabe der Erfindung, die Sicherheit von Chipkarten und den Systemen, in denen Chipkarten eingesetzt werden, für den Kartenherausgeber überprüfbar zu verbessern.It is therefore an object of the invention, the security of smart cards and the systems in which chip cards are used for verifiable to improve the card issuer.

Diese Aufgabe wird durch die Lehre der unabhängigen Ansprüche gelöst.These Task is solved by the teaching of independent claims solved.

Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der Unteransprüche.preferred Embodiments of the invention are the subject of the dependent claims.

Der Grundgedanke der Erfindung basiert darauf, dass mithilfe einer Hashfunktion, die über den Inhalt des ROM sowie über eine Zufallszahl (Challenge-Response) gerechnet wird, eine Möglichkeit für den Kartenherausgeber geschaffen wird, die Verwendung von fehlerhafter Software auszuschließen, da die Übereinstimmung von Maskencode mit dem vom Evaluator untersuchten Code am Produkt geprüft werden kann.Of the The basic idea of the invention is based on the fact that by means of a hash function, about the contents of the ROM as well as about a random number (Challenge-Response), a possibility for the Card issuer is created, the use of erroneous Exclude software as the match of mask code with the code examined by the evaluator on the product can be tested.

Eine Hash-Funktion oder Streuwertfunktion ist eine Funktion, die zu einer Eingabe aus einer üblicherweise großen Quellmenge ein Ergebnis oder Hash aus einer im Allgemeinen kleineren Zielmenge, meist einer Teilmenge der natürlichen Zahlen erzeugt. Hash-Funktionen werden insbesondere in der Kryptologie und der Datenverarbeitung verwendet. Eine gute Hash-Funktion zeichnet sich dadurch aus, dass sie für die Eingaben, für die sie entworfen wurde, wenig Kollisionen, also gleiche Hashes erzeugt. Dadurch lassen sich die meisten Eingaben bereits an Hand ihres Hashes unterscheiden, ohne daß ein Vergleich der sehr viel größeren Quellmenge erforderlich wäre.A Hash function or litter function is a function that leads to a Input from a usually large source quantity a result or hash from a generally smaller target set, mostly a subset of the natural numbers generated. Hash functions especially in cryptology and data processing used. A good hash function is characterized by the fact that she for the inputs for which she was designed few collisions, so the same hashes generated. This can be done most inputs already differ by hand of their hash, without a comparison of the much larger ones Source amount would be required.

Falls bei einer Hash-Funktion Kollisionen für zwei zufällig gewählte Eingaben nur mit verschwindend geringer Wahrscheinlichkeit auftreten, spricht man von einer kollisionsresistenten Hash-Funktion. Ein Message Digest oder Cryptographischer Hash ist eine Hash-Funktion, die es sehr schwer macht, zu einem gegeben Hash eine passende Eingabe zu finden (pre-image attack) und zwei unterschiedliche Eingaben mit demselben Hash zu finden (collision attack).If in a hash function collisions for two random selected entries only with negligible probability occur, one speaks of a collision-resistant hash function. One Message Digest or Cryptographic Hash is a hash function, which makes it very hard to input a given hash to a given one to find (pre-image attack) and two different inputs to find with the same hash (collision attack).

Um eine Hash-Funktion zuverlässig berechnen zu können, müssen im Sinne der Erfindung alle nicht benutzten Bereiche des ROM auf einen definierten Zustand gesetzt werden.Around to reliably calculate a hash function, must in the context of the invention, all unused areas of the ROM to a defined state.

Gemäß einer Ausführungsform der Erfindung ist ein Chipkartenschreib- und -lesegerät vorgesehen, welches einen Speicher mit einem ersten und einem zweiten Wert enthält, die die Überprüfung des ROM der Chipkarte ermöglichen. Dabei kann als erster Wert eine Zufallszahl eingesetzt werden, die zusammen mit dem gesamten Inhalt des ROM zur Berechnung der Hash-Funktion verwendet wird. Anschließend erfolgt ein Vergleich mit dem gespeicherten zweiten Wert, der auf der Chipkarte durch Eingabe derselben Zufallszahl und Berechnen der Hash-Funktion errechnet wurde. Stimmen beide Werte überein, so kann davon ausgegangen werden, dass die evaluierte Software und die tatsächliche, durch den Kartenhersteller in das ROM eingebrachte Software übereinstimmen.According to one Embodiment of the invention is a Chipkartenschreib- and reader provided, which has a memory with a first and a second value containing the review enable the ROM of the chip card. It can be the first Value a random number to be used together with the entire Contents of the ROM is used to calculate the hash function. Subsequently, a comparison is made with the stored second value on the chip card by entering the same random number and calculating the hash function was calculated. If both values agree, so it can be assumed that the evaluated software and the actual, through the card manufacturer in the ROM included software.

Erfindungsgemäß ist ein Speichermedium vorgesehen, auf dem mindestens eine Zufallszahl als erster Wert und ein zugehöriger, über die Zufallszahl und den gesamten Inhalt des ROM berechneter zweiter Wert als sogenanntes Challenge-Response-Paar hinterlegt sind. Wird das Speichermedium dem Kartenherausgeber auf einem gesicherten Weg von dem Evaluator übermittelt, so kann der Kartenherausgeber die Übereinstimmung der evaluierten Software mit der durch den Kartenhersteller in das ROM eingebrachten Software selbst überprüfen.According to the invention a storage medium provided on the at least one random number as the first value and a related, over the Random number and the entire contents of the ROM calculated second Value are stored as a so-called challenge-response pair. Becomes the storage medium to the card issuer on a secured path transmitted by the evaluator, the card issuer the conformity of the evaluated software with the Check the card manufacturer in the ROM itself.

Im Folgenden wird eine bevorzugte Ausführungsform der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Dabei zeigen:in the Following is a preferred embodiment of the invention with reference to the accompanying drawings closer explained. Showing:

1 eine erfindungsgemäße Zusammenarbeit zwischen Kartenhersteller, Evaluator und Kartenherausgeber; 1 an inventive cooperation between card manufacturer, evaluator and card issuer;

2 die erfindungsgemäße Überprüfung des ROM-Bereichs; und 2 the inventive review of the ROM area; and

3 eine herkömmliche Architektur eines Mikroprozessors für eine Chipkarte. 3 a conventional architecture of a microprocessor for a smart card.

1 zeigt eine erfindungsgemäße Zusammenarbeit zwischen Kartenhersteller 1, Evaluator 5 und Kartenherausgeber 3. Der Kartenhersteller 1 erstellt ein Betriebssystem oder lässt dies von einem spezialisierten Betriebssystemhersteller erstellen. Der Code des Betriebssystems wird dem Evaluator 5 zur Verfügung gestellt. Als Ergebnis der Evaluierung kann ein verifizierter Code 6 oder ein entsprechendes Zertifikat betrachtet werden, der bzw. das dem Kartenhersteller 1 und anderen interessierten Personen wie z. B. dem Kartenherausgeber 3 ausgehändigt wird. Tatsächlich ändert der Evaluator 5 den Betriebssystemcode nicht, denn ein solches Vorgehen würde dem Vier-Augen-Prinzip widersprechen. 1 shows an inventive cooperation between card manufacturers 1 , Evaluator 5 and card issuer 3 , The card manufacturer 1 creates an operating system or leaves it from one create specialized operating system manufacturer. The code of the operating system becomes the evaluator 5 made available. As a result of the evaluation can be a verified code 6 or a corresponding certificate, the card manufacturer 1 and other interested persons such as B. the card issuer 3 is handed out. In fact, the evaluator changes 5 the operating system code, because such an approach would contradict the four-eyes principle.

Laut Handbuch der Chipkarten (a. a. O.), S. 586, Z. 31–32 "muss der jeweilige Anwendungsanbieter oder Kartenherausgeber sehr großes Vertrauen in den Halbleiterhersteller, Betriebssystems-Hersteller und auch den Personalisierer der Chipkarten haben" . Um an dieser Stelle Vertrauen durch Kontrolle zu ergänzen, wählt der Evaluator 5 eine Zufallszahl, eine sogenannte Challenge 7, berechnet eine Hash-Funktion über die Challenge 7 und den gesamten, jetzt evaluierten Inhalt des ROM 35 und erhält so ein Ergebnis, die Response 8. Die Berechnung der Hash-Funktion ist in 2 dargestellt. Wichtig ist in diesem Zusammenhang auch, dass leere Bereiche 22 im ROM auf einen definierten Zustand gesetzt werden. Der Evaluator 5 übergibt das Challenge-Response-Paar 7, 8 an den Kartenherausgeber 3. Der Kartenhersteller 1 und insbesondere der Halbleiterhersteller und der Betriebssystemhersteller dürfen das Challenge-Response-Paar nicht kennen. Andernfalls waren sie in der Lage, ein zweites, nicht evaluiertes Betriebssystem zu erstellen, das zu dem Challenge-Response-Paar 7, 8 passt und Sicherheitslücken, wie z. B. trojanische Pferde aufweist.According to the handbook of chip cards (loc. Cit.), P. 586, Z. 31-32 "the respective application provider or card issuer must have very high confidence in the semiconductor manufacturer, operating system manufacturer and also the personalizer of the chip card" , In order to supplement confidence through control, the evaluator chooses 5 a random number, a so-called challenge 7 , calculates a hash function over the challenge 7 and the entire, now evaluated content of the ROM 35 and so receives a result, the response 8th , The calculation of the hash function is in 2 shown. It is also important in this context that empty areas 22 be set to a defined state in ROM. The evaluator 5 hands over the challenge-response pair 7 . 8th to the card issuer 3 , The card manufacturer 1 and in particular the semiconductor manufacturer and the operating system manufacturer may not know the challenge-response pair. Otherwise, they were able to create a second, unevaluated operating system that belonged to the challenge-response pair 7 . 8th fits and vulnerabilities, such. B. Trojan horses.

Die Challenge kann eine binäre Zahl beliebiger Länge sein. Die Hash-Funktion kann beispielsweise darin bestehen, das ROM in Abschnitte der Länge der Challenge zu zerlegen und eine Exklusiv-Oder-Funktion bitweise über entsprechende Bits aller Abschnitte des ROM und der Challenge zu berechnen.The Challenge can be a binary number of any length be. For example, the hash function may be to To decompose ROM into sections of the length of the challenge and an exclusive OR function bitwise over corresponding ones Calculate bits of all sections of the ROM and the challenge.

Damit der Kartenherausgeber 3 den Inhalt des ROM 35 prüfen kann, ist ein zusätzliches Chipkartenkommando vorgesehen, das als CHECK ROM bezeichnet werden soll und das an Hand von 2 erläutert wird. Mit CHECK ROM wird die Challenge 7 von einem Chipkartenschreib- und -lesegerät 4 in die Mikroprozessorkarte 19 eingelesen 20. Diese berechnet wie zuvor der Evaluator 5 eine Hash-Funktion 24 über die Challenge 7 und das gesamte ROM 35. Das ROM 35 kann in verschiedene Bereiche 21, 22, 23 ge gliedert sein. In dem in 2 dargestellten Beispiel enthalten die Bereiche 21 und 23 Programmcode, und der Bereich 22 ist leer. Alle leeren Bereiche werden auf einen definierten Zustand gesetzt, was während der Evaluierung geprüft werden kann. Das Ergebnis der Hash-Funktion 24 ist der Hash 25, der von der Mikroprozessorkarte 19 an das Chipkartenschreib- und -lesegerät 4 zurückgegeben wird.So the card issuer 3 the contents of the ROM 35 An additional chip card command is provided, which is to be called a CHECK ROM and which is checked by 2 is explained. CHECK ROM will be the challenge 7 from a smart card writer and reader 4 into the microprocessor card 19 read 20 , This calculates as before the evaluator 5 a hash function 24 about the challenge 7 and the whole ROM 35 , The ROM 35 can in different areas 21 . 22 . 23 To be arranged. In the in 2 The examples shown contain the areas 21 and 23 Program code, and the area 22 is empty. All empty areas are set to a defined state, which can be checked during the evaluation. The result of the hash function 24 is the hash 25 that from the microprocessor card 19 to the smart card writer and reader 4 is returned.

Das Chipkartenschreib- und -lesegerät 4 überprüft in Schritt 26, ob der Hash 25 der Response 18 entspricht. Ist dies der Fall, kann der Kartenherausgeber 3 mithilfe des Chipkartenschreib- und -lesegeräts 4 in Schritt 27 mit der Personalisierung und dem Laden des EEPROM 36 fortfahren.The smart card writer and reader 4 checked in step 26 whether the hash 25 the response 18 equivalent. If this is the case, the card issuer 3 using the smart card writer and reader 4 in step 27 with the personalization and loading of the EEPROM 36 Continue.

Falls der Hash 25 nicht der Response 18 entspricht, wird in Schritt 28 eine Fehlerbehandlung durchgeführt. Ein Grund für die Abweichung kann darin bestehen, dass mit Trojanern versehene Chips in den Produktionsprozess eingeschleust wurden und der Angreifer daher im Besitz des Referenzpassworts ist. Ein weiterer Grund können Herstellungsfehler des Kartenherstellers sein. Vorteilhafterweise werden die betroffenen Karten aussortiert und eine Fehleranalyse wird durchgeführt.If the hash 25 not the response 18 corresponds, is in step 28 performed an error handling. One reason for the deviation may be that chips provided with Trojans have been introduced into the production process and the attacker is therefore in possession of the reference password. Another reason may be manufacturing errors of the card manufacturer. Advantageously, the affected cards are sorted out and an error analysis is performed.

Der Evaluator 5 wird die Challenge-Response-Paare den Kartenherausgeber 3 sinnvollerweise auf einem elektronischen Speichermedium wie einer CD oder einer DVD zur Verfügung stellen. Besonders gut als elektronisches Speichermedium eignet sich aber eine Mikroprozessorkarte 2. Auf ihr können die Challenge-Response-Paare beispielsweise durch PIN (Personal Identification Number) oder TAN (Transaktionsnummer) vor unberechtigtem Zugriff geschützt werden. Darüberhinaus braucht das Kartenschreib- und -lesegerät 4 kein zusätzliches Laufwerk für CD oder DVD, sondern nur einen Schlitz für Mikroprozessorkarten.The evaluator 5 the challenge-response pairs become the card issuer 3 make sense to provide on an electronic storage medium such as a CD or a DVD. However, a microprocessor card is particularly well suited as an electronic storage medium 2 , On it, the challenge-response pairs can be protected, for example by PIN (Personal Identification Number) or TAN (transaction number) against unauthorized access. In addition, the card writing and reading device needs 4 no additional drive for CD or DVD, but only one slot for microprocessor cards.

Die Erfindung wurde zuvor anhand von bevorzugten Ausführungsformen näher erläutert. Für einen Fachmann ist jedoch offensichtlich, dass verschiedene Abwandlungen und Modifikationen gemacht werden können, ohne vom Geist der Erfindung abzuweichen. Deshalb wird der Schutzbereich durch die nachfolgenden Ansprüche und ihre Äquivalente festgelegt.The The invention was previously based on preferred embodiments explained in more detail. For a professional is however, obviously, that various modifications and modifications can be made without departing from the spirit of the invention. Therefore, the scope of protection is defined by the following claims and set their equivalents.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • - "Handbuch der Chipkarten" von Wolfgang Rankl und Wolfgang Effing, 2002, Carl Hanser Verlag, München [0002] - "Handbuch der Chipkarten" by Wolfgang Rankl and Wolfgang Effing, 2002, Carl Hanser Verlag, Munich [0002]
  • - S. 586, Z. 31–32 "muss der jeweilige Anwendungsanbieter oder Kartenherausgeber sehr großes Vertrauen in den Halbleiterhersteller, Betriebssystems-Hersteller und auch den Personalisierer der Chipkarten haben" [0026] - S. 586, Z. 31-32 "the respective application provider or card issuer must have very high confidence in the semiconductor manufacturer, operating system manufacturer and also the personalizer of the chip card" [0026]

Claims (12)

Chip für eine Mikroprozessorkarte 30 mit: einem ROM (37), das einen ROM-Programmcode (21) enthält; einem Prozessor (33) zur Ausführung von Programmcode (24); und einer Schnittstelle (34) zum Einlesen und Auslesen von Werten; wobei der Chip Programmcode enthält, der den Prozessor (33) veranlasst, folgendes auszuführen: Einlesen (20) eines ersten Wertes (7) über die Schnittstelle; gekennzeichnet durch: Berechnen eines zweiten Wertes (25) als Ergebnis einer Hash-Funktion (24) über den ersten Wert (7) und den gesamten Inhalt des ROM, und Zurückgeben (29) des zweiten Wertes (25) über die Schnittstelle (34).Chip for a microprocessor card 30 with: a ROM ( 37 ) containing a ROM program code ( 21 ) contains; a processor ( 33 ) for executing program code ( 24 ); and an interface ( 34 ) for reading in and reading out values; the chip containing program code representing the processor ( 33 ) to do the following: Read in ( 20 ) of a first value ( 7 ) via the interface; characterized by: calculating a second value ( 25 ) as a result of a hash function ( 24 ) above the first value ( 7 ) and the entire contents of the ROM, and returning ( 29 ) of the second value ( 25 ) via the interface ( 34 ). Chip gemäß Anspruch 1, dadurch gekennzeichnet, dass alle nicht benutzten Bereiche (22) des ROM auf einen definierten Zustand gesetzt werden.Chip according to claim 1, characterized in that all unused areas ( 22 ) of the ROM are set to a defined state. Mikroprozessorkarte, dadurch gekennzeichnet, dass die Mikroprozesskarte einen Chip gemäß Anspruch 1 oder 2 aufweist.Microprocessor card, characterized in that the micro-processor card a chip according to claim 1 or 2. Chipkartenschreib- und -lesegerät (4) mit: einer Schnittstelle (34) zum Schreiben und Lesen von Werten auf eine Chipkarte (30); einem Prozessor (39) zur Ausführung von Programmcode; und einem Speicher (41, 40), der Programmcode enthält, dadurch gekennzeichnet, dass der Speicher (41, 40) ferner einen ersten (7) und einen zweiten Wert (18) für die Überprüfung des ROM (35) eines Chips für eine Mikroprozessorkarte enthält.Chipcard writing and reading device ( 4 ) with: an interface ( 34 ) for writing and reading values on a chip card ( 30 ); a processor ( 39 ) for executing program code; and a memory ( 41 . 40 ) containing program code, characterized in that the memory ( 41 . 40 ), a first ( 7 ) and a second value ( 18 ) for the review of the ROM ( 35 ) contains a chip for a microprocessor card. Chipkartenschreib- und -lesegerät gemäß Anspruch 4, dadurch gekennzeichnet, dass der Programmcode den Prozessor (39) veranlasst, den ersten Wert (7) zusammen mit einem Kommando über die Schnittstelle (34) an eine Mikroprozessorkarte zu übergeben, wobei das Kommando die Mikroprozessorkarte (19) veranlasst, eine Hash-Funktion (24) über den erste Wert (7) und den gesamten Inhalt des ROM (35) der Mikroprozessorkarte (19) zu berechnen und das Ergebnis über die Schnittstelle (34) zurückzugeben und das Ergebnis mit dem zweiten Wert (18) zu vergleichen.Chip card writing and reading apparatus according to claim 4, characterized in that the program code identifies the processor ( 39 ), the first value ( 7 ) together with a command via the interface ( 34 ) to a microprocessor card, where the command is the microprocessor card ( 19 ) causes a hash function ( 24 ) over the first value ( 7 ) and the entire contents of the ROM ( 35 ) of the microprocessor card ( 19 ) and calculate the result via the interface ( 34 ) and return the result with the second value ( 18 ) to compare. Verfahren zur Ausführung in einem Chip (19) einer Mikroprozessorkarte mit: Einlesen (20) eines ersten Wertes (7) über eine Schnittstelle (34); gekennzeichnet durch: Berechnen eines zweiten Wertes (25) als Ergebnis einer Hash-Funktion (24) über den ersten Wert (7) und den gesamten Inhalt des ROM (35) und Ausgabe des zweiten Wertes (25).Method for execution in a chip ( 19 ) of a microprocessor card with: reading in ( 20 ) of a first value ( 7 ) via an interface ( 34 ); characterized by: calculating a second value ( 25 ) as a result of a hash function ( 24 ) above the first value ( 7 ) and the entire contents of the ROM ( 35 ) and output of the second value ( 25 ). Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der erste Wert (7) eine Zufallszahl ist.Method according to claim 6, characterized in that the first value ( 7 ) is a random number. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass die Ausgabe des zweiten Wertes (25) verschlüsselt oder unverschlüsselt erfolgt.Method according to claim 6 or 7, characterized in that the output of the second value ( 25 ) is encrypted or unencrypted. Verfahren für ein Chipkartenschreib- und -lesegerät (4) mit folgenden Verfahrensschritten: Übergeben eines ersten Wertes (7) zusammen mit einem Kommando über eine Schnittstelle (34) an eine Mikroprozessorkarte (19), dadurch gekennzeichnet, dass das Kommando die Mikroprozessorkarte (19) veranlasst, eine Hash-Funktion (24) über den ersten Wert (7) und den gesamten Inhalt des ROM (35) der Mikroprozessorkarte (19) zu berechnen und das Ergebnis über die Schnittstelle (34) zurückzugeben.Method for a chip card writing and reading device ( 4 ) with the following method steps: passing a first value ( 7 ) together with a command via an interface ( 34 ) to a microprocessor card ( 19 ), characterized in that the command is the microprocessor card ( 19 ) causes a hash function ( 24 ) above the first value ( 7 ) and the entire contents of the ROM ( 35 ) of the microprocessor card ( 19 ) and calculate the result via the interface ( 34 ) return. Speichermedium zur Verwendung mit einem Chipkartenschreib- und -lesegerät (4), wobei das Speichermedium mindestens ein Challenge-Response-Paar (7, 8) zur Überprüfung des ROM (35) eines Chips für eine Mikroprozessorkarte enthält.Storage medium for use with a smart card writer and reader ( 4 ), wherein the storage medium contains at least one challenge-response pair ( 7 . 8th ) to check the ROM ( 35 ) contains a chip for a microprocessor card. Speichermedium zur Verwendung mit einem Maskengenerator zur Erzeugung eines Maskenlayouts für Chips für Mikroprozessorkarten (19; 30), wobei das Speichermedium den Inhalt des ROM (35) der Mikroprozessorkarte mit einer Funktion enthält, wobei die Funktion einen ersten Wert (7) von einer Schnittstelle der Chips liest, eine Hash-Funktion (24) über den ersten Wert (7) und den gesamten ROM (34) berechnet und das Ergebnis zurück gibt.Storage medium for use with a mask generator for creating a mask layout for chips for microprocessor cards ( 19 ; 30 ), the storage medium containing the contents of the ROM ( 35 ) contains the microprocessor card with a function, the function having a first value ( 7 ) reads from an interface of the chips, a hash function ( 24 ) above the first value ( 7 ) and the entire ROM ( 34 ) and returns the result. Verfahren mit den Schritten: Erzeugen eines ersten Wertes (7); Berechnen eines zweiten Wertes (8) als Ergebnis einer Hash-Funktion (24) über den ersten Wert und den gesamten Inhalt des ROM (35), der in Chipkarten abgelegt werden soll; und Weitergeben des ersten und zweiten Wertes (7, 8) an einen Kartenausgeber (3).Method comprising the steps of: generating a first value ( 7 ); Calculating a second value ( 8th ) as a result of a hash function ( 24 ) about the first value and the entire contents of the ROM ( 35 ), which is to be stored in smart cards; and passing the first and second values ( 7 . 8th ) to a card issuer ( 3 ).
DE200710009212 2007-02-26 2007-02-26 Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code Withdrawn DE102007009212A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200710009212 DE102007009212A1 (en) 2007-02-26 2007-02-26 Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200710009212 DE102007009212A1 (en) 2007-02-26 2007-02-26 Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code

Publications (1)

Publication Number Publication Date
DE102007009212A1 true DE102007009212A1 (en) 2008-08-28

Family

ID=39645961

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200710009212 Withdrawn DE102007009212A1 (en) 2007-02-26 2007-02-26 Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code

Country Status (1)

Country Link
DE (1) DE102007009212A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10124427A1 (en) * 2000-07-07 2002-01-17 Ibm Communication device authentication method compares hash values of transmission and reception devices provided using hash value algorithm
DE69900934T2 (en) * 1998-05-22 2002-11-07 Activcard, Suresnes TERMINAL AND SYSTEM FOR PERFORMING SECURE ELECTRONIC TRANSACTIONS
DE69704684T2 (en) * 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Device and method for authenticating a user's access rights to resources according to the challenge-response principle
DE60007883T2 (en) * 1999-08-31 2004-10-14 American Express Travel Related Services Co., Inc. METHOD AND DEVICE FOR CARRYING OUT ELECTRONIC TRANSACTIONS
WO2004090800A2 (en) * 2003-04-14 2004-10-21 Giesecke & Devrient Gmbh Contactless data carrier

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69704684T2 (en) * 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Device and method for authenticating a user's access rights to resources according to the challenge-response principle
DE69900934T2 (en) * 1998-05-22 2002-11-07 Activcard, Suresnes TERMINAL AND SYSTEM FOR PERFORMING SECURE ELECTRONIC TRANSACTIONS
DE60007883T2 (en) * 1999-08-31 2004-10-14 American Express Travel Related Services Co., Inc. METHOD AND DEVICE FOR CARRYING OUT ELECTRONIC TRANSACTIONS
DE10124427A1 (en) * 2000-07-07 2002-01-17 Ibm Communication device authentication method compares hash values of transmission and reception devices provided using hash value algorithm
WO2004090800A2 (en) * 2003-04-14 2004-10-21 Giesecke & Devrient Gmbh Contactless data carrier

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Handbuch der Chipkarten" von Wolfgang Rankl und Wolfgang Effing, 2002, Carl Hanser Verlag, München
S. 586, Z. 31-32 "muss der jeweilige Anwendungsanbieter oder Kartenherausgeber sehr großes Vertrauen in den Halbleiterhersteller, Betriebssystems-Hersteller und auch den Personalisierer der Chipkarten haben"

Similar Documents

Publication Publication Date Title
DE69524031T2 (en) Method and device for checking the validity of the operation of a system
DE69823649T2 (en) MULTI-APPLICATION IC CARD SYSTEM
EP1818844B1 (en) Method for using security tokens
DE10162306A1 (en) Method and arrangement for verifying NV fuses as well as a corresponding computer program product and a corresponding computer-readable storage medium
DE602004003478T2 (en) VIRTUAL KEYBOARD
DE112005002985T5 (en) A method for setting up a trusted runtime environment in a computer
JP2935613B2 (en) IC card and IC card system
DE69904446T2 (en) memory card
DE10324337B4 (en) Computer system and associated method for performing a safety program
DE112018006031T5 (en) AUTHENTICATING A PAYMENT CARD
EP1338970B1 (en) Method and system to control access to EEPROMs as well as corresponding computer program product and computer readable storage medium
DE102006035610A1 (en) Memory access control and memory access control method
EP2350904B1 (en) Method to configure electronic devices
DE102007009212A1 (en) Chip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code
DE102005020313A1 (en) Apparatus and method for generating data for security media initialization
EP1326203A2 (en) Method and device for protecting digital circuit parts
DE10162291A1 (en) Method for preventing unauthorized execution of a computer program, especially for preventing unauthorized execution of a ROM based self-test of a smart card, by incorporation of an internal signature within the self-test routine
EP2430582B1 (en) Electronic key for authentication
DE60216106T2 (en) PROTECTED READING OF COMPUTER COMMANDS IN A DATA PROCESSING SYSTEM
DE102018123921A1 (en) Techniques for preventing memory corruption
DE10162310A1 (en) Method for signal transmission e.g. for small computers in credit card format, signal transmission takes place via smart card controller
EP2595061B1 (en) Method for protecting against malicious code
DE202022106894U1 (en) System for improving cyber security by detecting and monitoring data corruption using artificial intelligence
DE102007027935A1 (en) Portable data carrier and method for personalizing a portable data carrier
EP1564639B1 (en) Method for utilising a data memory medium having a trace memory

Legal Events

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

Effective date: 20140128

R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, DE

Free format text: FORMER OWNER: GIESECKE & DEVRIENT GMBH, 81677 MUENCHEN, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee