DE69911174T2 - System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte - Google Patents

System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte Download PDF

Info

Publication number
DE69911174T2
DE69911174T2 DE69911174T DE69911174T DE69911174T2 DE 69911174 T2 DE69911174 T2 DE 69911174T2 DE 69911174 T DE69911174 T DE 69911174T DE 69911174 T DE69911174 T DE 69911174T DE 69911174 T2 DE69911174 T2 DE 69911174T2
Authority
DE
Germany
Prior art keywords
access
application
memory
programming instructions
card
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.)
Expired - Lifetime
Application number
DE69911174T
Other languages
English (en)
Other versions
DE69911174D1 (de
Inventor
Dimitrios Cleveland Grove MARKAKIS
Barry Giffnock HOCHFIELD
Dave Roberts
John Appleton BERIC
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.)
Mondex International Ltd
Original Assignee
Mondex International Ltd
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 Mondex International Ltd filed Critical Mondex International Ltd
Application granted granted Critical
Publication of DE69911174D1 publication Critical patent/DE69911174D1/de
Publication of DE69911174T2 publication Critical patent/DE69911174T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Description

  • HINTERGRUND DER ERFINDUNG
  • Integrierte Schaltungskarten (IC-Chipkarten) werden in zunehmendem Maße für viele verschiedene Zwecke in der modernen Welt eingesetzt. Eine IC-Karte hat typischerweise die Größe einer herkömmlichen Kreditkarte, in die ein Computerchip eingebettet ist. Sie umfasst einen Mikroprozessor, einen Festwertspeicher (ROM), einen elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einen Ein-/Ausgabe-(E/A)-Mechanismus sowie sonstige Schaltungen zum Unterstützen des Mikroprozessors bei seiner Arbeit. Eine IC-Karte kann ein oder mehrere Anwendungen im Speicher enthalten. Ein Anwendungslader ist die Entität, die die Anwendung auf die Karte lädt. Der Anwendungslader kann der eigentliche Entwickler der Anwendung oder ein Dritter sein.
  • Die WO-A-88/09019 offenbart einen Mikroprozessor mit Speicher- und Schnittstellenfähigkeiten. Mittels einer Speichermanagementroutine können verschiedene Objekte in der Karte vor einem unbefugten oder unsachgemäßen Zugriff durch ein Anwendungsprogramm geschützt werden. Auf der Karte sind Sicherheitsflags in Bezug auf Datendateien gespeichert. Diese werden in den Datendateien selbst gespeichert, die Teil des Datei-Headers bilden (siehe Seite 16, Zeilen 31 bis 33). Während der Ausführung eines Anwendungsprogramms kann sich der Zustand der Sicherheitsflags ändern. Dieses System dient zum Schützen von Daten sowie zum Gewährleisten, dass nur zu den richtigen Zeiten auf die Daten zugegriffen wird.
  • MULTOSTM ist ein Mehranwendungsbetriebssystem, das auf IC-Karten, zwischen anderen Plattformen, läuft und es zulässt, dass mehrere Anwendungen auf der Karte selbst abgearbeitet werden. So kann ein Kartenbenutzer mehrere in der Karte gespeicherte Programme (z. B. Kredit/Debit, elektronisches) Geld/Geldbörse und/oder Treueanwendungen) unabhängig vom Terminal-Typ (d. h. ATM, Telefon und/oder Point-of-Sale) abarbeiten, in dem die Karte für den Gebrauch eingeführt wird. Von höchster Bedeutung beim Gebrauch einer solchen Karte ist die Sicherheit, und der Betreiber eines Kartensystems ermöglicht es, dass Karten auf sichere Weise mit Terminals oder anderen Karten kommunizieren. Der Betreiber verwaltet auch das Laden und Löschen von Anwendungen auf die/von den Karten, sowie die kryptografischen Schlüssel, die das System sicher machen.
  • IC-Karten haben typischerweise aufgrund von Größen- und Kostenbeschränkungen des Platzierens von Speicher auf der Karte eine begrenzte Speicherkapazität. Anwendungen für Mehranwendungs-Smart-Cards werden in Programmiersprache geschrieben und gewöhnlich im EEPROM gespeichert, dessen Inhalt sich im Laufe der Lebenszeit der Karte ändern kann. Ein Beispiel für eine in IC-Karten verwendete Programmiersprache ist die Multos Executable Language MELTM. Die MEL-Programmanweisungen werden vom EEPROM gelesen, wenn sie ausgeführt werden, und werden von dem im ROM gespeicherten Betriebssystem interpretiert.
  • Der ROM auf der IC-Karte beinhaltet das im Assemblersprachcode geschriebene Betriebssystem für die jeweilige IC-Konfiguration (maschinenabhängige Sprache). Der im ROM gespeicherte Betriebscode ist beim anfänglichen Schreiben des ROM fest, und die im ROM gespeicherten Informationen ändern sich im Leben der Karte nicht.
  • Im ROM können sich auch Subroutinen, so genannte Grundstrukturen, befinden, die in einer maschinenabhängigen Sprache für den Mikroprozessor geschrieben sind und die entweder vom Betriebssystem selbst oder von Anwendungen bei deren Ausführung aufgerufen werden können. Grundstrukturen sind in der maschinenabhängigen Sprache (d. h. Assembler-Sprache) geschrieben, so dass sie sehr schnell ausgeführt werden können und nur eine minimale Interpretation der Anweisungen für die Ausführung nötig ist. Diese Grundstrukturen sind Sammlungen von Anweisungen, die gewöhnlich eine gewünschte Funktion ausführen, wie z. B. eine mathematische oder kryptografische Funktion. Die Anweisungen ändern sich während der Lebenszeit der Karte nie. Eventuelle Daten, die von den Grundstrukturen benutzt werden oder auf die diese zugreifen, sind im EEPROM gespeichert, so dass der Inhalt der Datenelemente nach Bedarf geändert werden kann.
  • Im MULTOSTM System können Anwendungen auf der Karte gespeicherte Grundstrukturen abrufen, die dann vom Betriebssystem ausgeführt werden. Wenn beispielsweise in einer Anwendung zwei Zahlen dividiert werden müssen, dann kann die Anwendung die "Division"-Grundstruktur abrufen und die Operanden für die Funktion bereitstellen, und die Grundstruktur führt die Berechnung aus. Jede Anwendung auf der Karte hat die Fähigkeit, die Divisionsgrundstruktur durch Ausführen einer "auf Divisionsgrundstruktur zugreifen" Anweisung abzurufen. Während einige Grundstrukturen für praktisch alle Anwendungen notwendig sind, wie z. B. mathematische Grundformeln oder fundamentale Datenrückspeicherungen, sind einige Grundstrukturen fakultativ und nur für den Gebrauch durch einige Anwendungen beabsichtigt. So können beispielsweise sicherheitsbezogene Grundstrukturen, die Daten ver/entschlüsseln, von einigen Anwendungen ja (z. B. einer Bankanwendung), aber von anderen (z. B. einer Air-Miles- oder Unterhaltungsanwendung) aufgrund der Erfordernisse der jeweiligen Anwendung nicht verwendet werden.
  • Darüber hinaus können externe Überlegungen die zulässige Verwendung einiger Grundstrukturen durch eine Anwendung beeinflussen. Diese Überlegungen würden erfordern, dass der Betreiber des Kartensystems die Kontrolle über den Zugriff auf bestimmte Grundstrukturen durch einzelne Anwendungen hat (d. h. einen solchen Zugriff verhindert). Eine solche Überlegung wäre die Besorgnis eines Landes in Bezug auf starke Verschlüsselungsalgorithmen für bestimmte Typen von Anwendungen, die in dem Land verwendet und aus dem Land exportiert werden. So könnte beispielsweise Großbritannien den Export eines Verschlüsselungsalgorithmus, der Teil einer Grundstruktur ist, aus dem Land zulassen, wenn der Algorithmus für eine Bankfunktion verwendet wird. Wenn der Verschlüsselungsalgorithmus jedoch auf allgemeine Daten wie z. B. Gesundheitsinformationen angewendet wird, dann diktiert möglicherweise die öffentliche Politik Großbritanniens, dass der Verschlüsselungsalgorithmus nicht außerhalb seiner Grenzen verwendet wird. Somit wäre es vorteilhaft, die Verschlüsselungsgrundstruktur für diese Anwendung zu sperren, wenn es die Gesetze eines Landes verbieten, dass dieser Datentyp verschlüsselt und exportiert wird. Diese selektive Freigabe von Grundstrukturen für einzelne Anwendungen wäre ein leistungsstarker Mechanismus zum Regulieren des Kartensystems.
  • Es gibt weitere Gründe, um einen selektiven Zugriff auf verschiedene Grundstrukturen zu ermöglichen. So wäre es insbesondere wünschenswert, eine Zugriffsprüfung für verschiedene Grundstrukturen zu haben, um selektiv Grundstrukturen freigeben, je nach den Erfordernissen des Kartensystembetriebs und/oder der Provider der Anwendungen, die auf dem System laufen. So könnte beispielsweise ein "Zugriffsflag" eines E/A-Ports geprüft werden, wenn eine gewählte Grundstruktur aufgerufen wird. Die meisten IC-Karten können derzeit Informationen mit einem Terminal austauschen, indem ein E/A-Port an der Karte physisch mit dem Terminal verbunden wird. Die auf der Karte befindlichen Kontakte werden physisch gegen die Kontakte des Terminals gedrückt, so dass ein elektrisches Signal zwischen Karte und Terminal passieren kann. Jüngere Entwicklungen lassen es zu, dass eine IC-Karte mit einem Terminal kommuniziert, ohne dass ein physischer Kontakt zwischen Karte und Terminal hergestellt wird. Der Austausch von Informationen erfolgt über Radiofrequenz-(RF-) Wellen, zelluläre Signale oder andere übertragene Signale. Für kontaktlose Karten befindet sich eine Antenne auf der Karte, die die Übertragungssignale sendet und empfängt. IC-Karten können sowohl physische Kontakte als auch Antennen für eine drahtlose Kommunikation beinhalten. Die kontakt- oder drahtlose Übertragung von Informationen ist zwar für den Karteninhaber vorteilhaft, da die Zeit für die gesamte Transaktion verkürzt wird, aber die Übertragungssignale können leichter von Dritten abgefangen werden als bei einer physischen Verbindung. Infolgedessen möchte der Betreiber des Kartensystems bestimmte Anwendungsprogramme wie Finanztransaktionen möglicherweise auf physische Verbindungen beschränken.
  • Es ist daher eine Aufgabe einer Ausgestaltung der Erfindung, eine Mehranwendungskarte mit der Fähigkeit bereitzustellen, den Zugriff auf die Grundstrukturen zu regulieren und es zuzulassen, dass der Kartensystembetreiber eine Grundstruktur für eine bestimmte Anwendung freigibt oder sperrt oder einen Zugriff darauf verhindert.
  • Aspekte der Erfindung sind in den unabhängigen Ansprüchen 1, 5 und 12 offenbart.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Anmelder haben somit ein System und ein Verfahren zum Regulieren des Zugriffs auf Computercode und insbesondere, aber nicht ausschließlich, auf in einer Mehranwendungs-IC-Karte eingebettete Grundstrukturen bereitgestellt. Die Anmelder haben festgestellt, dass eine Möglichkeit, dieses Ziel zu erreichen, in der Verwendung von "Zugriffsflags" besteht, die, wie nachfolgend ausführlicher erläutert wird, in Bits gesetzt werden, um entweder anzuzeigen, dass eine Grundstruktur (z. B. eine Verschlüsselungsgrundstruktur) für eine bestimmte Anwendung zugängig ist (wenn beispielsweise das Bit auf 1 gesetzt ist) oder nicht (wenn das Bit auf 0 gesetzt ist). Bei einer verschlüsselungsbezogenen Grundstruktur kann der "Zugriffsflag" auch als "Krypto-Flag" bezeichnet werden.
  • E/A-bezogene Zugriffsflags können auch verwendet werden, um den Zugriff auf die kontaktlosen Grundstrukturen für finanzielle Anwendungen zu verhindern. Die E/A-Zugriffsflags würden vom Kartensystembetreiber kontrolliert und gesetzt und vom Anwendungslader gemeinsam mit der Anwendung auf die Karte geladen. Dieser Zugriffsflag würde es zulassen, dass der Betreiber des Kartensystems verhindert, dass eine finanzielle oder andere gewählte Anwendung die kontaktlose Grundstruktur benutzt, so dass eine physische Verbindung für eine Terminal-Kommunikation notwendig wäre.
  • Zugriffsflags, die auf der Karte gespeichert und vom Betriebssystem geprüft werden, erlauben es, dass der Betreiber des Kartensystems den Zugriff auf selektive Grundstrukturen oder andere Subroutinen kontrolliert, indem der Status des Zugriffsflags vor der Ausführung der Grundstruktur oder Subroutine geprüft wird. Auch mit anderen Subroutinen, wie z. B. Codelets (Subroutinen, die in einer Anwendungssprache wie MEL geschrieben sind), Subroutinen im Betriebssystem selbst oder mit anderen Typen von Subroutinen, könnten Zugriffsflags assoziiert sein. Das Prüfen des Zugriffsflags erfolgt vorzugsweise durch das Betriebssystem, wenn eine spezifische Subroutinen-Abrufanweisung von einer Anwendung oder einer anderen Anweisung ausgeführt wird. Je nach den Ergebnissen der Zugriffsflag-Prüfung führt die Anwendung dann entweder die fragliche Grundstruktur oder Subroutine aus oder führt eine andere Reihe von Anweisungen aus, wenn der Zugriff verweigert wird.
  • Die Zugriffsflags werden mit Anwendungssteuerdaten gespeichert, die im EEPROM gespeichert werden, wenn die Anwendung auf die Karte geladen wird. Die Vorgabeeinstellung des Flags ist vorzugsweise vor dem Laden "nicht freigegeben", aber der Betreiber des Kartensystems kann den Flag bei Bedarf auf logisch "1" setzen, um "freigegeben" anzuzeigen. Wenn beispielsweise eine Anwendung so programmiert ist, dass eine starke Verschlüsselungssubroutine in Land B abgerufen wird, das sich außerhalb von Land A befindet, wo der Algorithmus entwickelt wurde, dann wäre es möglich, dass der Anwendungsprovider vom Kartensystembetreiber aufgefordert wird, ein Zertifikat aus dem Land vorzulegen, in dem die Karte benutzt werden soll, das zeigt, dass der Anwendungsprovider die Genehmigung der Regierung von Land A (Exportlizenz) und Land B (Gebrauchslizenz) hat, die Verschlüsselungsgrundstruktur zu benutzen. Nach Vorlage des Zertifikats gibt der Kartenbetreiber das Zugriffsflag-Bit frei. In diesem Fall könnte der "Zugriffsflag" auch "Krypto-Flag" genannt werden, weil er sich auf Verschlüsselung bezieht.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Weitere Aufgaben, Merkmale und Vorteile der Erfindung gehen aus der nachfolgenden ausführlichen Beschreibung in Verbindung mit den Begleitzeichnungen hervor, die illustrative Ausgestaltungen der Erfindung zeigen. Dabei zeigt:
  • 1 ein Blockdiagramm, das die drei Zustände im Leben einer Mehranwendungs-IC-Karte in einem sicheren System zeigt;
  • 2 eine IC-Karte, die in Verbindung mit Ausgestaltungen der vorliegenden Erfindung verwendet werden kann;
  • 3 ein Funktionsblockdiagramm der in 2 gezeigten integrierten Schaltung;
  • 4 eine Bitmap einer Anwendungssteuerdatenstruktur gemäß einer Ausgestaltung der vorliegenden Erfindung; und
  • 5 ein Ablaufdiagramm eines Verfahrens zum Steuern des Zugriffs auf Computercode.
  • In allen Figuren wurden, wo nicht anders angegeben, dieselben Bezugsziffern und Zeichen zur Bezeichnung gleichartiger Merkmale, Elemente, Komponenten oder Teile der illustrierten Ausgestaltungen verwendet. Außerdem werden zwar nachfolgend Ausgestaltungen des erfinderischen Gegenstands auführlich mit Bezug auf die Figuren beschrieben, aber dies geschieht in Verbindung mit den illustrativen Ausgestaltungen. Es ist vorgesehen, dass Änderungen und Modifikationen an den beschriebenen Ausgestaltungen vorgenommen werden können, ohne vom wahren Umfang und Wesen der vorliegenden Erfindung gemäß Definition durch die beiliegenden Ansprüche abzuweichen.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSGESTALUNG
  • 1 zeigt die drei Schritte zur Bereitstellung einer funktionsfähigen Mehranwendungs-IC-Karte in einem sicheren System. Der erste Schritt ist die Kartenherstellung 101. Im zweiten Schritt, Personalisierung 103, werden Kartenpersonalisierungsdaten (auch Entität-Authentifizierungsdaten genannt) auf die Karte geladen. Der dritte Schritt ist das Laden der Anwendung 105. Dabei wird geprüft, ob eine Karte zur Aufnahme einer Anwendung qualifiziert ist, d. h. wenn die Persönlichkeitsdaten anhand der Anwendungszulassungsdaten in Verbindung mit der zu ladenden Anwendung geprüft werden. Jeder dieser drei Schritte ist ausführlich in der mitanhängigen Anwendung mit der Seriennummer 09/076,551 beschrieben, die hierin als Anhang A enthalten ist.
  • 2 illustriert eine Karte 106, die IC-Technologie ausgestaltet, die mit Ausgestaltungen der hierin beanspruchten Erfindung angewendet werden kann. Karte 106 sieht ähnlich aus wie eine herkömmliche Kreditkarte, aber beinhaltet auch eine integrierte Schaltung (IC) 108, die einen Mikroprozessor sowie elektrische Kontakte 110 für die Kommunikation zwischen IC 108 und Geräten außerhalb der Karte 106 enthält. Karte 106 kann z. B. als Kreditkarte, als Debitkarte und/oder als elektronische Cash-Karte verwendet werden, d. h. als eine Karte mit einem Geldwert, der übertragen werden kann, wenn der Karteninhaber Einkäufe tätigt, wie z. B. eine MONDEXTM Cash-Karte.
  • 3 zeigt ein Funktionsblockdiagramm des IC-Teils 108 und enthält wenigstens eine Verarbeitungseinheit 112 und eine Speichereinheit 114. Die IC 108 beinhaltet auch vorzugsweise Steuerlogik 116, einen Timer 118 sowie Ein/Ausgabeports 120. Der IC-Teil 108 beinhaltet auch einen Koprozessor 122. Die Steuerlogik 116 stellt in Verbindung mit der Verarbeitungseinheit 112 die notwendige Steuerung zum Handhaben von Kommunikationen zwischen der Speichereinheit 114 (mit ROM 124, EEPROM 126 und RAM 128 sowie Ein-/Ausgabeports 120) bereit. Der Timer 118 erzeugt ein Synchronisierreferenzsignal für Verarbeitungseinheit 112 und Steuerlogik 116. Der Koprozessor 122 bietet die Fähigkeit, komplexe Rechnungen in Echtzeit durchzuführen, wie z. B. solche, die von kryptografischen Algorithmen benötigt werden.
  • 4 zeigt ein Beispiel für die Anwendungssteuerdatenstruktur 401, zuweilen als Bitmap bezeichnet, die sich vorzugsweise im EEPROM befindet und mehrere Zugriffsflags für eine bestimmte Anwendung enthält, die auf eine IC-Karte geladen wurde. Die Bitmap befindet sich vorzugsweise im EEPROM mit der Anwendung, obwohl sie sich auch im ROM befinden könnte, wenn die Zugriffsflags vor dem Zeitpunkt ermittelt wurden, an dem die Daten auf den ROM geschrieben wurden. Die Daten 401 zeigen 8 Bits (ein Byte) von Daten, die im Speicher der Karte gespeichert sind. Die Länge der Bitmap kann mit der Länge von verfügbaren Bits variabel sein, je nach der jeweiligen Anwendung und dem System, auf dem sie läuft. Im vorliegenden Beispiel entspricht Bit 403 einem Krypto-Flag in Verbindung mit einer Verschlüsselungsgrundstruktur, die oben beschrieben wurde. Das Krypto-Flag-Bit wird auf "1" gesetzt, wenn die Verschlüsselungsgrundstruktur für die jeweilige Anwendung freigegeben wird, und wird auf "0" gesetzt, wenn die Grundstruktur nicht freigegeben wird. Der Vorgabezustand in der bevorzugten Ausgestaltung ist immer "0", d. h. nicht freigegeben. Dadurch wird gewährleistet, dass die Genehmigung zum Ausführen einer gewählten Grundstruktur nur dann gegeben wird, wenn dies vom Betreiber des Kartensystems beim Laden der Anwendung explizit eingestellt wird. In anderen Systemen könnte die Vorgabe jedoch "1" oder freigegeben sein, es sei denn, der Betreiber des Kartensystems sperrt die Karte explizit.
  • Das kontaktlose E/A-Zugriffsflag-Bit, ebenfalls oben beschrieben, ist als Bit 405 dargestellt. Dieses Bit wird geprüft, wenn kontaktloser Betrieb (z. B. eine Grundstruktur) von einer Anwendung abgerufen wird. Der kontaktlose Betrieb kann beispielsweise aus allen Anweisungen bestehen, die zum Senden und Empfangen von drahtlosen Signalen benötigt werden, oder er kann ein benötigter Teil dieser Anweisungen sein. Wenn das kontaktlose Bit 406 auf "1" gesetzt ist, dann kann der Betrieb ausgeführt werden, und wenn das kontaktlose Bit 405 auf "0" gesetzt ist, dann kann der kontaktlose Betrieb nicht ausgeführt werden.
  • Andere unterschiedliche E/A-Ports können ebenfalls einen Zugriffsflag haben. Der kontaktlose Zugriffsflag kann auch zusätzliche Flags für eine verfeinerte Regulierung haben, einen RF-Signalzugriffsflag und ein zelluläres Zugriffssignal. So ist beispielsweise ein weiteres, in 4 gezeigtes Zugriffsflag-Bit das Application Program Interface (API) Bit 407. Dieses Bit kann steuern, ob eine Anwendung von einer auf der Karte gespeicherten spezifischen API abgearbeitet werden kann. So kann eine Karte beispielsweise eine MEL-API und eine zweite Betriebssystem-API enthalten. Das API-Bit kann Anwendungen darauf beschränken, die MEL API zu verwenden, oder sie kann die Karte befähigen, die API des zweiten Betriebssystems zu verwenden. Die Verwendung der API des zweiten Betriebssystems durch die jeweilige Anwendung kann eine ausgegebene Lizenz vom Inhaber des zweiten Betriebssystems erfordern, und der API-Flag kann den Gebrauch der Karte mit der zweiten API beschränken, es sei denn, eine Lizenz wird erworben. Der Systembetreiber kann weitere Zugriffsflag-Bits 409 definieren.
  • 4 zeigt zwar mehrere Zugriffsflags, aber die Anwesenheit von wenigstens einem Zugriffsflag ist vorteilhaft, und die Gesamtzahl der Zugriffsflags kann auf System oder Benutzer zugeschnitten werden. Darüber hinaus ist, obwohl ein Krypto-Flag ein wichtiges Merkmal für die IC-Karte ist, die eine Ausgestaltung der Erfindung ist, ein Krypto-Flag nicht unbedingt einer der Zugriffsflags. Welcher Zugriffsflag was kontrolliert, wird vom Systembetreiber bestimmt. 4 zeigt zwar eine bevorzugte Bitdarstellung von einem Bit für jeden Zugriffsflag, aber die Datenorganisation kann anders sein, z. B. Verwenden der Zugriffsliste als Indexregister, um auf die richtigen Flag-Daten zu zeigen.
  • Jede Anwendung hat ihre eigenen zugehörigen Bitmap-Listendaten, wie in 4 gezeigt ist. Die Bitmap-Daten, die die Zugriffsflags enthalten, werden mit anderen Anwendungsladeinformationen während des Ladens der Anwendung auf die Karte geladen. Vor der Zugriffsliste kann ein Feld stehen, das die Länge der Bitmap vorgibt, was eine Zugriffsliste variabler Länge ermöglicht. Wenn die Werte auf der Bitmap festgelegt sind, werden diese nicht mehr verändert, um eventuelle unzulässige Eingriffe in die Flag-Daten minimal zu halten.
  • Nachfolgend wird beschrieben, wie das Betriebssystem prüft, ob ein Zugriffsflag-Bit gesetzt ist, wenn eine Anwendung versucht, eine Grundstruktur mit zugehörigem Zugriffsflag abzurufen. In diesem Beispiel endet, wenn der zugehörige Flag auf "0" gesetzt ist und die Grundstruktur aufgerufen wird, die Ausführung anormal (abend). Das Beispiel illustriert insbesondere die Verwendung eines Krypto-Flags.
  • Es wird ein Mechanismus benötigt, in der Form einer Bitmap, mit dem der Zugang zu den kryptografischen Grundstrukturen gewährt oder beschränkt werden kann, die einer Anwendung von einer MULTOSTM Implementation geboten werden. Zugang zu den kryptografischen MULTOSTM Grundstrukturen mit "beschränktem Zugang" wird nur denjenigen Entwicklern gewährt, die Dokumente vorweisen, die besagen, dass sie die Genehmigung der entsprechenden Regierungsbehörden haben, auf diese kryptografischen Zugriffsstrukturen zuzugreifen.
  • Eine Interaktion zwischen der Karte mit einem Kartenausgeber (der typischerweise die Entität ist, die das Laden einer Anwendung anfordert) in einem Mehranwendungskartensystem erfolgt durch die Bereitstellung eines Application Load Certificate ("ALC") (in Anhang A beschrieben, der hierin durch Bezugnahme eingeschlossen ist), das während des mit Bezug auf 1 beschriebenen Personalisierungsvorgangs auf die Karte geladen wird. Das Application Load Certificate kann Zugriffsflag-Daten für eine bestimmte Anwendung enthalten, die eine Bitmap (oder einen Flag) mit einer Anwendung in einer integritätsgeschützten Weise assoziiert.
  • Im ALC wird ein Datenelement benutzt, vorzugsweise als "Zugriffsliste" bezeichnet, um anzuzeigen, ob Zugang zu einer bestimmten Grundstruktur möglich ist oder nicht. Spezifischer ausgedrückt, wird vorzugsweise ein einzelnes Bit benutzt, um den auf der IC-Karte gespeicherten "Zugriffslisten"-Flag anzuzeigen, obwohl auch andere Datenkonfigurationen möglich sind. Wenn also eine Anwendung versucht, auf eine beschränkte (unverfügbare) kryptografische Grundstruktur zuzugreifen (z. B. ein "Zugriffslisten"-Wert für diese Grundstruktur in Bezug auf die ablauffähige Anwendung ist 0), dann bricht der Vorgang anormal ab. Im Abend-Fall kann die Ausführung des gerade laufenden Anwendungsprogramms unterbrochen und eine Fehlermeldung zu einem Display-Terminal gesendet werden, wenn ein solcher mit der IC-Karte verbunden ist. Ansonsten wird Zugang gewährt, der Programmieranweisungssatz der Grundstruktur wird ausgeführt, und danach setzt die Anwendung die Ausführung ihrer Anweisungen fort.
  • 5 zeigt ein Ablaufdiagramm der Schritte zum Implementieren eines Verfahrens zum Steuern des Zugriffs auf Computercode in einer IC-Karte. Schritt 501 speichert eine Anwendung auf einer IC-Karte. Die Anwendung kann bei der Herstellung oder vorzugsweise während eines in 1 geschriebenen Personalisierungsvorgangs auf der Karte gespeichert werden. Die IC-Karte beinhaltet ein Mehranwendungsbetriebssystem, das es zulässt, dass der Mikroprozessor auf der Karte mehrere auf der Karte gespeicherte Anwendungen ausführt.
  • Schritt 503 speichert einen Zugriffsflag in Bezug auf eine Grundstruktur oder einen anderen Satz von Programmieranweisungen für eine oder mehrere auf der IC-Karte gespeicherte Anwendungen. Der Zugriffsflag kann vor dem Laden der Anwendung gleichzeitig mit dem Laden der Anwendung oder nach dem Laden der Anwendung gespeichert werden. Zur Erzielung maximaler Sicherheit wird der Zugriffsflag bei der Herstellung auf Festwertspeicher gespeichert und kann nicht verändert werden. Alternativ kann der Zugriffsflag in programmierbarem Speicher gespeichert werden, der geändert werden kann, um die Karte in Bezug auf die einzelnen Anwendungen zu personalisieren, die auf die IC-Karte geladen werden, und um die Fähigkeit zu haben, die Zugriffsflags zu beseitigen, wenn und falls eine Anwendung von der Karte gelöscht wird. So erhält möglicherweise ein Anwendungsprovider mit Bezug auf einen kryptografischen Zugriffsflag die Genehmigung zum Exportieren und Importieren bestimmter Kryptografiedaten, die als Grundstruktur gespeichert sind, nachdem eine Anwendung auf die Karte geladen wurde. In diesem Fall kann der Zugriffsflag geändert werden, wenn der den Zugriffsflag speichernde Speicher veränderbar ist.
  • In Schritt 505 wird eines der auf der Karte gespeicherten Anwendungsprogramme abgearbeitet (z. B. eine Kredit/Debit-Anwendung). Wenn die Programmanweisungen in der ablaufenden Anwendung verlangen, dass in Schritt 507 auf eine Grundstruktur zugegriffen wird, dann prüft das auf der IC-Karte befindliche Betriebssystem zunächst den Zugriffsflag in Verbindung mit der jeweiligen Grundstruktur oder Funktion. Jede Grundstruktur kann verschiedene Zugriffsflags für jede Anwendung oder Gruppe von Anwendungen haben, so dass einer Anwendung der Zugriff gestattet werden kann und einer zweiten Anwendung nicht. Mit den Zugriffsflags erhält der Verwalter des Mehranwendungskartensystems einen wichtigen Kontrollmechanismus über den Zugriff auf gewählte Grundstrukturen.
  • Schritt 509 prüft den Zustand des entsprechenden Zugriffsflags in Schritt 509. Wenn der Zugriffsflag anzeigt, dass der Zugriff verweigert wird (z. B. der Wert des Zugriffsflags ist null), dann endet die Ausführung der Anwendung in Schritt 511 anormal (abend). Dem Kartenbenutzer kann eine Fehlermeldung angezeigt werden, die den Grund für den Abend angibt. Alternativ kann die Anwendung über ihre Programmieranweisungen entweder für eine positive oder eine negative Zugriffsflag-Prüfung programmiert werden und gewählte Teile des Programms als Reaktion auf den Wert des Zugriffsflags ausführen.
  • Wenn der Zugriffsflag auf einen positiven Wert gesetzt ist (d. h. "1"), dann wird die Grundstruktur, auf die zugegriffen wurde, in Schritt 513 ausgeführt. Nach dem Ausführen der Programmanweisungen der Grundstruktur fährt der Prozess mit Schritt 515 fort. Schritt 515 setzt dann die Ausführung der Anwendung fort, die gerade vom Mikroprozessor auf der IC-Karte ausgeführt wird.

