Verfahren zum Zugriff auf einen nichtflüchtigen Speicher
eines portablen Datenträgers Die Erfindung betrifft ein Verfahren zum Zugriff auf einen nichtflüchtigen Speicher eines portablen bzw. tragbaren Datenträgers. Weiterhin betrifft die Erfindung einen solchen portablen Datenträger. Als portabler Datenträger wird hier insbesondere eine Chipkarte verstanden. Portable Datenträger werden in vielen Bereichen eingesetzt, beispielsweise als Ausweisdokumente, zum Nachweis einer Zugangsberechtigung zu einem Mobilfunknetz oder in Form von Chipkarten zur Durchführung von Transaktionen des bargeldlosen Zahlungsverkehrs. Der Einsatz erfolgt dabei häufig im Zusammenspiel mit einem für die jeweilige Anwendung vorgese- henen Lese- bzw. Endgerät. Außer bei sehr einfach gelagerten Anwendungen ist es in der Regel erforderlich, dass der portable Datenträger über ein Anwendungsprogramm zur Ausführung oder Unterstützung der Ausführung der Anwendung verfügt. Neben dem Anwendungsprogramm sind hierzu viele portable Datenträger mit einem Betriebssystem ausgestattet, wobei der Programmcode des Anwendungsprogramms sowie der Programmcode, der das Betriebssystem darstellt, in einem integrierten Schaltkreis des portablen Datenträgers gespeichert ist und von diesem ausgeführt wird.
Insbesondere bei portablen Datenträgern in Form von Chipkarten mit einer CPU, auch Mikroprozessor-Chipkarten oder Prozessorkarten genannt, wird das Betriebssystem zum Betreiben der Chipkarte üblicherweise bei der Herstellung der Chipkarte im Masken-ROM gespeichert und dort unveränderlich festgelegt. Neben dem ROM umfasst eine solche Chipkarte in der Regel einen nichtflüchtigen, wieder beschreibbaren Speicher, z.B. ein EEPROM
oder ein Flash-EEPROM (kurz Flash-Speicher), zur Speicherung von Daten und Programmcode unter Kontrolle des Betriebssystems sowie einen flüchtigen Arbeitsspeicher (RAM). Bei neueren Mikroprozessor-Chipkarten wird jedoch zum Teil dazu übergegangen, das maskenprograrnmierte ROM und das EEPROM durch einen Flash-Speicher zu ersetzen. Der Vorteil von Chipkarten, bei denen das Betriebssystem oder zumindest ein Teil davon im Flash-Speicher hinterlegt ist, liegt in einer deutlich höheren Flexibilität bei der Herstellung und Personalisierung solcher Chipkarten im Vergleich zu Chipkarten, bei denen das Betriebssystem im nach der Herstellung unverän- derlichen ROM hinterlegt ist. So kann im Fall von Chipkarten, bei denen das Betriebssystem im Flash-Speicher hinterlegt ist, das Betriebssystem beispielsweise vom Herausgeber der Chipkarte den Kundenanforderungen entsprechend angepasst in die fertige Chipkarte geladen werden (siehe hierzu z.B. Rankl, Effing, "Handbuch der Chipkarten", 5. Auflage, 2008, München, S. 23ff).
Damit das Betriebssystem vor unerlaubten Zugriffen sicher ist, enthalten Mikroprozessor-Chipkarten, bei denen das Betriebssystem oder zumindest ein Teil davon im Flash-Speicher gespeichert ist, einen Sicherheitsmechanis- mus, z.B. in Form einer Sicherheitslogik, der derart ausgestaltet ist, dass nach der Ausgabe einer solchen Chipkarte ein lesender Zugriff insbesondere auf den Teil des Flash-Speichers nicht mehr möglich ist, in dem das Betriebssystem hinterlegt ist. In der Praxis hat sich jedoch gezeigt, dass aufgrund der immer umfangreicher und komplexer werdenden Chipkarten-Betriebssysteme und der sich weiter entwickelnden Kartenlesegeräte beim Einsatz einer Chipkarte Fehler auftreten können, bei denen Teile des Betriebssystems im Flash-Speicher korrumpiert bzw. überschrieben werden. In einem solchen Fall erlaubt es der
vorstehend beschriebene, in der Chipkarte implementierte herkömmliche Sicherheitsmechanismus jedoch nicht, lesend auf den Flash-Speicher und das darin gespeicherte Betriebssystem zuzugreifen, so dass derartige Fehler kaum zu analysieren und zu beheben sind.
Vor diesem Hintergrund ist es Aufgabe der Erfindung, ein Verfahren zum Zugriff auf einen nichtflüchtigen Speicher eines portablen Datenträgers zu schaffen, das es erlaubt, unter bestimmten Bedingungen auf einen sicherheitskritischen, im Normalbetrieb gesperrten Bereich des nichtflüchtigen Speichers des portablen Datenträgers zuzugreifen, ohne dabei den auf dem portablen Datenträger implementierten Sicherheitsmechanismus aufzuweichen.
Diese Aufgabe wird erfindungsgemäß durch das Verfahren zum Zugriff auf einen nichtflüchtigen Speicher eines portablen Datenträgers nach Anspruch 1 gelöst. Ein entsprechender portabler Datenträger ist Gegenstand des unabhängigen Vorrichtungsanspruchs. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen definiert. Die Erfindung geht von der Grundüberlegung aus, es einer externen Instanz, beispielsweise einem Lesegerät oder Terminal, bei Kenntnis aller auf dem portablen Datenträger hinterlegten Geheimnisse zu ermöglichen, auf einen sicherheitskritischen, im Normalbetrieb gesperrten Bereich des nichtflüchtigen Speichers des Datenträgers zuzugreifen und diesen ggf. komplett auszu- lesen. In diesem Fall werden keine Geheimnisse preisgegeben, die der externen Instanz nicht ohnehin schon bereits bekannt sind. Dies ist insbesondere für die Fehleranalyse vorteilhaft, da die externe Instanz Zugriff auf alle in dem portablen Datenträger hinterlegten sicherheitskritischen Daten, beispielsweise das Betriebssystem, hat.
Auf der Basis dieses Grundgedankens wird gemäß einem ersten Aspekt der Erfindung ein Verfahren zum Zugriff auf einen nichtflüchtigen Speicher eines portablen Datenträgers, insbesondere einer Chipkarte, bereitgestellt, auf dem wenigstens zwei Geheimnisse sicher hinterlegt sind und der einen Si- cherheitsmechanismus aufweist, der den Zugriff auf einen sicherheitskritischen Bereich des nichtflüchtigen Speichers entsperren und wieder sperren kann, wobei im Normalbetrieb des portablen Datenträgers der Zugriff auf den sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers gesperrt ist. Das Verfahren umfasst den Schritt des Entsperrens des sicherheitskritischen Bereichs des nichtflüchtigen Speichers des portablen Datenträgers für eine externe Instanz nach einem erfolgreichen Nachweis der Zugriffsberechtigung bzw. einer erfolgreichen Authentisierung der externen Instanz gegenüber dem portablen Datenträger, wobei in die durch den portablen Datenträger durchgeführte Überprüfung der Zugriffsberech- tigung bzw. der Authentisierung der externen Instanz gegenüber dem portablen Datenträger die wenigstens zwei sicher auf dem portablen Datenträger hinterlegten Geheimnisse einfließen.
Gemäß einem zweiten Aspekt der Erfindung wird ein portabler Datenträger, insbesondere eine Chipkarte, mit einem nichtflüchtigen Speicher bereitgestellt. Der portable Datenträger, auf dem wenigstens zwei Geheimnisse sicher hinterlegt sind, umfasst einen Sicherheitsmechanismus, der den Zugriff auf einen sicherheitskritischen Bereich des nichtflüchtigen Speichers entsperren und wieder sperren kann, wobei im Normalbetrieb des portablen Daten- trägers der Zugriff auf den sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers gesperrt ist. Der Sicherheitsmechanismus ist dazu ausgestaltet, den sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers für eine externe Instanz nach einem erfolgreichen Nachweis der Zugriffsberechtigung bzw. einer erf olgrei-
chen Authentisierung der externen Instanz gegenüber dem portablen Datenträger zu entsperren, wobei in die durch den portablen Datenträger durchgeführte Überprüfung der Zugriffsberechtigung bzw. der Authentisierung der externen Instanz gegenüber dem portablen Datenträger die wenigstens zwei sicher auf dem portablen Datenträger hinterlegten Geheimnisse einfließen.
Gemäß einer bevorzugten Ausführungsform kann in dem sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers Programmcode, vorzugsweise ein Betriebssystem oder Teile davon, hinterlegt sein, der von einer Prozessoreinheit des portablen Datenträgers ausgeführt werden kann. Ferner können die wenigstens zwei Geheimnisse, die in die durch den portablen Datenträger durchgeführte Überprüfung der Zugriffsberechtigung bzw. der Authentisierung der externen Instanz gegenüber dem portablen Datenträger einfließen, vorzugsweise ebenfalls in dem im
Normalbetrieb gesperrten, sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers hinterlegt sein. Vorzugsweise handelt es sich bei dem nichtflüchtigen Speicher des portablen Datenträgers um einen Flash-Speicher. Unter den wenigstens zwei Geheimnissen werden hier wenigstens zwei auf dem portablen Datenträger sicher hinterlegte Datenelemente verstanden, die einer unbefugten externen Instanz nicht zugänglich sind, d.h. von dieser nicht ausgelesen werden können, und die ebenfalls bei einer befugten externen Instanz hinterlegt sind. Erfindungsgemäß kann sich eine befugte externe Instanz mittels dieser wenigstens zwei Geheimnisse, die sowohl im portablen Datenträger als auch in der befugten externen Instanz hinterlegt sind, gegenüber dem portablen Datenträger authentisieren, um Zugriff auf den sicherheitskritischen Bereich des flüchtigen Speichers davon zu erlangen. Vorzugsweise werden die wenigstens zwei Geheimnisse bei der Herstellung
und/ oder Personalisierung des portablen Datenträgers sowohl auf dem portablen Datenträger als auch in einer befugten externen Instanz hinterlegt. Bei den wenigstens zwei Geheürinissen kann es sich jeweils um einen kryp- tographischen Schlüssel, ein Passwort, eine PIN, eine Chipkartennummer und/ oder eine Chip-Identifikationsnummer handeln.
Vorzugsweise erfolgt der Zugriff auf den nichtflüchtigen Speicher des portablen Datenträgers durch eine externe Instanz in Form eines Lesegeräts oder eines Terminals. Die zum Zugriff auf den sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers benötigten wenigstens zwei Geheimnisse können in dem Lesegerät selbst und/ oder in einer Datenbank eines Hintergrundsystems hinterlegt sein, auf die eine Vielzahl von berechtigen Lesegeräten zugreifen können. Die Kornmunikation zwischen dem portablen Datenträger und dem Lesegerät kann kontaktbehaftet und/ oder kontaktlos erfolgen.
Der auf dem portablen Datenträger implementierte Sicherheitsmechanismus kann in Form von Software und/ oder Hardware ausgestaltet sein. Beispielsweise kann der Sicherheitsmechanismus als Teil des Betriebssystems und/ oder als Teil einer Prozessoreinheit des portablen Datenträgers implementiert sein. Alternativ kann der Sicherheitsmechanismus durch eine eigenständige Einheit verwirklicht sein, z.B. durch einen Speicher-Controller.
Gemäß einer bevorzugten Ausführungsform fließen in die durch den portab- len Datenträger durchgeführte Überprüfung der Zugriffsberechtigung bzw. der Authentisierung der externen Instanz gegenüber dem portablen Datenträger die wenigstens zwei sicher auf dem portablen Datenträger hinterlegten Geheimnisse dadurch ein, dass der portable Datenträger über die wenigstens zwei Geheimnisse einen Hashwert bildet und diesen mit einem von
der externen Instanz berechneten und übergebenen Hashwert vergleicht. Falls der innerhalb des portablen Datenträgers mittels der wenigstens zwei Geheimnisse berechnete Hashwert gleich dem von der externen Instanz berechneten Hashwert ist, dann erlaubt der auf dem portablen Datenträger implementierte Sicherheitsmechanismus den Zugriff auf den sicherheitskritischen Bereich des nichtflüchtigen Speichers.
Bei einer bevorzugten Ausgestaltung, bei welcher der portable Datenträger als Chipkarte gemäß der Norm ISO/IEC 7816 ausgestaltet ist, kann der Ver- gleich des von der externen Instanz berechneten Hashwerts mit dem intern vom portablen Datenträger berechneten Hashwert mittels des Chipkarten- Kommandos "VERIFY" erfolgen, das in der Norm ISO/IEC 7816-4 definiert ist. Bei der erfolgreichen Freischaltung bzw. Entsperrung des sicherheitskritischen Bereichs des nichtflüchtigen Speichers kann mittels eines weiteren Chipkarten-Kommandos, das die Startadresse und die Länge des auszulesenden Abschnitts des nunmehr entsperrten sicherheitskritischen Bereichs des nichtflüchtigen Speichers angibt, lesend auf den sicherheitskritischen Bereich des nichtflüchtigen Speichers der Chipkarte zugegriffen werden. Bei der Berechnung des Hashwerts können die wenigstens zwei Geheimnisse auf unterschiedliche Arten und Weisen miteinander verknüpft werden. Vorzugsweise ist der portable Datenträger dazu ausgestaltet, den Hashwert zu bilden, indem die wenigstens zwei Geheimnisse in einer definierten Reihenfolge miteinander konkateniert bzw. verkettet werden und über diese Konkatenation der wenigstens zwei Geheimnisse der Hashwert gebildet wird. Selbstverständlich muss für eine erfolgreiche Überprüfung der
Zugriffsberechtigung bzw. Authentisierung der externen Instanz gegenüber dem portablen Datenträger bei der Berechnung des Hashwertes die externe Instanz dieselbe Verknüpfung wie der portable Datenträger durchführen.
Alternativ können in die durch den portablen Datenträger durchgeführte Überprüfung der Zugriffsberechtigung bzw. Authentisierung der externen Instanz gegenüber dem portablen Datenträger die wenigstens zwei sicher auf dem portablen Datenträger hinterlegten Geheimnisse dadurch einfließen, dass lediglich eine Verkettung bzw. Konkatenation der wenigstens zwei Geheimnisse mit einem von der externen Instanz im Rahmen einer Zugriffsanfrage übergebenen Datenelement verglichen wird.
Vorzugsweise sind die wenigstens zwei auf dem portablen Datenträger hinterlegten Geheimnisse gegenüber anderen auf dem portablen Datenträger hinterlegten Datenelementen jeweils durch ein Attribut bzw. Flag als solche gekennzeichnet. Bei dieser bevorzugten Ausgestaltung kann vom portablen Datenträger ohne weiteres bestimmt werden, welche der auf ihm hinterlegten Datenelemente zu den wenigstens zwei Geheimnissen gehören, die in die durch den portablen Datenträger durchgeführte Überprüfung der Zugriffsberechtigung bzw. Authentisierung der externen Instanz gegenüber dem portablen Datenträger einfließen.
Gemäß einer weiteren bevorzugten Ausgestaltung fließen zur weiteren Stei- gerung der Sicherheit in die durch den portablen Datenträger durchgeführte Überprüfung der Zugriffsberechtigung bzw. Authentisierung der externen Instanz gegenüber dem portablen Datenträger die wenigstens zwei sicher auf dem portablen Datenträger hinterlegten Geheimnisse dadurch ein, dass die wenigstens zwei sicher auf dem portablen Datenträger hinterlegten Ge- heimnisse im Rahmen einer Challenge-Response- Authentisierung der externen Instanz gegenüber dem portablen Datenträger verwendet werden. Vorzugsweise vergleicht dabei der portable Datenträger ein von der externen Instanz übergebenes Datenelement mit einer verschlüsselten Zufallszahl, die vom portablen Datenträger als Challenge an die externe Instanz übergeben
worden ist, wobei als Schlüssel ein über die Verkettung der wenigstens zwei Geheimnisse gebildeter Hashwert verwendet wird. Bei der bevorzugten Ausgestaltung, bei welcher der portable Datenträger als Chipkarte gemäß der Norm ISO/IEC 7816 ausgestaltet ist, kann die Challenge-Response- Authentisierung mit dem Chipkarten-Kommando " EXTERN AL
AUTHENTICATE" durchgeführt werden, das ebenfalls in der Norm
ISO/IEC 7816-4 definiert ist.
Optional kann die durch den portablen Datenträger durchgeführte Überprü- fung der Zugriffsberechtigung bzw. Authentisierung der externen Instanz gegenüber dem portablen Datenträger durch einen Fehlbedienungszähler abgesichert sein, der bewirkt, dass nach einer vorbestimmten Anzahl von Fehlversuchen entweder die Kommunikationssitzung mit der externen Instanz abgebrochen wird oder der sicherheitskritische Bereich des nichtflüch- tigen Speichers des portablen Datenträgers irreversibel gesperrt wird.
Zusätzlich oder alternativ, kann der portable Datenträger derart ausgestaltet sein, beispielsweise mittels eines Zugriffzählers mit einem vorbestimmten Zählerstand, dass nur eine vorbestimmte Anzahl von erfolgreichen Lese- Zugriffen möglich ist. Bei dieser bevorzugten Ausführungsform ist der portable Datenträger vorzugsweise ferner dazu ausgestaltet, nach lediglich einem erfolgreichen Zugriff jeden weiteren Zugriff auf den sicherheitskritischen Bereich des nichtflüchtigen Speichers des portablen Datenträgers irreversibel zu sperren. Diese bevorzugte Ausgestaltung würde die Sicherheit noch weiter erhöhen, ohne die Möglichkeiten für eine Fehleranalyse durch den Hersteller und/ oder Herausgeber des portablen Datenträgers signifikant einzuschränken.
Portable Datenträger im Sinne der vorliegenden Erfindung sind Datenträger wie Chipkarten, Kreditkarten, elektronische Ausweise, elektronische Reisepässe, SIM-Karten, Datenspeicherkarten, etc. Im Fall einer Chipkarte kann es sich um eine kontaktlose oder kontaktbehaftete Chipkarte handeln oder eine sowohl kontaktlos als auch kontaktbehaftet betreibbare Chipkarte (Dual- Interface-Karte) mit einem beliebigen Format, z.B. nach ISO 7810, z.B. ID-1 (Scheckkartenformat) oder ID-000 (SIM-Karten- oder Minikarten-Format) oder ID-00 oder nach einer anderen Norm. Wie der Fachmann erkennt, lassen sich die vorstehend beschriebenen bevorzugten Ausgestaltungen sowohl im Rahmen des ersten Aspekts der Erfindung, d.h. im Rahmen des Verfahrens zum Zugriff auf einen Speicher eines portablen Datenträgers, als auch im Rahmen des zweiten Aspekts der Erfindung, d.h. im Rahmen des portablen Datenträgers, vorteilhaft implementie- ren.
Einer der maisgeblichen Vorteile der vorliegenden Erfindung besteht darin, dass bei Kenntnis aller Geheimnisse eines portablen Datenträgers dessen sicherheitskritischer, im Normalbetrieb gesperrter Bereich des nichtflüchti- gen Speichers zur Fehleranalyse ausgelesen werden kann. Dabei werden im Fehlerfall durch eine Sonderabfrage eines mit einer externen Instanz verbundenen Hinter grundsy stems, das z.B. vom Hersteller und/ oder Herausgeber des portablen Datenträgers betrieben wird, die Geheimnisse ermittelt, die auch in dem jeweiligen portablen Datenträger hinterlegt sind, ohne dabei den auf dem portablen Datenträger implementierten Sicherheitsmechanismus zu kompromittieren. Mittels dieser vom Hersteller und/ oder Herausgeber des portablen Datenträgers, z.B. einem Mobilfunknetzbetreiber, einer Bank, einer Krankenversicherung und dergleichen, sowohl auf dem portablen Datenträger als auch auf einer externen Instanz bzw. einem mit dieser
externen Instanz verbundenen Hintergrundsystem hinterlegten Geheimnisse lässt sich dank der vorliegenden Erfindung im Fehlerfall wesentlich schneller und mit wesentlich weniger Aufwand als bisher eine mögliche Ursache des Fehlers überprüfen, ohne dass ein neuer zusätzlicher "Ausleseschlüssel" ein- geführt werden muss.
Weitere Merkmale, Vorteile und Aufgaben der Erfindung gehen aus der folgenden detaillierten Beschreibung mehrerer Ausführungsbeispiele und Ausführungsalternativen hervor. Es wird auf die Zeichnungen verwiesen, in de- nen zeigen:
Fig. 1 eine schematische Darstellung einer bevorzugten Ausführungsform eines erfindungsgemäßen portablen Datenträgers in Form einer Chipkarte in Kommunikation mit einer externen Instanz in Form ei- nes Lesegeräts, und
Fig. 2 eine schematische Darstellung, die die Kommunikation zwischen dem portablen Datenträger in Form einer Chipkarte und einer externen Instanz in Form eines Lesegeräts zur Entsperrung eines sicher- heitskritischen Bereichs des Speichers des portablen Datenträgers gemäß einer bevorzugten Ausführungsform der Erfindung veranschaulicht.
Figur 1 zeigt eine schematische Darstellung einer bevorzugten Ausführungsform eines erfindungsgemäßen portablen Datenträgers in Form einer Chipkarte 20. Die Chipkarte 20 ist dazu ausgestaltet mit einer externen Instanz in Form eines Lesegeräts bzw. Terminals 10 Daten auszutauschen. Als ein Austausch von Daten wird hier eine Signalübertragung, eine wechselseitige Steuerung und in einfachen Fällen auch eine Verbindung zwischen dem Le-
segerät 10 und der Chipkarte 20 verstanden. In der Informationstheorie wird ein Datenaustausch unter anderem durch das Sender-Empfänger-Modell geprägt: Daten bzw. Informationen werden in Zeichen kodiert und dann von einem Sender über einen Übertragungskanal an einen Empfänger übertragen. Dabei ist entscheidend, dass Sender und Empfänger dieselbe Kodierung verwenden, damit der Empfänger die Nachricht versteht d.h. die auszutauschenden Daten dekodieren kann.
Zur Datenübertragung bzw. Kommunikation zwischen der Chipkarte 20 und dem Lesegerät 10 weisen sowohl die Chipkarte 20 als auch das Lesegerät 10 geeignete Kommunikationsschnittstellen 24 und 12 auf. Die Schnittstellen 24 und 12 können beispielsweise so ausgestaltet sein, dass die Kommunikation zwischen diesen bzw. zwischen der Chipkarte 20 und dem Lesegerät 10 kontaktlos, d.h. über die Luftschnittstelle, erfolgt. Alternativ kann die Chipkarte 20 über die Schnittstelle 24 galvanisch, d.h. kontaktbehaftet, mit der Schnittstelle 12 des Lesegeräts 10 verbunden werden. In diesem Fall ist die Schnittstelle 24 in der Regel als ein auf einer Seite der Chipkarte 20 angeordnetes Kontaktfeld mit acht Kontaktflächen zum Datenaustausch mit dem Lesegerät 10 ausgebildet. Selbstverständlich werden von der vorliegenden Erfindung auch Chipkarten umf asst, die sowohl eine Schnittstelle zur kontaktbehafteten als auch eine Schnittstelle zur kontaktlosen Kommunikation mit einer externen Instanz aufweisen und die dem Fachmann als Dual- Interface-Chipkarten bekannt sind.
Neben der Schnittstelle 24 zur Kommunikation mit dem Lesegerät 10 um- fasst die Chipkarte 20 eine zentrale Prozessor- bzw. Recheneinheit (CPU) 22, die in Kornmunikationsverbindung mit der Schnittstelle 24 steht. Die CPU 22 steht ferner mit einem flüchtigen Arbeitsspeicher (RAM) 26 und einem nichtflüchtigen wieder beschreibbaren Speicher 30 in Verbindung. Vorzugsweise
handelt es sich bei dem nichtflüchtigen Speicher 30 um einen Flash-Speicher (Flash-EEPROM). Dabei kann es sich beispielsweise um einen Flash-Speicher mit einer NAND- oder einer NOR- Architektur handeln. Bei der in Figur 1 dargestellten bevorzugten Ausführungsform ist der nichtflüchtige Speicher 30 der Chipkarte 20 in unterschiedliche logische Speicherbereiche unterteilt, und zwar in einen ersten Speicherbereich 32, in dem sicherheitsunkritische Daten, z.B. eine Chipkarten- Applikation, gespeichert sind, auf die das Lesegerät 10 im Normalbetrieb der Chipkarte 20 ohne wei- teres zugreifen kann, sowie einen zweiten sicherheitskritischen Speicherbereich 34. Dieser sicherheitskritische Speicherbereich 34 des nichtflüchtigen Speichers 30 ist durch einen Sicherheitsmechanismus gesichert, der vorzugsweise als Teil des Betriebssystems ausgebildet ist und somit von der CPU 22 im Betrieb der Chipkarte 20 ausgeführt wird. Dabei ist der Sicher- heitsmechanismus dazu ausgestaltet, im Normalbetrieb der Chipkarte 20 den sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 gegenüber externen Zugriffen, beispielsweise durch das Lesegerät 10, zu sperren und nur unter besonderen, nachstehend näher beschriebenen Vorraussetzungen freizuschalten bzw. zu entsperren. Bei der in Figur 1 dargestellten bevorzugten Ausführungsform ist in einem Teil 36 des im Normalbetrieb gesperrten, sicherheitskritischen Bereichs 34 des nichtflüchtigen Speichers 30 das Chipkarten-Betriebssystem (OS) oder zumindest ein Teil davon hinterlegt. In zwei weiteren Teilen 38a und 38b des im Normalbetrieb gesperrten, sicherheitskritischen Bereichs 34 des nichtflüchtigen Speichers 30 sind bei der in Figur 1 dargestellten bevorzugten Ausführungsform zwei Geheimnisse in Form eines ersten Geheimnisses (Secret A) und eines zweiten Geheimnisses (Secret B) hinterlegt. Neben diesen Geheimnissen Secret A und Secret B können noch weitere Geheimnisse auf der Chipkarte 20 sicher hinterlegt sein. Dabei kann es sich bei den Geheimnissen beispielsweise um kryptographi-
sehe Schlüssel, Passwörter, PINs, CHpkartennummern, Chip-Identifi- zierungsnummern und dergleichen handeln.
Figur 2 zeigt eine schematische Darstellung, welche die Kommunikation zwischen der Chipkarte 20 und dem Lesegerät 10 gemäß einer bevorzugten Ausführungsform der Erfindung veranschaulicht. Die hier veranschaulichte Kommunikation kann beispielsweise dann vorteilhaft eingesetzt werden, wenn zur Fehleranalyse mittels einer externen Instanz (z.B. des Lesegeräts 10 bzw. eines mit diesem verbundenen Fehleranalysecomputers) auf das in dem im Normalbetrieb gesperrten, sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 hinterlegte Betriebssystem OS zugegriffen werden muss.
In einem ersten in Figur 2 dargestellten Schritt Sl informiert das Lesegerät bzw. Terminal 10 mittels einer Zugriffsanfrage die Chipkarte 20 darüber, dass es auf den gesperrten Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 lesend zugreifen möchte. Hierzu wird jedoch zunächst die Au- thentisierung bzw. Zugriffsberechtigung des Lesegeräts 10 vorzugsweise mittels einer Challenge-Response- Authentisierung von der Chipkarte 20 überprüft. Da in der Regel die Kommunikation zwischen dem Lesegerät 10 und der Chipkarte 20 nach dem Master-Slave-Prinzip erfolgt, wobei es sich bei dem Lesegerät 10 um den Master und bei der Chipkarte 20 um den Slave handelt, stößt das Lesegerät 10 die Challenge-Response- Authentisierung an. Bei einer bevorzugten Ausgestaltung, die mit der Norm ISO/IEC 7816-4 konform ist, kann das Lesegerät 10 hierzu im Schritt Sl mittels des Chipkar- ten-Kommandos "GET CHALLENGE" von der Chipkarte 20 eine Zufallszahl N als Challenge anfordern. Die Chipkarte 20 reagiert darauf, indem die Chipkarte 20 eine Zufallszahl N an das Lesegerät 10 als Challenge sendet und die Zufallszahl N für die spätere Überprüfung der Authentisierung bzw. Zugriffsberechtigung in der Chipkarte 20 hinterlegt (Schritt S2).
Im nächsten Schritt S3 verschlüsselt das Lesegerät 10 die von der Chipkarte 20 erhaltene Zufallszahl N. Dabei verwendet das Lesegerät 10 einen Schlüssel, der auf den Geheimnissen Secret A und Secret B basiert. Das Lesegerät 10 hat Zugriff auf die Geheimnisse Secret A und Secret B, da diese vorzugsweise bei der Herstellung und/ oder Personalisierung der Chipkarte 20 sowohl auf der Chipkarte 20 als auch auf dem Lesegerät 10 selbst oder auf einer Datenbank eines Hintergrundsystems (nicht in den Figuren dargestellt), mit dem das Lesegerät 10 geeignet verbunden ist, hinterlegt worden sind. Vorzugsweise wird der Schlüssel zur Verschlüsselung der Zufallszahl N von dem Lesegerät 10 erzeugt, indem ein Hashwert H über die Verkettung bzw. Konkatenation der über das Hintergrundsystem verfügbaren Geheimnisse Secret A und Secret B gebildet wird, d.h. H = h(Secret A o Secret B), wobei h für eine geeignete Hashfunktion, wie beispielsweise MD5, SHA-1, SHA-256 und SHA-512, steht und das Symbol o für die Operation der Konkatenation steht. Wie bereits vorstehend beschrieben, ist es vorstellbar, dass die Geheimnisse Secret A und Secret B bei der Herstellung und/ oder Personalisierung der Chipkarte 20 hinterlegt worden sind. Das Ergebnis von Schritt S3, d.h. der Verschlüsselung der von der Chipkarte 20 erhaltenen Zufallszahl N mit dem über die Konkatenation der Geheimnisse Secret A und Secret B gebildeten Hashwert H', ist eine verschlüsselte Zufallszahl C mit C = e(N, H'), wobei der Ausdruck e(N, H1) für die Verschlüsselung von N mittels des Schlüssels H1 und eines geeigneten symmetrischen Kryptoalgorithmus steht. Geeignete symmetrische Kryptoalgorithmen sind dem Fachmann beispielsweise unter dem Namen DES, AES und dergleichen bekannt. Im Schritt S4 sendet das Lesegerät 10 die so verschlüsselte Zufallszahl C an die Chipkarte 20. Dabei wird bei der in Figur 2 dargestellten bevorzugten Ausführungsform, bei der die Chipkarte gemäß der Normenreihe
ISO/IEC 7816 ausgestaltet ist, von dem Lesegerät 10 das Chipkarten- Kommando "EXTERNAL AUTHENTICATE" verwendet, wobei die verschlüsselte Zufallszahl C als Teil dieses Kommandos übertragen wird. Im Schritt S5 wird von der Chipkarte 20 die gleiche Berechnung durchgeführt, wobei jedoch auf die im sicherheitskritischen Bereich 34 des nicht- flüchtigen Speichers 30 der Chipkarte 20 hinterlegten Geheimnisse Secret A und Secret B zurückgegriffen wird. Ergebnis dieser Berechnung ist wiederum eine verschlüsselte Zufallszahl C = e(N, H), wobei H den über die Kon- katenation der sicher in der Chipkarte 20 hinterlegten Geheimnisse Secret A und Secret B gebildeten Hashwert bezeichnet. In Schritt S6 vergleicht die Chipkarte 20 die von dem Lesegerät 10 übermittelte verschlüsselte Zufallszahl C mit der verschlüsselten Zufallszahl C, die von der Chipkarte 20 berechnet worden ist. Falls bei diesem Vergleich festgestellt wird, dass die ver- schlüsselte Zufallszahl C gleich der verschlüsselten Zufallszahl C ist, entsperrt der auf der Chipkarte 20 implementierte Sicherheitsmechanismus den im Normalbetrieb der Chipkarte 20 gesperrten, sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20. Bei der in Figur 2 dargestellten bevorzugten Ausführungsform wird jedoch von der Chipkarte 20 als weitere Bedingung für ein Entsperren zunächst noch überprüft, ob der Wert bzw. Zählerstand eines Zugriffszählers einen Zugriff auf den im
Normalbetrieb gesperrten, sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 erlaubt. Bei dem Zugriffszähler handelt es sich vorzugsweise um eine vom Hersteller und/ oder Herausgeber der Chipkarte 20 sicher auf der Chipkarte 20 hinterlegte Zahl, die bestimmt, wie oft mittels einer erfolgreichen Authentisierung von einem Lesegerät 10 auf den sicherheitskritischen, im normalen Betrieb gesperrten Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 zu-
gegriffen werden kann. Beispielsweise kann ein Zugriffszähler so voreingestellt sein, dass dessen Wert bzw. Zählerstand die Anzahl der verbleibenden erlaubten Zugriffe (jeweils nach einer erfolgreichen Authentisierung) angibt, wobei nach jedem erlaubten Zugriff der Zählerstand um den Wert 1 ernied- rigt wird. Erreicht der Zählerstand des Zugriffszählers den Wert 0, so sind auch bei erfolgreicher Authentisierung keine weiteren Zugriffe möglich, d.h. der sicherheitskritische Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 ist irreversibel gesperrt. Gemäß einer bevorzugten Ausführungsform der Erfindung ist der Zugriffszähler so gewählt, dass lediglich ein einziger Zugriff auf den sicherheitskritischen, im Normalbetrieb gesperrten Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 möglich ist.
Falls die Authentisierung in Schritt S6 erfolgreich gewesen ist, bestätigt die Chipkarte 20 dies dem Lesegerät 10 im Schritt S7. Dies kann beispielsweise mittels einer Antwort "Returncode = ok" auf das in Schritt S4 erfolgte
"EXTERNAL AUTHENTICATE"-Kommando geschehen. Das Lesegerät 10 hat somit nun auch Zugriff auf den sicherheitskritischen, nunmehr entsperrten Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20. Das Auslesen von Teilen dieses Bereichs oder des ganzen Bereichs kann beispielsweise mittels Chipkarten-Kommandos erfolgen, die vorzugsweise die Speicheradresse und die Länge bzw. Größe des auszulesenden Bereichs an die Chipkarte 20 übergeben. Dem Fachmann bekannte, geeignete Chipkarten- Kommandos sind beispielsweise die in der Norm ISO/IEC 7816-4 definierten Chipkarten-Kommandos "READ RECORD", "GET DATA" oder derglei- chen.
In Reaktion auf den Schritt S8 überträgt die Chipkarte 20 die angefragten Daten aus dem sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 an das Lesegerät 10. Für den Fall, dass im sicher heitskri-
tischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 das Chipkarten-Betriebssystem oder ein Teil davon gespeichert ist, wie dies in Figur 1 durch den Bereich 36 angedeutet ist, kann es zur Fehleranalyse notwendig sein, dass der gesamte Bereich 36 oder sogar der gesamte sicherheitskritische Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 von dem Lesegerät 10 ausgelesen werden muss. Sobald das Lesegerät 10 alle benötigten Daten aus dem sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 ausgelesen hat, wechselt der Sicherheitsmechanismus der Chipkarte 20 wieder in den Normalbetrieb der Chipkarte 20, d.h. der Zugriff auf den sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 wird wieder gesperrt, und die Kommunikation zwischen der Chipkarte 20 und dem Lesegerät 10 kann beendet werden.
Wie dies der Fachmann erkennt, muss bei der vorstehend beschriebenen Challenge-Response-Authentisierung sichergestellt sein, dass das Lesegerät 10 dasselbe Verfahren zur Berechnung der verschlüsselten Zufallszahl C wie die Chipkarte 20 zur Berechnung der verschlüsselten Zufallszahl C verwendet. Insbesondere müssen das Lesegerät 10 und die Chipkarte 20 denselben Kryptoalgorihmus zur Verschlüsselung und dieselbe Hashfunktion zur Bildung des Hashwerts verwenden. Ferner müssen bei der vorstehend beschriebenen Bildung des Hashwertes über die Verkettung der Geheimnisse Secret A und Secret B das Lesegerät 10 und die Chipkarte 20 die Geheimnisse in derselben Reihenfolge miteinander verketten. Es ist vorstellbar, dass, wie im Fall der Geheimnisse Secret A und Secret B, alle diese In ormationen zur Durchführung der Authentisierung bei der Herstellung und/ oder Personalisierung der Chipkarte 20 sowohl auf der Chipkarte 20 als auch auf dem Lesegerät 10 selbst oder auf einer Datenbank eines Hintergrundsystems, mit dem das Lesegerät 10 geeignet verbunden ist, hinterlegt worden
sind. Vorzugsweise sind die Informationen zur Durchführung der Authentisierung (Kryptoalgorithmus, Hashfunktion und dergleichen) für jede Chipkarte dieselben, d.h. bei jeder Chipkarte wird dieselbe Authentisierung durchgeführt. Es ist vorstellbar, dass die Geheimnisse Secret A und Secret B ebenfalls für jede Chipkarte 20 dieselben sind. In diesem Fall, müsste in dem Lesegerät 10 bzw. in einer Datenbank eines mit diesem verbundenen Hintergrundsystems lediglich ein Satz von Geheimnissen Secret A und Secret B hinterlegt sein. Gemäß einer bevorzugten Ausführungsform können jedoch für jede Chipkarte individualisierte Geheimnisse Secret A und Secret B hin- terlegt sein. Der Fachmann wird erkennen, dass in diesem Fall das Lesegerät 10 dazu in der Lage sein muss, eine Chipkarte zu identifizieren, um der so identifizierten Chipkarte einen bestimmten Satz von Geheimnissen Secret A und Secret B zuzuordnen. Vorzugsweise kann zur Identifizierung einer Chipkarte deren Chipkartennummer verwendet werden.
Gemäß einer bevorzugten Ausführungsform der Erfindung sind die in der Chipkarte 20 sicher hinterlegten Geheimnisse Secret A und Secret B mit einem Attribut bzw. Flag versehen, anhand dessen die Chipkarte 20 bzw. deren Betriebssystem OS die Geheimnisse Secret A und Secret B als solche er- kennt.
Gemäß einer weiteren bevorzugten Ausführungsform kann die Sicherheit der Chipkarte 20 durch einen Fehlbedienungszähler noch gesteigert werden. Dabei kann die durch die Chipkarte 20 durchgeführte Überprüfung der Zugriffsberechtigung bzw. Authentisierung des Lesegeräts 10 gegenüber der Chipkarte 20 durch den Fehlbedienungszähler derart abgesichert sein, dass nach einer vorbestirnmten Anzahl von fehlgeschlagenen Authentisierungs- ver suchen entweder die Kommunikationssitzung mit dem Lesegerät 10 ab-
gebrochen wird oder der sicherheitskritische Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 irreversibel gesperrt wird.
Wie dies dem Fachmann bekannt ist, können Kontrollmechanismen für Spei- cherzugriffe auf unterschiedlichen Schichten eines Systems implementiert werden, und zwar von der Anwendungsschicht über das Betriebssystem bis hin zur Hardwareschicht. Entsprechend kann gemäß der vorliegenden Erfindung der vorstehend beschriebene Sicherheitsmechanismus zur Kontrolle des Zugriffs auf den sicherheitskritischen Bereich 34 des nichtflüchtigen Speichers 30 der Chipkarte 20 auf unterschiedliche Arten und Weisen, z.B. in Form von Software und/ oder Hardware, implementiert sein. Beispielsweise kann der Sicherheitsmechanismus der Chipkarte 20 als Teil des Betriebssystems OS der Chipkarte und/ oder als Sicherheitslogik als Teil der Prozessoreinheit 22 der Chipkarte 22 implementiert sein. Für die Implementierung eines Sicherheitsmechanismus zur Kontrolle des Speicherzugriffs als Teil des Betriebssystems der Chipkarte 22 wird hiermit ausdrücklich Bezug genommen auf Rankl, Effing, "Handbuch der Chipkarten", 5. Auflage, 2008, München, und insbesondere die Kapitel 12.3 und 13.9 davon, die Teil der vorliegenden Offenbarung sind. Alternativ kann der Sicherheitsmechanismus durch eine eigenständige Einheit auf der Chipkarte 20 verwirklicht sein, z.B. durch einen Speicher-Controller.