-
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.
-
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.
-
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.
-
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ß.
-
Es
kann daher davon ausgegangen werden, dass auch bisher vermeintlich
sichere Bereiche in absehbarer Zeit Ziel von Hackern werden.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Diese
Aufgabe wird durch die Lehre der unabhängigen Ansprüche
gelöst.
-
Bevorzugte
Ausführungsformen der Erfindung sind Gegenstand der Unteransprüche.
-
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.
-
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.
-
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).
-
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.
-
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.
-
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.
-
Im
Folgenden wird eine bevorzugte Ausführungsform der Erfindung
unter Bezugnahme auf die beiliegenden Zeichnungen näher
erläutert. Dabei zeigen:
-
1 eine
erfindungsgemäße Zusammenarbeit zwischen Kartenhersteller,
Evaluator und Kartenherausgeber;
-
2 die
erfindungsgemäße Überprüfung des
ROM-Bereichs; und
-
3 eine
herkömmliche Architektur eines Mikroprozessors für
eine Chipkarte.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Nicht-Patentliteratur
-
- - "Handbuch
der Chipkarten" von Wolfgang Rankl und Wolfgang Effing, 2002, Carl
Hanser Verlag, München [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]