Claims (15)

  1. Mehranwendungskartensystem (106) mit einer IC-Chipkarte (108), umfassend einen Mikroprozessor (112), einen Festwertspeicher (124), einen Arbeitsspeicher (126), einen elektronisch löschbaren programmierbaren Festwertspeicher (128) sowie ein oder mehrere Sätze von Programmieranweisungen, die in dem genannten Festwertspeicher gespeichert sind, wobei das System Folgendes umfasst: Mittel zum Speichern von wenigstens einer Anwendung, die auf wenigstens einen der Sätze von Programmieranweisungen zugreift, auf der genannten IC-Chipkarte (108); Mittel zum Speichern eines Zugriffsflags mit Anwendungssteuerdaten für l wenigstens einen der genannten Sätze von Programmieranweisungen, auf die die Anwendung zugreift; Mittel zum Setzendes Zugriffsflags, um den Zugriff auf den Satz von Programieranweisungen in Abhängigkeit von der geladenen Anwendung zu ermöglichen; und Mittel, die von dem Zugriffsflag abhängig sind, um den Zugriff auf den Satz von Programieranweisungen durch die Anwendung zu gestatten.
  2. System nach Anspruch 1, bei dem sich das genannte Mittel zum Speichern von Zugriffsflags in dem genannten elektronisch löschbaren programmierbaren Festwertspeicher befindet.
  3. System nach Anspruch 1 oder Anspruch 2, bei dem wenigstens ein Satz von Programieranweisungen eine kryptografische Grundstruktur ist.
  4. System nach Anspruch 3, bei dem der Zugriff auf die genannten kryptografischen Grundstrukturen verweigert wird, wenn der Wert des genannten Zugriffsflags auf 0 gesetzt ist, und gewährt wird, wenn er auf 1 gesetzt ist.
  5. IC-Chipkarte, die Folgendes umfasst: einen Mikroprozessor (112); wenigstens einen Speicher (114), der mit dem genannten Mikroprozessor gekoppelt ist, um wenigstens ein Anwendungsprogramm zu speichern, das auf einen oder mehrere Sätze von Programmieranweisungen zugreift, und wenigstens einen Zugriffsflag, der mit den Anwendungssteuerdaten gespeichert wird und mit wenigstens einem der genannten ein oder mehreren Sätze von Programmanweisungen assoziiert ist; und ein Mehranwendungsbetriebssystem, das auf der genannten IC-Chipkarte gespeichert ist und von dem genannten Mikroprozessor ausgeführt wird, um den Zugriff auf die genannten ein oder mehreren Sätze von Programmanweisungen als Reaktion auf den Wert des genannten assoziierten Zugriffsflags zu ermöglichen.
  6. IC-Chipkarte nach Anspruch 5, bei der die genannten wenigstens einen Zugriffsflags in einem Festwertspeicher gespeichert sind.
  7. IC-Chipkarte nach Anspruch 5, bei der die genannten ein oder mehreren Sätze von Programmieranweisungen in dem genannten Festwertspeicher gespeichert sind.
  8. IC-Chipkarte nach einem der Ansprüche 5 bis 7, bei der die genannte wenigstens eine Anwendung in einem elektronisch löschbaren programmierbaren Festwertspeicher gespeichert ist.
  9. IC-Chipkarte nach einem der Ansprüche 5 bis 8, bei der der genannte Zugriffsflag in einem elektronisch löschbaren programmierbaren Festwertspeicher gespeichert ist.
  10. IC-Chipkarte nach einem der Ansprüche 5 bis 9, bei der wenigstens ein Satz von Programmieranweisungen eine kryptografische Grundstruktur ist.
  11. IC-Chipkarte nach einem der Ansprüche 5 bis 10, bei der der Zugang zu den genannten kyptografischen Grundstrukturen verweigert wird, wenn der Wert des genannten Zugriffsflags auf 0 gesetzt ist, und gewährt wird, wenn er auf 1 gesetzt ist.
  12. Verfahren zum Steuern des Zugriffs auf einen oder mehrere Sätze von Programmieranweisungen, die in dem genannten Festwertspeicher gespeichert sind, in einem Mehranwendungskartensystem mit einer IC-Chipkarte (108), umfassend einen Mikroprozessor (112), einen Festwertspeicher (124), einen Arbeitsspeicher (126), einen elektronisch löschbaren programmierbaren Festwertspeicher (128) sowie, wobei das Verfahren die folgenden Schritte umfasst: Speichern (501) von wenigstens einer Anwendung, die auf wenigstens einen der Sätze von Programmieranweisungen zugreift, auf der genannten IC-Chipkarte; Speichern (503) eines Zugriffsflags mit Anwendungssteuerdaten auf der IC-Chipkarte, wobei ein Zugriffsflag einen Wert hat, der angibt, ob der Zugriff durch die genannte wenigstens eine Anwendung auf den genannten wenigstens einen Satz von Programmieranweisungen gewährt wird; Setzen des Zugriffsflags, um den Zugriff auf den wenigstens einen Satz von Programmieranweisungen in Abhängigkeit von der gespeicherten Anwendung zu ermöglichen; Gestatten des Zugriffs (507) auf die genannten ein oder mehreren Sätze von Programmieranweisungen in Abhängigkeit von dem genannten Zugriffsflag.
  13. Verfahren nach Anspruch 12, bei dem sich die genannte Anwendung in dem genannten elektronisch löschbaren programmierbaren Festwertspeicher befindet.
  14. Verfahren nach Anspruch 12 oder Anspruch 13, bei dem wenigstens ein Satz von Programmieranweisungen eine kyptografische Grundstruktur ist.
  15. Verfahren nach einem der Ansprüche 12 bis 14, bei dem der Zugriff auf die genannten kryptografischen Grundstrukturen verweigert wird, wenn der Wert des genannten Zugriffsflags auf 0 gesetzt ist, und gewährt wird, wenn er auf 1 gesetzt ist.
DE69911174T 1998-02-03 1999-02-02 System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte Expired - Lifetime DE69911174T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7356698P 1998-02-03 1998-02-03
US73566P 1998-02-03
PCT/GB1999/000350 WO1999040549A1 (en) 1998-02-03 1999-02-02 System and method for controlling access to computer code in an ic card

Publications (2)

Publication Number Publication Date
DE69911174D1 DE69911174D1 (de) 2003-10-16
DE69911174T2 true DE69911174T2 (de) 2004-07-01

Family

ID=22114476

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69911174T Expired - Lifetime DE69911174T2 (de) 1998-02-03 1999-02-02 System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte

Country Status (6)

Country Link
EP (1) EP1053536B1 (de)
JP (2) JP4798844B2 (de)
AT (1) ATE249662T1 (de)
AU (1) AU2433899A (de)
DE (1) DE69911174T2 (de)
WO (1) WO1999040549A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056848A (ja) * 1999-08-19 2001-02-27 Nec Corp Icコードのコマンド実行制御方法、icカード、icカードプログラムを記録した記録媒体
FR2799021A1 (fr) * 1999-09-27 2001-03-30 Schlumberger Systems & Service Procede de gestion de commandes dans une carte
FR2805108B1 (fr) 2000-02-10 2002-04-05 Bull Cp8 Procede d'enregistrement d'un usager sur un serveur d'annuaire d'un reseau de type internet et/ou de localisation d'un usager sur ce reseau, et carte a puce pour la mise en oeuvre du procede
JP4548758B2 (ja) * 2000-09-05 2010-09-22 大日本印刷株式会社 共有アクセス管理機能を備えた携帯可能な情報処理装置
ATE553426T1 (de) 2000-09-21 2012-04-15 Research In Motion Ltd System und verfahren zum unterschreiben eines software-kodes
CN100555157C (zh) * 2001-10-01 2009-10-28 雅斯拓股份有限公司 智能卡和访问智能卡中的数据库的方法
TW200500887A (en) 2003-03-03 2005-01-01 Nagracard Sa Security modules deactivation and reactivation method
JP4542766B2 (ja) * 2003-11-04 2010-09-15 株式会社東芝 携帯可能電子装置
JP2005196409A (ja) * 2004-01-06 2005-07-21 Sony Corp データ通信装置及びデータ通信装置のメモリ管理方法
GB0416618D0 (en) * 2004-07-26 2004-08-25 Ecebs Ltd Remote smartcard application management
US7873166B2 (en) 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
FR2893797A1 (fr) * 2005-11-23 2007-05-25 Proton World Internatinal Nv Personnalisation d'une carte bancaire pour d'autres applications
US8117453B2 (en) 2005-11-23 2012-02-14 Proton World International N.V. Customization of an electronic circuit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160491A (ja) * 1984-01-31 1985-08-22 Toshiba Corp Icカードとicカード発行装置
JPS61177585A (ja) * 1985-02-04 1986-08-09 Toshiba Corp 携帯用電子装置密封体
US4816654A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Improved security system for a portable data carrier
US4868376A (en) * 1987-05-15 1989-09-19 Smartcard International Inc. Intelligent portable interactive personal data system
DE59004248D1 (de) * 1990-07-20 1994-02-24 Siemens Nixdorf Inf Syst Verfahren zur Verhinderung unzulässiger Abweichungen vom Ablaufprotokoll einer Anwendung bei einem Datenaustauschsystem.
FR2673476B1 (fr) * 1991-01-18 1996-04-12 Gemplus Card Int Procede securise de chargement de plusieurs applications dans une carte a memoire a microprocesseur.
FR2687816B1 (fr) * 1992-02-24 1994-04-08 Gemplus Card International Procede de personnalisation d'une carte a puce.
EP0706692B1 (de) * 1992-10-26 2003-04-16 Intellect Australia Pty. Ltd. Host-benutzer-transaktionssystem

Also Published As

Publication number Publication date
EP1053536A1 (de) 2000-11-22
WO1999040549A1 (en) 1999-08-12
JP2009259274A (ja) 2009-11-05
ATE249662T1 (de) 2003-09-15
EP1053536B1 (de) 2003-09-10
JP4798844B2 (ja) 2011-10-19
DE69911174D1 (de) 2003-10-16
AU2433899A (en) 1999-08-23
JP2002503007A (ja) 2002-01-29

Similar Documents

Publication Publication Date Title
DE69813208T2 (de) Chipkarte mit datenumsetzer
DE69823649T2 (de) Multi-anwendungs ic-kartensystem
DE69836633T2 (de) Datentransportschlüsselsatz für chipkarten
DE69911174T2 (de) System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte
US6742120B1 (en) System and method for controlling access to computer code in an IC card
DE69827405T2 (de) System und verfahren für eine mehrzweckchipkarte die eine nachträgliche speicherung einer anwendung auf dieser karte ermöglicht
EP2318921B1 (de) Laden und aktualisieren einer personalisierungsbedürftigen applikation
EP1360644B1 (de) Sicherheitsmodul mit flüchtigem speicher zur speicherung eines algorithmuscodes
EP2289225B1 (de) Verfahren zum personalisieren eines sicherheitselements eines mobilen endgeräts
DE102014220616A1 (de) Verfahren zum Laden von ausführbaren Programminstruktionen in eine Chipkarte im Wirkbetrieb
DE69932412T2 (de) Chipkartenkonfiguration
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
DE60011086T2 (de) Gerät für datenverarbeitung und korrespondierendes verfahren
EP1425723B1 (de) Initialisieren einer chipkarte
WO2013091863A1 (de) Verfahren zur kommunikation mit einer applikation auf einem portablen datenträger sowie ein solcher portabler datenträger
DE10162308A1 (de) Verfahren und Anordnung zur Zugriffssteuerung auf EEPROMs sowie ein entsprechendes Computerprogrammprodukt und eine entsprechendes computerlesbares Speichermedium
EP2524333B1 (de) Verfahren zum bereitstellen eines sicheren zählers auf einem endgerät
EP1854072A1 (de) Verfahren zur personalisierung eines tragbaren datenträgers
EP0847031B1 (de) Verfahren zum gesicherten nachträglichen Programmieren einer Mikroprozessorkarte für eine zusätzliche Anwendung
EP3159821A1 (de) Prozessor-system mit applet security settings
EP1634252B1 (de) Verfahren zum laden von tragbaren datenträgern mit daten
DE102018115758A1 (de) Sicherheit von Java-Card-Schlüsselobjekten
EP1927870B1 (de) Tragbarer Datenträger
EP2012280A2 (de) Tragbarer Datenträger und Verfahren zur Personalisierung eines tragbaren Datenträgers
EP3329415B1 (de) Chipkarte mit hauptapplikation und persistenzapplikation erlaubt hauptapplikationupdate ohne die benutzerdaten im persistenzapplikation zu ändern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition