DE19536169A1 - Multifunktionale Chipkarte - Google Patents

Multifunktionale Chipkarte

Info

Publication number
DE19536169A1
DE19536169A1 DE19536169A DE19536169A DE19536169A1 DE 19536169 A1 DE19536169 A1 DE 19536169A1 DE 19536169 A DE19536169 A DE 19536169A DE 19536169 A DE19536169 A DE 19536169A DE 19536169 A1 DE19536169 A1 DE 19536169A1
Authority
DE
Germany
Prior art keywords
application
address
memory
area
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19536169A
Other languages
English (en)
Inventor
Klaus Gungl
Trong Son Dr Dao
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to DE19536169A priority Critical patent/DE19536169A1/de
Priority to JP8219850A priority patent/JPH09223200A/ja
Priority to EP96114369A priority patent/EP0766211A3/de
Priority to US08/720,162 priority patent/US5912453A/en
Publication of DE19536169A1 publication Critical patent/DE19536169A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/072Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising a plurality of integrated circuit chips
    • 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

Gebiet der Erfindung
Die Erfindung betrifft die Integration mehrerer Anwendungen auf einer Chipkarte.
Stand der Technik
Als Datenträgerkarten oder Chipkarten werden heute tragbare Karten, zumeist in etwa in Scheckkartenformat und vorzugsweise aus Kunststoff oder Metall, mit einem darin integrierten elektronischen Chip, bezeichnet. Man unterscheidet zwischen einfachen Speicherkarten (die als Memory Chip-Cards oder Memory-Cards bekannt sind) und intelligenten Datenträgerkarten (auch multifunktionale Chipkarten, oder Smart-Cards genannt), die neben einem Speicherbereich einen eigenen Prozessor zur Kontrolle der auf dem Chip der Datenträgerkarte gespeicherten Daten. Dies erlaubt einen besseren Schutz der Daten und führt zu einer verbesserten Funktionalität der Chipkarten. Einfache Speicherkarten erlauben im allgemeinen nur ein Schreiben und Lesen der Daten. Intelligente Datenträgerkarten verfügen darüber hinaus noch über Funktionen zur Strukturierung der Daten, zur Lokalisierung der Daten, zur Verwaltung der Daten und zum Schutz der Daten.
Typischerweise enthält eine Chipkarte einen Chip, auf dem ein Mikroprozessor und ein Speicher integriert sind. Der Speicher ist weiterhin in eine Vielzahl einzelner Bereiche aufgeteilt, die je nach Funktion unterschiedlich implementiert werden.
Als einen ersten Speicherbereich enthält die Chipkarte einen nicht-flüchtigen und nicht-beschreibbaren Speicher, der zumeist als ein ROM (Read Only Memory) ausgeprägt ist und im weiteren auch als ROM bezeichnet werden soll. Das ROM enthält im allgemeinen das Betriebssystem der Chipkarte. Weiterhin werden im ROM Programme gespeichert, die allgemeine Funktionen haben, wie z. B. einen Datenstrom umwandeln, kodieren oder zur Durchführung einer Ein-/Ausgabe mit einem Automaten (z. B. mittels eines "Handshake"-Verfahrens mit einem Geldautomaten) vorgesehen sind.
Als einen weiteren Speicherbereich weist die Chipkarte einen nicht-flüchtigen, beschreibbaren Speicher auf, der im allgemeinen als EEPROM (Electrical Eraseable Programmable Read Only Memory) oder als EPROM (Electrical Programmable ROM) oder als OT/PROM (One Time PROM) ausgeprägt ist. Der Einfachheit halber soll im folgenden der nicht-flüchtige beschreibbare Speicher als EEPROM bezeichnet werden, ohne daß damit eine Beschränkung der nicht-flüchtigen beschreibbaren Speicher nur auf EEPROMs gemeint ist. In dem EEPROM werden im allgemeinen Anwendungsprogramme für Anwendungen mit der Chipkarte gespeichert.
Schließlich weist die Chipkarte im allgemeinen noch einen flüchtigen, beschreibbaren Speicher auf, der meist als RAM (Random Access Memory) ausgeprägt ist und im folgenden als RAM bezeichnet werden soll. Der RAM dient als Arbeitsspeicher für den Mikroprozessor der Chipkarte, insbesondere zur Zwischenspeicherung von Daten.
Das Funktionsprinzip der Chipkarte soll am Beispiel einer Bargeld-Chipkarte erläutert werden. Nach Einführen der Chipkarte in einen Geldautomaten wird der Mikroprozessor der Chipkarte über die Chipkartenkontakte an den Automaten angeschlossen und in Betrieb genommen. Für den Datenaustausch ("Handshaking") schickt die Chipkarte in einem ersten Schritt eine Zufallszahl an den Automaten. Der Automat verschlüsselt in einem zweiten Schritt diese Zufallszahl und schickt sie als chiffrierte Zahl an die Chipkarte zurück. In einem dritten Schritt dechiffriert die Chipkarte die empfangene Zahl mit Hilfe eines Schlüssels und vergleicht das empfangene Ergebnis mit einem vorberechneten Ergebnis. Die Zufallszahl sowie die dechiffrierten Berechnungen sind hierfür im Arbeitsspeicher der Chipkarte (RAM) gespeichert. Der Chiffrierschlüssel hingegen ist im ROM abgelegt, da dieser Schlüssel besonders geschützt werden muß, um Manipulationen zu vermeiden.
In einem vierten Schritt schickt der Automat eine Zufallszahl an die Chipkarte, die die Chipkarte wiederum in einem fünften Schritt chiffriert und an den Automaten zurückschickt. Die Dechiffrierung auf der Automatenseite erfolgt in einem sechsten Schritt ähnlich dem im dritten Schritt. Ist der Vorgang bis an diese Stelle erfolgreich abgelaufen, sind die Chipkarte und der Automat bereit für einen Datenaustausch, wobei der Datenaustausch im allgemeinen mit verschlüsselten Daten erfolgt. Hierfür wird ein entsprechendes, in der Chipkarte gespeichertes, Anwendungsprogramm aufgerufen. Als Anwendung soll hier in diesem Beispiel ein Geldnachladen mit einer bestimmten Summe durchgeführt werden. Der Automat erfragt hierfür von der Chipkarte, welche Anwendung durchgeführt werden soll, und die Chipkarte antwortet hierauf: "Geld nachladen". Weiterhin erfragt der Automat die Summe, die nachgeladen werden soll und erhält als Antwort von der Chipkarte den gewünschten Betrag genannt. An dieser Stelle wird von dem Anwendungsprogramm auf der Chipkarte ein Befehl ausgegeben, einen entsprechenden Bereich in dem EEPROM mit der gewünschten Bargeldsumme neu zu beschreiben.
An diesem Beispiel wird deutlich, daß das Anwendungsprogramm nach seinem Aufruf die "Gewalt" über die Chipkarte, also auch über die auf der Chipkarte gespeicherten Daten, übernimmt. Bislang wird auf jeder Chipkarte jeweils nur eine Anwendung implementiert. Sollen jedoch mehrere Anwendungsprogramme auf einer Chipkarte geladen werden, muß für solche Anwendungen, die sensitive Daten beinhalten, ein Schutz gewährleistet werden, damit weder diese sensitive Daten, noch eventuell das gesamte Anwendungsprogramm, ausgelesen werden kann. Die Problematik bei der Verwendung von Chipkarten mit mehreren Anwendungsprogrammen (den sogenannten Multifunktions- oder multifunktionalen Chipkarten) ist, daß dem Betreiber einer Anwendung (z. B. eine Bank) ein Zugang zu dem Anwendungsprogramm eingeräumt werden muß. Hat er jedoch über das Anwendungsprogramm erst einmal Zugang zu der Chipkarte erhalten, und wird ihm somit mittels des Anwendungsprogrammes die Verfügungsgewalt über die Chipkarte erlaubt, kann er sich auf der Chipkarte "<frei bewegen". Er kann, wenn er die Absicht dazu hat, sein Anwendungsprogramm so schreiben, daß das Programm neben der gedachten Funktion auch andere Aktivitäten ausüben kann, ohne daß der Eigentümer oder Benutzer der Chipkarte es merkt, bzw. merken kann. Dabei kann der Betreiber des Anwendungsprogrammes auch Geheimnisse von anderen Anwendungsprogrammen heraus bekommen, wie z. B. Geheimschlüssel oder Art und Umfang der Aktivitäten der anderen Anwendungsprogramme. Umgekehrt kann ein anderer Betreiber eines anderen Anwendungsprogrammes oder einer, der sich als solcher ausgibt, in die Geheimnisse anderer Anwendungen hineinschauen und seine Anwendung entsprechend modifizieren, z. B. durch die Kenntnis der Funktionsweise einer Bargeldanwendung Geld mißbräuchlich auf die Karte zu laden.
Aus dem IBM Technical Disclosure Bulletin, Vol. 32, Nr. 5a, Oktober 1989, S. 416-417, im folgenden TDB-Dokument genannt - ist ein Speicherschutz für Chipkarten bekannt. Der Speicher der Chipkarte ist hierfür unterteilt in einen geschützten und einen ungeschützten Bereich, wobei sich in dem geschützten Bereich das Betriebssystem und spezielle Schlüssel befinden, während in dem ungeschützten Bereich eine Reihe von Anwendungsprogrammen abgelegt werden können. Der Speicher wird überwacht von einer Adreß-Dekodiereinheit. Die Adreß-Dekodiereinheit gibt ein "Wahr"-Signal aus, wenn die Adresse auf dem Adreßbus sich innerhalb des überwachten Bereiches befindet. Wenn das Anwendungsprogramm versucht, den Zugang zu dem geschützten Speicherbereich zu erlangen, erkennt dies die Adreß- Dekodiereinheit und gibt ein nicht-maskierbares Unterbrechungssignal an den Mikroprozessor. Der Mikroprozessor löscht daraufhin unmittelbar die in dem Register geladenen Daten. Auf den geschützten Bereich des Speichers kann damit nur das Betriebssystem selbst zugreifen. Anwendungsprogramme haben damit keinen Zugriff auf die in dem geschützten Speicherbereich abgelegten Schlüssel und das Betriebssystem. Problematisch an dieser Lösung ist jedoch, daß lediglich das Betriebssystem bzw. spezielle zu schützende Daten ,wie Schlüssel, gegen unerlaubte Zugriffe der Anwendungsprogramme auf der Chipkarte geschützt werden können. Untereinander können die Anwendungsprogramme jedoch völlig ungestört aufeinander zugreifen, so daß keinerlei gegenseitiger Schutz besteht.
Zusammenfassung der Erfindung
Es ist Aufgabe der Erfindung die Integration mehrerer Anwendungsprogramme auf einer Chipkarte zu ermöglichen, ohne daß die auf der Chipkarte gespeicherten Anwendungsprogramme Zugriff aufeinander haben. Die Aufgabe der Erfindung wird durch die unabhängigen Ansprüche gelöst.
Erfindungsgemäß erfolgt eine Integration mehrerer Anwendungsprogramme auf einer Chip-Karte durch eine Trennung und Entkopplung der einzelnen Programme untereinander.
In einer ersten Ausführungsform erfolgt eine Integration von mehreren zueinander unabhängigen Einheiten bestehend jeweils aus einer Prozessor-Einheit und einer Speichereinheit. Jede dieser unabhängigen Einheiten entspricht im wesentlichen in Aufbau und Funktion dem Chip einer herkömmlichen Chipkarte mit dem entsprechenden Sicherheits- und Verschlüsselungssystem. Eine Kommunikation dieser unabhängigen Einheiten mit der Außenwelt und eventuell auch untereinander auf der Chipkarte erfolgt über eine Steuereinheit, die die einzelnen unabhängigen Einheiten "verwaltet". Eine Kommunikation der unabhängigen Einheiten untereinander kann nur über die jeweiligen Prozessor-Einheiten erfolgen, so daß auf die angeschlossenen Speichereinheiten nicht unter Umgehung der entsprechenden Prozessor-Einheit zugegriffen werden kann.
Die Integration mehrerer unabhängiger Einheiten auf der Chipkarte entsprechend der ersten Ausführungsform erlaubt ein einfaches und sicheres Nebeneinander von mehreren Anwendungen, ohne daß diese sich gegenseitig beeinflussen können oder einen unberechtigten Zugriff aufeinander durchführen können. Eine Chipkarte mit beispielsweise vier unabhängigen Einheiten läßt so mindestens vier unabhängige Anwendungen mit ein und derselben physischen Chipkarte bei Gewährleistung höchstmöglicher Sicherheit zu.
Da die Prozessoren für jede der unabhängigen Einheiten gleich ausgeprägt sein können, und auch im allgemeinen keine Informationen oder Geheimnisse enthalten und lediglich die entsprechenden Speicherbereiche für jede Anwendung unterschiedlich sind und eventuell Geheiminformationen enthalten, wäre eine Integration der Prozessoren der unabhängigen Einheiten wünschenswert. Auch würde eine Integration der Prozessoren zu einem einzigen Prozessor auf der Chipkarte eine deutliche Reduzierung der Kosten und des Platzbedarfes auf den Chips bedeuten, da der Prozessorteil im allgemeinen mehr Fläche auf dem Chip als der Speicherteil benötigt. Jedoch führt eine solche Integration wieder in die gleiche Problematik wie eingangs geschildert, daß eine Einflußmöglichkeit und ein unberechtigter Zugriff der Anwendungen untereinander sichergestellt werden muß.
Erfindungsgemäß erfolgt die Trennung unterschiedlicher Anwendungen auf einer Chipkarte mit einem Prozessor durch die Einfügung einer, vorzugsweise hardware-gestützten, Separation der Anwendungsteile im Speicherbereich der Chipkarte. Die Separation bewirkt, daß jede Anwendung nur auf einen festlegbaren Bereich innerhalb des Speichers zugreifen kann, und daß Zugriffe außerhalb des vorgegebenen Speicherbereiches für diese Anwendung unterbunden werden. Vorzugsweise wird der vorgebbare Zugriffsbereich einer Anwendung auf den für die Speicherung dieser Anwendung benötigten Speicherbereich, ergänzt durch einen eventuellen Pufferspeicherbereich, festgelegt. Weiterhin kann der Zugriff auf Bereiche des Speichers ermöglicht werden, die allgemein zugängliche Daten oder Betriebssystemdaten enthalten, z. B. damit allgemeine Funktionen vom Betriebssystem der Chipkarte verwendet werden dürfen.
Bei einem Zugriff einer Anwendung auf einen Speicherbereich außerhalb des für die Anwendung zulässigen Speicherbereiches, erfolgt, vorzugsweise ein nicht maskierbares (non-maskable interrupt), Unterbrechungssignal, das dann z. B. zu einer Sperrung der Chipkarte oder zu einem Rücksetzen der Anwendung, d. h. die Anwendung steht erneut vor dem ersten Schritt im "handshaking" mit der Sendung der Zufallszahl, führen kann. In einem anderen Prozeß kann ein Speicherbereich (z. B. in dem EPROM) vorgesehen werden, worin vermerkt wird, welche Anwendung versucht hatte auf Adressen außerhalb des für sie vorgesehenen Bereiches zuzugreifen. Dieser Bereich kann dann abgefragt werden, so daß eine Sicherheitsprüfung der Anwendungen ermöglicht wird. Anstelle der nicht maskierbaren Unterbrechung kann auch der Speicherbereich außerhalb des für die Anwendung vorgesehenen Bereiches gesperrt werden, so daß ein Zugriff hierauf nicht erfolgreich ist und z. B. nur eine Nullen- oder Einsen-Kette zurückliefert.
Vorzugsweise erfolgt die Separation der Anwendungen mit Hilfe einer erfindungsgemäßen Anwendungstabelle. Die Anwendungstabelle speichert den Anfang und das Ende des Speicherbereiches, in dem eine jeweilige Anwendung gespeichert ist bzw. abläuft oder ablaufen darf - also Zugriff haben darf. Jede Anwendung bekommt den entsprechenden Speicherbereich, vorzugsweise fest, zugeteilt, z. B. beim Programmieren der Anwendung. Die Anwendungstabelle weist Informationen über eine Anfangsadresse und eine Endadresse einer jeweiligen Anwendung auf. Bei einem Aufruf einer jeweiligen Anwendung wird aus der Anwendungstabelle die Anfangs- und die Endadresse der Anwendung in dafür vorgesehene Anfangs- und Endregister geladen. Mit Hilfe eines Adreßvergleiches wird ständig überwacht, ob die Anwendung den vorgegebenen Speicherbereich verlassen hat oder nicht. Verläßt die Anwendung den für sie durch die Anfangs- und die Endadresse zugeordneten Bereich, z. B. indem sie als nächste Adresse eine Adresse außerhalb dieses Bereiches auf einen Adreßbus stellt, wird vorzugsweise ein nicht-maskierbares Unterbrechungssignal ausgelöst, das das laufende Programm der Anwendung und dessen Ausführung unterbricht. Unter einem nicht-maskierbaren Unterbrechungssignal versteht man ein von dem Anwendungsprogramm nicht abschalt- oder unterdrückbares Signal. Somit wird sichergestellt, daß das Anwendungsprogramm in einer geschlossenen Umgebung arbeitet, ähnlich der Umgebung auf einer Chipkarte mit nur einer Anwendung.
Im Gegensatz zu dem o.g. TDB-Dokument können in die Anwendungstabelle mehrere Speicherbereiche dynamisch eingetragen und somit vor einem unberechtigten Zugriff geschützt werden. Entsprechend dem genannten TDB-Dokument muß der zu schützende Bereich jedoch fest vorgegeben werden und der restliche Speicherbereich, der in sich nicht weiter geschützt werden kann, bleibt frei zugänglich, so daß Anwendungen in diesem Bereich nicht voneinander getrennt werden und somit Zugriff aufeinander haben können. Entsprechend der Lehre der Erfindung lassen sich im Gegensatz dazu mehrere Speicherbereiche definieren, die dynamisch aktiviert werden können, so daß ein aktivierter Bereich frei zugänglich ist, die nicht aktivierten Bereiche jedoch geschützt bleiben.
Die Anfangs- und Endregister werden beim Laden einer jeweiligen Anwendung mit der entsprechenden Anfangs- und Endadresse des zu aktivierenden Speicherbereiches geladen. Der Speicherbereich, in dem die Anwendung ablaufen kann, wird so dynamisch festgelegt.
Es ist zu verstehen, daß die Anfangs- und Endadressen der jeweiligen Speicherbereiche in der Anwendungstabelle so eingeschrieben werden sollten, daß eine Umdefinition dieser Adressen durch die, oder eine andere, Anwendung nicht möglich ist. Das Festlegen der Adressen in der Anwendungstabelle erfolgt deshalb vorzugsweise durch eine feste Programmierung im Betriebssystem, die zur Ladezeit der Anwendung die Adressen aus dem Inhalt der belegten Anwendungstabelle festlegt. Dieser Vorgang kann automatisch und anwendungsunabhängig durchgeführt werden. Aus den belegten Adressen kann die neue Anfangs-Adresse berechnet werden. Die End-Adresse resultiert dann aus der Größe der Anwendung. Dieser Vorgang ist transparent für alle Anwendungen und fest gesichert im Betriebssystem und gibt somit keine Angriffspunkte für eine mögliche Manipulation.
Zur Separation der Anwendungen im Speicher der Chipkarte lassen sich anstelle der Anwendungstabelle auch weitere hardware­ gestützte Mittel verwenden, die vorzugsweise dynamisch mit einer jeweiligen Anwendung geladen werden und die Speicherbereiche der Anwendungen voneinander dynamisch abtrennen. Als solche Mittel können beispielsweise Registerbits, die den ausgewählten Anwendungsbereich kennzeichnen und aktivieren, dienen. Auch können mehrere getrennte Speicherbereiche über einen Selektorbaustein an den Prozessor angeschlossen werden. Die Steuerung des Selektors erfolgt vorzugsweise durch Setzen von Codierbits. Die Verwaltung und Speicherung der Zuordnung der Codierbits bzw. Registerbits zu einzelnen Anwendungen muß über ein extra ausgewiesenes Speichermedium erfolgen, ähnlich wie bei der Anwendungstabelle. Dies muß transparent für alle Anwendungen erfolgen.
In einer weiteren Ausführungsform der Erfindung erfolgt eine Separation der Anwendungen mit Hilfe eines Multiplexers, bzw. anderer elektronischer Schaltungen, die geeignet sind, aus einer bestimmten Anzahl anliegender Eingangssignale jeweils ein ausgewähltes an den Ausgang zu schalten. Ein Prozessor einer Chipkarte ist hier mit einem solchen Multiplexer verbunden, der wiederum mit einer Vielzahl von Speicherbereichen verbunden ist und dynamisch über den Multiplexer selektierbar sind. Die in den Speicherbereichen jeweils abgelegten Anwendungsprogramme können den gleichen Adreßraum belegen, d. h. alle Anwendungsprogramme können mit der gleichen Adresse beginnen. Dies erleichtert die Compilierung der Anwendungsprogramme. Die Verwaltung der Anwendungsbereiche wird einfacher, sie kommt der Programmierung der Anwendungen auf getrennten Chipkarten näher. Der Multiplexer weist vorzugsweise ein Register auf, das dynamisch geladen werden kann und einen entsprechenden Bereich der Vielzahl von Speicherbereichen dem Prozessor entweder zugänglich macht oder sperrt. Diese Ausführungsform entspricht dem Abbild von mehreren Chips auf einer einzigen Chipkarte, wobei der Prozessor mehrfach genutzt wird. Das Schalten zwischen den Speicherbereichen mittels dem Multiplexer entspricht dem elektronischen Herausziehen und Ersetzen einer jeweiligen Chipkarte bzw. Speicherkarte.
Die Erfindung ermöglicht somit eine sichere und einfache Implementierung von mehreren Anwendungsprogrammen in einer Chipkarte, ohne daß die implementierten Anwendungsprogramme aufeinander Zugriff haben oder sich gegenseitig beeinflussen können.
Es ist zu verstehen, daß bestimmte Ausnahmen für einen Zugriff auf den Speicher oder auf bestimmte Speicherbereiche allgemein zugelassen werden können, z. B. damit allgemeine Funktionen vom Betriebssystem verwendet werden dürfen oder um Daten, die nicht geschützt werden müssen zu lesen.
Die Erfindung findet insbesondere Anwendung für multifunktionale Chipkarten, bzw. ermöglicht erst deren sichere Einsetzbarkeit entsprechend der vorgeschriebenen Sicherheitsbedingungen.
Weitere, vorteilhafte Ausführungen der Erfindung finden sich in den Unteransprüchen.
Beschreibung der Zeichnungen
Zur näheren Erläuterung der Erfindung sind im folgenden Ausführungsbeispiele mit Bezugnahme auf die Zeichnungen beschrieben. Funktionsgleiche Elemente sollen gleiche Bezugszeichen tragen.
Fig. 1 zeigt eine erste erfindungsgemäße Ausführungsform einer Chipkarte zur Aufnahme einer Vielzahl von Anwendungen,
Fig. 2 zeigt die Architektur einer weiteren Ausführungsform der Erfindung mit nur einem (gemeinsamen) Speicher und einem (gemeinsamen) Prozessor,
Fig. 3 zeigt ein erfindungsgemäß Anordnung mit Registerbits, dargestellt für den Speicher gemäß Fig. 2,
Fig. 4 zeigt eine erfindungsgemäß Anordnung gemäß Fig. 3, wobei als erweiterten Schutz anstelle einer Ein-Bit- Anforderung eine Kombination von mehreren Bits als Anforderungskombination implementiert ist,
Fig. 5 zeigt eine weitere erfindungsgemäße Anordnung zur Trennung unterschiedlicher Anwendungsprogramme, worin ein Prozessor einer Chipkarte mit einem Multiplexer verbunden ist, der wiederum mit einer Vielzahl von Speicherbereichen gekoppelt ist.
Detaillierte Beschreibung der Erfindung
Fig. 1 zeigt eine erste erfindungsgemäße Ausführungsform einer Chipkarte 10 zur Aufnahme einer Vielzahl von Anwendungen. Die Chipkarte 10 weist ein Kontaktfeld 20 auf, das den physischen Kontakt zur Außenwelt darstellt. An das Kontaktfeld 20 schließt sich eine Steuereinheit 30 an, die wiederum mit einer Reihe von unabhängigen Einheiten 40 verbunden ist. Jede einzelne der unabhängigen Einheiten 40 besteht aus einem separaten Mikroprozessor 50 und einer separaten Speichereinheit 60. Jede einzelne der unabhängigen Einheiten 40 stellt eine abgeschlossene Funktionseinheit dar. Die jeweilige Speichereinheit 60 einer der unabhängigen Einheiten 40 ist nur über den entsprechenden, dazugehörigen Mikroprozessor 50 zugänglich und kann mittels entsprechender, im Stand der Technik bekannten, Sicherheitsverfahren geschützt werden. Ein unberechtigter Zugriff einer der unabhängigen Einheiten 40 auf eine andere der unabhängigen Einheiten 40, sowie eine entsprechende Beeinflussung untereinander kann demnach, mittels der für Chipkarten bekannten Sicherheitsvorkehrungen, unterbunden werden. In anderen Worten entspricht jede der unabhängigen Einheiten 40 funktionell einer eigenen Chipkarte. Jede der unabhängigen Einheiten 40 kann weiterhin mindestens ein Anwendungsprogramm in seinem Speicher 60 aufnehmen, wobei vorzugsweise jede der unabhängigen Einheiten 40 jeweils nur ein Anwendungsprogramm aufweist.
Die Steuerungseinheit 30 ist vorzugsweise als ein elektronischer Schalter implementiert, der von dem Automaten, mit dem die Chipkarte kommuniziert, gesteuert wird. Dieser Schalter hat die Aufgabe die Datenkontakte an die ausgewählte Anwendung in der entsprechenden unabhängigen Einheit umzulenken. Dieser Vorgang entspricht in etwa dem Auswahlvorgang aus mehreren Chipkarten und muß i.a. nicht gesondert geschützt werden.
Fig. 2 zeigt die Architektur einer weiteren Ausführungsform der Erfindung. Im Gegensatz zu der Ausführungsform in Fig. 1 weist diese Ausführungsform nur einen (gemeinsamen) Speicher 100 auf, der mit einem (gemeinsamen) Prozessorbereich 110 über einen Datenbus 120 und einen Adreßbus 130 verbunden ist. Der in Fig. 2 exemplarisch dargestellte Prozessor 110 weist, neben einer Reihe hier nicht dargestellter Funktionseinheiten, ein über den Datenbus 120 mit dem Speicher 100 verbundenes Betriebssystemcode-Register 140, das wiederum mit einer Betriebssystem-Dekodierlogik 150 verbunden ist, auf. Der Prozessor 110 enthält weiterhin eine Unterbrechungslogik 160, eine mit dem Datenbus 120 und dem Adreßbus 130 gekoppelte Nächster-Schritt-Logik 170 und einen Programmzähler 180, der sowohl mit der Nächster-Schritt-Logik 170 und dem Adreßbus 130 gekoppelt ist, auf. Weitere funktionale Einheiten des Prozessors 110 seien der Einfachheit halber hier nicht gezeigt und erwähnt.
Weiterhin mit dem Adreßbus 130 und dem Datenbus 120 verbunden, ist ein Anfangsregister 200, ein Endregister 210 und ein Adreßvergleicher 220. Das Anfangsregister 200 und das Endregister 210 sind weiter mit einer Anwendungstabelle 230 gekoppelt. Der Adreßvergleicher 220 ist mit einer Unterbrechungsdekodier-Logik 240 verbunden, die wiederum sowohl an das Betriebssystemcode-Register 140, die Betriebssystem- Dekodierlogik 150 und die Unterbrechungslogik 160 angekoppelt ist.
In dem Speicher 100 seien eine Reihe von Anwendungsprogrammen 300, 310, 320 und 330 gespeichert. Jedes der Anwendungsprogramme 300 bis 330 weist dabei eine Anfangsadresse A und eine Endadresse E, wie für das Anwendungsprogramm 320 exemplarisch gezeigt, auf. In der Anwendungstabelle 230 sind diese Anfangs- und Endadressen der in dem Speicher 100 gespeicherten Anwendungsprogramme 300 bis 330 mit einer Referenz zu dem jeweiligen Anwendungsprogramm abgelegt. Wird beispielsweise das Anwendungsprogramm 320 aufgerufen, so wird die Anfangsadresse A des Anwendungsprogrammes 320 aus der Anwendungstabelle 230 in das Anfangsregister 200 und entsprechend, die Endadresse E des Anwendungsprogrammes 320 aus der Anwendungstabelle 230 in das Endregister 210, geladen.
Während der Bearbeitung des Anwendungsprogrammes 320 vergleicht der Adreßvergleicher 220 die auf dem Adreßbus 130 für den Speicher 100 angelegten Adressen mit den in dem Anfangsregister 200 und dem Endregister 210 abgelegten Adressen. Erkennt der Adreßvergleicher 220 eine für den Speicher 100 auf dem Adreßbus 130 angelegte Adresse, die sich außerhalb des, durch die in dem Anfangsregister 200 abgelegte Anfangsadresse A und die in dem Endregister 210 abgelegte Endadresse E beschriebenen, Adreßbereiches, so initiiert der Adreßvergleicher 220 ein Signal an die Unterbrechungsdekodier-Logik 240, das wiederum auf die Unterbrechungslogik 160 wirkt. Dabei ist zu verstehen, daß sowohl das auf die Unterbrechungsdekodier-Logik 240 als auch daß auf die Unterbrechungslogik 160 wirkende Signal ein nicht maskierbares Unterbrechungssignal darstellt, das nicht, z. B. durch die Anwendung 320, unterdrückt werden kann.
Vorzugsweise werden die in der Anwendungstabelle 230 abgelegten Anfangs- und Endadressen der Anwendungsprogramme 300 bis 330 beim Laden der Anwendungsprogramme auf die Chipkarte in die Anwendungstabelle 230 fest eingespeichert und können nicht mehr, z. B. durch eines der Anwendungsprogramme 300 bis 330, verändert werden. Dies geschieht vorzugsweise durch ein Einbrennen der Adressen in einen Speicherbereich der Anwendungstabelle 230. Das Einbrennen der Adressen ist ein fest programmierter Vorgang, der nicht zugänglich ist und der immer die neuen Adressen als Ergebnis der Berechnungen aus der belegten Adressen schreibt. Damit wird gewährleistet, daß keine Überlappungen der Speicherbereiche möglich sind. Dieser Prozeß ist vorzugsweise fest in das Betriebssystem kodiert und kann nur initiiert werden. Er ist völlig transparent und nicht manipulierbar.
Durch die Anwendungstabelle 230 im Zusammenhang mit dem Anfangsregister 200, dem Endregister 210 und dem Adreßvergleicher 220 wird eine sichere Trennung der Anwendungsprogramme 300 bis 330 untereinander in dem Speicher 100 gewährleistet. Die Anwendungstabelle 230 ist vorzugsweise als ein Extraspeicher, z. B. in einem EEPROM oder einem OT-PROM der Chipkarte, aufgebaut, und hat einen eigenen, geschützten Zugriffsmechanismus.
Anstelle des Adreßvergleichers 220, der die auf dem Adreßbus 130 anliegenden Adressen ständig überwacht, kann auch ein Dekoder verwendet werden, der den, durch die Anfangs- und Endregister zugelassenen, Adreßbereich dekodiert und zuläßt. Adressen außerhalb des Bereiches werden ignoriert, die Wirkung ist z. B. als ob "ins Leere gegriffen" wird.
Das Anfangsregister 200 und das Endregister 210 werden bei Aufruf einer der Anwendungsprogramme 300 bis 330 aus dem Speicher 100 mit den dazugehörigen Anfangs- und Endadressen aus der Anwendungstabelle 230 geladen und stellen so einen dynamischen Speicherschutz dar.
Eine Trennung der in dem Speicher 100 geladenen Anwendungsprogramme 300 bis 330 kann weiterhin auch mit Hilfe von Extra-Hardwarekomponenten, z. B. in Form von Registerbits, die dynamisch mit jedem der gespeicherten Anwendungsprogramme geladen werden, erreicht werden. Diese Extra-Registerbits können z. B. den ausgewählten Speicherbereich in dem Speicher 100 kennzeichnen und aktivieren. Dazu wird der gesamte Speicherbereich des Speichers 100, oder entsprechend auch nur Teile davon, in Blöcke aufgeteilt, die jeweils einen separaten "Enable"- oder Anforderungs-Eingang haben. Anstatt ein Aktivieren bzw. Deaktivieren von Speicherbereichen mittels der Anwendungstabelle 230 in Fig. 2, werden die entsprechenden Bereiche in dem Speiche 100 mit den Registerbits entweder aktiviert oder deaktiviert. Das Setzen der Registerbits erfolgt vorzugsweise über einen automatischen Mechanismus, der bei der Auswahl der Anwendung die entsprechenden Bits setzt. Die Zuordnung der Anwendung zu den Registerbits wird in einem speziell geschützten Speicherbereich, entsprechend dem zur Anwendungstabelle gesagten, implementiert und organisiert. Wird ein Registerbit gesetzt, kann aus dem entsprechenden Bereich in dem Speicher 100 nicht gelesen werden.
Fig. 3 zeigt eine derartige Anordnung mit Registerbits, dargestellt für den Speicher 100 gemäß Fig. 2. Der Speicher 100 ist hier entsprechend der Anwendungsprogramme 300 bis 330 in einzelne Speicherbereiche aufgeteilt. Jeder der einzelnen Speicherbereiche kann nun mittels einer Vielzahl von Anforderungsregistern 350 aktiviert bzw. deaktiviert werden. In dem in Fig. 3 gezeigten Beispiel sei nur der Speicherbereich für das Anwendungsprogramm 320 durch das Setzen eines entsprechenden Registerbits in einem diesem Speicherbereich zugeordneten Anforderungsregister 360 aktiviert.
Bei dem Beispiel in Fig. 3 ist zu verstehen, daß die Anforderungsregister 350 jeweils ein gesamtes der Anwendungsprogramme 300 bis 330, oder auch nur Teilbereiche davon, aktivieren bzw. deaktivieren kann. Eine entsprechende Feineinteilung der Speicherbereiche des Speichers 100 kann je nach Anwendung erforderlich sein, z. B. kann eine Anwendung mehrere Bits in Anspruch nehmen. Die Anzahl der Bits gibt die Größe der Anwendung an.
Die Trennung der Anwendungprogramme in dem Speicher gemäß Fig. 3 ist einfach zu implementieren, kann jedoch auch durch gewollte oder ungewollte Spannungseinwirkungen, z. B. durch kurze Spannungsstörungen, verändert werden, so daß die Registerbits in den Anforderungsregistern 350 ungewollt "kippen" können. Anstelle von einzelnen Registerbits können deshalb Bitketten für die Aktivierung bzw. Deaktivierung der Anforderungsregister 350 verwendet werden.
Als erweiterten Schutz kann anstelle einer Ein-Bit-Anforderung eine Kombination von mehreren Bits als Anforderungskombination implementiert werden. Fig. 4 zeigt eine derartige Anordnung. Eine Anforderungskombination 400 in Fig. 4 ist über eine Dekodierlogik 410 mit dem Speicher 100 verbunden. Durch eine Kombination aus Nullen und Einsen kann das Problem vermieden werden, daß die einzelnen Bits bei Spannungsstörungen nicht alle auf Null bzw. auf Eins kippen. Die zu einer ausgewählten Anwendung gehörenden Bitketten werden beim Laden der Anwendung mit einem vordefinierten Muster geladen, das vorzugsweise aus einer Kombination von Einsen und Nullen besteht. Erst das Dekodieren des richtigen Musters erlaubt den Zugriff. Ein solches Muster läßt sich nur sehr unwahrscheinlich zufällig generieren.
Fig. 5 zeigt eine weitere erfindungsgemäße Anordnung zur Trennung unterschiedlicher Anwendungsprogramme. Ein Prozessor 500 einer Chipkarte ist hier mit einem Multiplexer 510 verbunden, der wiederum mit einer Vielzahl von Speicherbereichen 520, 530, 540 und 550 gekoppelt ist. Die einzelnen Speicherbereiche 520 bis 550 werden bei dieser Ausführungsform dynamisch über den Multiplexer 510 selektiert. Die in den Speicherbereichen 520 bis 550 jeweils abgelegten Anwendungsprogramme können den gleichen Adreßraum belegen, d. h. alle Anwendungsprogramme können mit der gleichen Adresse beginnen. Der Multiplexer 510 weist vorzugsweise ein Register 560 auf, das dynamisch geladen werden kann und einen entsprechenden Bereich der Vielzahl von Speicherbereichen 520 bis 550 dem Prozessor 500 entweder zugänglich macht oder sperrt. Das Schalten zwischen den Speicherbereichen 520 bis 550 mittels dem Multiplexer 510 entspricht dem elektronischen Herausziehen und Ersetzen einer jeweiligen Chipkarte.

Claims (27)

1. Datenträgerkarte (10) zur Integration mehrerer Anwendungsprogramme mit
einer Vielzahl zueinander unabhängiger Einheiten (40) die zumindest jeweils eine Prozessoreinheit (50) und eine Speichereinheit (60) aufweisen; und
einer Steuerungseinheit (30) zur Steuerung der einzelnen unabhängigen Einheiten (40);
wobei eine Kommunikation der unabhängigen Einheiten (40) untereinander nur über die jeweiligen Prozessoreinheiten (50) durchführbar ist, so daß auf die angeschlossenen Speichereinheiten (60) nicht unter Umgehung der entsprechenden Prozessoreinheit (50) zugegriffen werden kann (Fig. 1).
2. Datenträgerkarte nach Anspruch 1, dadurch gekennzeichnet, daß jede einzelne der unabhängigen Einheiten (40) eine abgeschlossene Funktionseinheit darstellt, so daß die jeweilige Speichereinheit (60) einer der unabhängigen Einheiten (40) nur über die entsprechende, dazugehörige Prozessoreinheit (50) zugänglich ist, die mittels entsprechender Sicherheitsverfahren schützbar ist, wodurch ein unberechtigter Zugriff einer der unabhängigen Einheiten (40) auf eine andere der unabhängigen Einheiten (40), sowie eine entsprechende Beeinflussung untereinander, unterbindbar ist.
3. Datenträgerkarte nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jede der unabhängigen Einheiten (40) funktionell einer eigenen Datenträgerkarte entspricht.
4. Datenträgerkarte nach Anspruch 1-3, dadurch gekennzeichnet, daß jede der unabhängigen Einheiten (40) maximal ein Anwendungsprogramm aufweist.
5. Datenträgerkarte nach Anspruch 1-4, dadurch gekennzeichnet, daß die Steuerungseinheit (30) ein elektronischer Schalter (30) ist, der von einer Einheit, mit der die Datenträgerkarte (10) kommuniziert, gesteuert wird, wobei der Schalter (30) die Datenkontakte an die ausgewählte Anwendung in der entsprechenden unabhängigen Einheit (40) zuweist.
6. Datenträgerkarte mit einem Speicher (100), zur Aufnahme von mindestens einer Anwendung (300-330), und einem Prozessor (110), gekennzeichnet durch ein Mittel zur Separation der mindestens einen Anwendung (300-330) in dem Speicher (100), so daß jede Anwendung nur auf einen festlegbaren Speicherbereich innerhalb des Speichers (100) zugreifen kann, und daß Zugriffe der jeweiligen Anwendung außerhalb des für die jeweilige Anwendung vorgegebenen Speicherbereiches in dem Speicher (100) unterbunden werden.
7. Datenträgerkarte nach Anspruch 6, dadurch gekennzeichnet, daß das Mittel zur Separation
eine Anwendunstabelle (230), die Informationen über eine Anfangsadresse (A) und eine Endadresse (E) des Speicherbereiches, in dem eine jeweilige Anwendung (320) Zugriff haben darf, gespeichert hat; und
ein Adreßüberwachungsmittel (220) aufweist, das die auf einem Adreßbus (130) angelegten Adressen daraufhin überwacht, ob sich diese angelegten Adressen innerhalb eines, durch die Anfangsadresse (A) und die Endadresse (E) der jeweiligen Anwendung definierten, Speicherbereiches (A bis E) der Anwendung (320) in dem Speicher (100) befindet, und eine entsprechende Maßnahme einleitet, wenn sich eine der auf dem Adreßbus (130) angelegten Adressen nicht innerhalb des Speicherbereiches (A bis E) der Anwendung (320) in dem Speicher (100) befindet.
8. Datenträgerkarte nach Anspruch 7, dadurch gekennzeichnet, daß das Adreßüberwachungsmittel (220) einen Adreß- Dekodierer aufweist, der den Bereich dekodiert und zuläßt, wobei Adressen außerhalb des Adreßbereiches ignoriert werden.
9. Datenträgerkarte nach Anspruch 7, dadurch gekennzeichnet, daß das Adreßüberwachungsmittel (220)
ein Anfangsregister (200) zur Aufnahme der Anfangsadresse (A) des Speicherbereiches in dem die jeweilige Anwendung (230) Zugriff haben darf;
ein Endregister (200) zur Aufnahme der Endadresse (E) des Speicherbereiches in dem die jeweilige Anwendung (230) Zugriff haben darf;
einen Adreßvergleicher (220), der die auf dem Adreßbus (130) angelegten Adressen mit den in dem Anfangsregister (200) und dem Endregister (210) abgelegten Adressen (A und E) vergleicht, und
ein Überwachungsmittel (240), das signalisiert, wenn eine der angelegten dessen sich nicht innerhalb des, durch die in dem Anfangsregister (200) und dem Endregister (210) abgelegten Adressen (A und E) definierten Adreßbereiches (A bis E) der Anwendung (320) in dem Speicher (100) befindet, aufweist (Fig. 2).
10. Datenträgerkarte nach Anspruch 6, dadurch gekennzeichnet, daß das Mittel zur Separation eine Vielzahl von Registermitteln (350) aufweist, die einen ausgewählten Speicherbereich in dem Speicher (100) kennzeichnen und den Speicherbereich aktivieren oder deaktivieren können (Fig. 3).
11. Datenträgerkarte nach Anspruch 10, dadurch gekennzeichnet, daß mindestens eines der Vielzahl von Registermitteln (350) ein Anforderungskombinationsmittel (400) und eine Dekodierlogik (410) aufweist (Fig. 4).
12. Datenträgerkarte nach Anspruch 6, dadurch gekennzeichnet, daß das Mittel zur Separation einen Multiplexer (510) aufweist, der mit einer Vielzahl von Speicherbereichen (520, 530, 540, 550) verbunden ist, wobei die einzelnen Speicherbereiche (520, 530, 540, 550) dynamisch über den Multiplexer (510) selektierbar sind (Fig. 5).
13. Datenträgerkarte nach Anspruch 12, dadurch gekennzeichnet, daß in den Speicherbereichen (520, 530, 540, 550) jeweils abgelegte Anwendungsprogramme den gleichen Adreßraum belegen, so daß diese Anwendungsprogramme mit der jeweils gleichen Anfangsadresse beginnen.
14. Datenträgerkarte nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß der Multiplexer (510) ein Register (560) aufweist, das dynamisch geladen werden kann und einen entsprechenden Bereich der Vielzahl von Speicherbereichen (520-550) dem Prozessor (500) entweder zugänglich macht oder sperrt.
15. Verfahren zur Überwachung des Zugriffes einer Anwendung (320) gespeichert in einem Speicher (100) in einer Datenträgerkarte, mit
einem Vergleichen der auf einem Adreßbus (130) der Datenträgerkarte angelegten Adressen mit einem vorgegebenen Adreßbereich (A bis E) der Anwendung (320) in dem Speicher (100); und
einem Signalisieren, wenn eine der angelegten Adressen mit dem vorgegebenen Adreßbereich (A bis E) der Anwendung (320) in dem Speicher (100) nicht übereinstimmt.
16. Verfahren nach Anspruch 15, wobei ein nicht-maskierbares Unterbrechungssignal ausgelöst wird, wenn eine der angelegten Adressen mit dem vorgegebenen Adreßbereich (A bis E) der Anwendung (320) in dem Speicher (100) nicht übereinstimmt.
17. Verfahren nach Anspruch 16, wobei ein laufendes Programm der Anwendung und dessen Ausführung unterbrochen wird und/oder die Datenträgerkarte gesperrt wird und/oder die Anwendung rückgesetzt wird.
18. Verfahren nach Anspruch 15-17, wobei vermerkt wird, welche Anwendung versucht hatte auf Adressen außerhalb des für sie vorgesehenen Bereiches zuzugreifen.
19. Verfahren nach Anspruch 15, wobei der Speicherbereich außerhalb des für die Anwendung vorgesehenen Bereiches gesperrt wird, so daß ein Zugriff hierauf nicht erfolgreich ist, wenn eine der angelegten Adressen mit dem vorgegebenen Adreßbereich (A bis E) der Anwendung (320) in dem Speicher (100) nicht übereinstimmt.
20. Verfahren nach Anspruch 19, wobei der Zugriff auf den gesperrten Bereich eine Nullen- oder Einsen-Kette liefert, die keinen Bezug zu dem tatsächlichen Inhalt dieses Bereiches aufweist.
21. Verfahren nach Anspruch 15-20, wobei bei Aufruf der Anwendung (320)
  • - eine Anfangsadresse (A) der Anwendung (320) in ein Anfangsregister (200) und eine Endadresse (E) der Anwendung (320) in ein Endregister (210) geladen wird,
  • - während der Bearbeitung der Anwendung (320) ein Adreßvergleicher (220) die auf dem Adreßbus (130) für den Speicher (100) angelegten Adressen mit den in dem Anfangsregister (200) und dem Endregister (210) abgelegten Adressen vergleicht, und,
  • - wenn der Adreßvergleicher (220) eine für den Speicher (100) auf dem Adreßbus (130) angelegte Adresse erkennt, die sich außerhalb des, durch die in dem Anfangsregister (200) abgelegte Anfangsadresse (A) und die in dem Endregister (210) abgelegte Endadresse (E) beschriebenen, Adreßbereiches befindet,
  • - der Adreßvergleicher (220) ein nicht-maskierbares Unterbrechungssignal initiiert, das nicht durch die Anwendung (320) unterdrückt werden kann.
22. Verfahren nach Anspruch 21, wobei die Anfangsadresse (A) und die Endadresse (E) der Anwendung (320) aus einer Anwendungstabelle (230) geladen werden.
23. Verfahren nach Anspruch 22, wobei die Anfangsadresse (A) und die Endadresse (E) der Anwendung (320) in die Anwendungstabelle (230) fest eingespeichert wurden, so daß diese nicht mehr verändert werden können.
24. Verfahren nach Anspruch 22 oder 23, wobei die Anfangsadresse (A) und die Endadresse (E) der Anwendung (320) in die Anwendungstabelle (230) bei einem ersten Speichern der Anwendung (230) in dem Speicher (100) eingebrannt werden.
25. Verfahren nach Anspruch 15-20, wobei bei Aufruf der Anwendung (320)
  • - entsprechende, den vorgegebenen Adreßbereich (A bis E) der Anwendung (320) kennzeichnende Registermittel geladen werden,
  • - die geladenen Registermittel den vorgegebenen Adreßbereich (A bis E) der Anwendung (320) aktivieren, während andere Adreßbereiche des Speichers (100) deaktiviert bleiben, so daß ein Zugriff der Anwendung (230) nur auf die aktivierten Adreßbereiche ermöglicht wird.
26. Verfahren nach Anspruch 15-20, wobei bei Aufruf der Anwendung
  • - ein Multiplexer (510) der Anwendung einen entsprechenden, vorgegebenen Speicherbereich (520-540) zuteilt.
27. Verwendung des Verfahrens oder der Datenträgerkarte entsprechend einem der vorstehenden Ansprüchen in Chipkarten.
DE19536169A 1995-09-29 1995-09-29 Multifunktionale Chipkarte Withdrawn DE19536169A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19536169A DE19536169A1 (de) 1995-09-29 1995-09-29 Multifunktionale Chipkarte
JP8219850A JPH09223200A (ja) 1995-09-29 1996-08-21 多機能チップ・カード
EP96114369A EP0766211A3 (de) 1995-09-29 1996-09-09 Multifunktionale Chipkarte
US08/720,162 US5912453A (en) 1995-09-29 1996-09-25 Multiple application chip card with decoupled programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19536169A DE19536169A1 (de) 1995-09-29 1995-09-29 Multifunktionale Chipkarte

Publications (1)

Publication Number Publication Date
DE19536169A1 true DE19536169A1 (de) 1997-04-03

Family

ID=7773480

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19536169A Withdrawn DE19536169A1 (de) 1995-09-29 1995-09-29 Multifunktionale Chipkarte

Country Status (4)

Country Link
US (1) US5912453A (de)
EP (1) EP0766211A3 (de)
JP (1) JPH09223200A (de)
DE (1) DE19536169A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19811646A1 (de) * 1998-03-18 1999-09-23 Kathrin Schier Multifunktions-Chipkarte
DE19723862C2 (de) * 1997-06-06 2000-07-13 Ibm Mobiler Datenträger für Sicherheitsmodule
US6961587B1 (en) 1999-05-11 2005-11-01 Nokia Mobile Phones Ltd. Storage media
DE10084645B4 (de) * 1999-05-31 2007-09-06 Mitsubishi Denki K.K. Datenübertragungsverfahren
EP1053531B2 (de) 1998-02-04 2010-09-29 Gemalto SA Gesicherte integrierte schaltungsanordnung durch verringerung der elektrischen charakeristiken

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2153455T3 (es) 1995-08-04 2001-03-01 Belle Gate Invest B V Sistema de intercambio de datos que incluye unidades portatiles de procesamiento de datos.
US6385645B1 (en) * 1995-08-04 2002-05-07 Belle Gate Investments B.V. Data exchange system comprising portable data processing units
MY126363A (en) * 1996-10-25 2006-09-29 Gemalto Sa Using a high level programming language with a microcontroller
US6164549A (en) 1997-05-15 2000-12-26 Mondex International Limited IC card with shell feature
US6484946B2 (en) * 1997-12-22 2002-11-26 Hitachi, Ltd. IC card information display device and IC card for use therewith
DE19804784A1 (de) * 1998-02-06 1999-08-12 Philips Patentverwaltung Chipkarte mit integrierter Schaltung
US8108307B1 (en) 1998-03-30 2012-01-31 Citicorp Development Center, Inc. System, method and apparatus for value exchange utilizing value-storing applications
EP0949593A2 (de) 1998-03-30 1999-10-13 Citicorp Development Center System, Verfahren und Vorrichtung zum Austauschen von Werten mit Werte speichernder Vorrichtung
US6199762B1 (en) * 1998-05-06 2001-03-13 American Express Travel Related Services Co., Inc. Methods and apparatus for dynamic smartcard synchronization and personalization
ATE343169T1 (de) * 1998-08-31 2006-11-15 Irdeto Access Bv System um verschlüsselte daten zu liefern, system um verschlüsselte daten zu entschlüsseln und verfahren um eine kommunikationsschnittstelle in einem solchen system zur verfügung zu stellen
US6996213B1 (en) 1998-09-29 2006-02-07 Sun Microsystems, Inc. Superposition of data over voice
US6907608B1 (en) * 1999-01-22 2005-06-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using global data structures
US6633984B2 (en) 1999-01-22 2003-10-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using an entry point object
US6823520B1 (en) * 1999-01-22 2004-11-23 Sun Microsystems, Inc. Techniques for implementing security on a small footprint device using a context barrier
US7093122B1 (en) 1999-01-22 2006-08-15 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using shared object interfaces
US6922835B1 (en) 1999-01-22 2005-07-26 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges
FR2790324B1 (fr) * 1999-02-25 2001-12-28 St Microelectronics Sa Dispositif d'acces securise a des applications d'une carte a puce
WO2000077640A1 (en) * 1999-06-10 2000-12-21 Belle Gate Investment B.V. Arrangements storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory
ATE426221T1 (de) * 1999-07-22 2009-04-15 Nxp Bv Datentrager zur datenspeicherung und schaltungsanordnung fur einen solchen datentrager
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
WO2001040910A1 (en) * 1999-12-06 2001-06-07 De Jong, Eduard, Karel Computer arrangement using non-refreshed dram
ATE378679T1 (de) 1999-12-07 2007-11-15 Sun Microsystems Inc Computerlesbares medium mit mikroprozessor zur lesesteuerung und computeranordnung zur kommunikation mit einem derartigen medium
BR9917573A (pt) 1999-12-07 2002-08-06 Sun Microsystems Inc Dispositiivo de identiificação que contém uma foto segura, assim como um meio e método para autenticação de tal dispositiivo de identificação
JP2001184472A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd アプリケーションプログラムの供給方法、スマートカード、スクリプト供給方法、端末装置およびアプリケーションプログラムを有する記憶媒体
EP1113387A3 (de) * 1999-12-31 2001-11-21 SCHLUMBERGER Systèmes Chipkarte mit einem nichtflüchtigen Speicher mit neuer Zuordnung
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
JP5090591B2 (ja) * 2000-04-12 2012-12-05 ソニー株式会社 電子装置の制御方法,電子装置及び電子装置の機能の認識方法
EP1278154A4 (de) * 2000-04-28 2004-08-25 Hitachi Ltd Chipkarte
FR2808359B1 (fr) * 2000-04-28 2002-06-28 Gemplus Card Int Carte a puce multi-applicatives
FR2810138B1 (fr) * 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
CA2416844A1 (en) 2000-07-20 2002-01-31 Belle Gate Investment B.V. Method and system of communicating devices, and devices therefor, with protected data transfer
US20020044655A1 (en) * 2000-10-18 2002-04-18 Applebaum David C. Information appliance and use of same in distributed productivity environments
US6824064B2 (en) * 2000-12-06 2004-11-30 Mobile-Mind, Inc. Concurrent communication with multiple applications on a smart card
US7762457B2 (en) * 2001-07-10 2010-07-27 American Express Travel Related Services Company, Inc. System and method for dynamic fob synchronization and personalization
FR2833374A1 (fr) * 2001-12-12 2003-06-13 Cp8 Procede et dispositif de controle d'acces dans un systeme embarque
DE60210416T2 (de) * 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US7121456B2 (en) 2002-09-13 2006-10-17 Visa U.S.A. Inc. Method and system for managing token image replacement
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US7526625B2 (en) * 2003-01-31 2009-04-28 Panasonic Corporation Semiconductor memory card, and program for controlling the same
US20040199787A1 (en) * 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
DE10339212A1 (de) * 2003-08-26 2005-03-31 Infineon Technologies Ag Datenübertragungssystem und Verfahren zum Betreiben eines Datenübertragungssystems
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7104446B2 (en) 2003-09-03 2006-09-12 Visa U.S.A., Inc. Method, system and portable consumer device using wildcard values
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US7530108B1 (en) * 2003-09-15 2009-05-05 The Directv Group, Inc. Multiprocessor conditional access module and method for using the same
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8484671B1 (en) 2003-10-07 2013-07-09 The Directv Group, Inc. Receiver interface with multiple access cards
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
WO2005074512A2 (en) * 2004-02-03 2005-08-18 Tanner Richard Carl Jr Intelligent media storage system
US7191288B2 (en) 2004-02-24 2007-03-13 Sun Microsystems, Inc. Method and apparatus for providing an application on a smart card
US7374099B2 (en) * 2004-02-24 2008-05-20 Sun Microsystems, Inc. Method and apparatus for processing an application identifier from a smart card
US7165727B2 (en) * 2004-02-24 2007-01-23 Sun Microsystems, Inc. Method and apparatus for installing an application onto a smart card
US7140549B2 (en) * 2004-02-24 2006-11-28 Sun Microsystems, Inc. Method and apparatus for selecting a desired application on a smart card
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
DE102006012635B4 (de) * 2006-03-20 2009-08-20 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung
FR2903549B1 (fr) * 2006-07-10 2008-09-26 Inside Contactless Sa Procede de controle d'application dans un chipset nfc comprenant plusieurs processeurs hotes
KR100842333B1 (ko) * 2006-12-20 2008-07-01 삼성전자주식회사 스마트 카드 및 스마트 카드의 동작 방법
KR101555637B1 (ko) 2009-03-27 2015-09-24 삼성전자주식회사 스마트 카드
US20110145082A1 (en) 2009-12-16 2011-06-16 Ayman Hammad Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
US8367460B2 (en) 2010-06-22 2013-02-05 Micron Technology, Inc. Horizontally oriented and vertically stacked memory cells
US8827158B2 (en) 2011-12-21 2014-09-09 International Business Machines Corporation Multi-chip card
US9286235B2 (en) 2012-06-29 2016-03-15 Intel Corporation Virtual memory address range register
GB2517775B (en) 2013-08-30 2016-04-06 Cylon Global Technology Inc Apparatus and methods for identity verification
GB2517777B (en) 2013-08-30 2015-08-05 Cylon Global Technology Inc Data encryption and smartcard storing encrypted data
US20160379017A1 (en) * 2013-12-27 2016-12-29 Intel Corporation Apparatus, system and techniques for a smart card computing device and associated host devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3807997C2 (de) * 1987-03-13 1993-07-29 Mitsubishi Denki K.K., Tokio/Tokyo, Jp
DE4406704C1 (de) * 1994-03-02 1995-07-20 Angewandte Digital Elektronik Chipkarte

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4443027A (en) * 1981-07-29 1984-04-17 Mcneely Maurice G Multiple company credit card system
US4709137A (en) * 1984-04-16 1987-11-24 Omron Tateisi Electronics Co. IC card and financial transaction processing system using IC card
JPH0818473B2 (ja) * 1985-07-31 1996-02-28 トッパン・ムーア株式会社 機密水準を設定できるicカード
JPS62179994A (ja) * 1986-02-04 1987-08-07 カシオ計算機株式会社 電子カ−ド
US4802218A (en) * 1986-11-26 1989-01-31 Wright Technologies, L.P. Automated transaction system
JPS6373388A (ja) * 1986-09-16 1988-04-02 Fujitsu Ltd 複数サ−ビス用icカ−ドの領域獲得方式
CH694306A5 (de) * 1988-04-11 2004-11-15 Syspatronic Ag Spa Chipkarte.
US5049728A (en) * 1990-04-04 1991-09-17 Rovin George H IC card system with removable IC modules
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
GB2263348B (en) * 1992-01-14 1995-08-09 Rohm Co Ltd Microcomputer and card having the same
US5229652A (en) * 1992-04-20 1993-07-20 Hough Wayne E Non-contact data and power connector for computer based modules
ATE237854T1 (de) * 1992-10-26 2003-05-15 Intellect Australia Pty Ltd Host-benutzer-transaktionssystem
NL9301540A (nl) * 1993-09-06 1995-04-03 Nedap Nv Chipkaart met meer dan één chip en gecombineerde I/O-lijn.
US5578808A (en) * 1993-12-22 1996-11-26 Datamark Services, Inc. Data card that can be used for transactions involving separate card issuers
JP2783971B2 (ja) * 1994-01-26 1998-08-06 日本信販株式会社 クレジットカードの発行方法
US5679945A (en) * 1995-03-31 1997-10-21 Cybermark, L.L.C. Intelligent card reader having emulation features

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3807997C2 (de) * 1987-03-13 1993-07-29 Mitsubishi Denki K.K., Tokio/Tokyo, Jp
DE4406704C1 (de) * 1994-03-02 1995-07-20 Angewandte Digital Elektronik Chipkarte

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19723862C2 (de) * 1997-06-06 2000-07-13 Ibm Mobiler Datenträger für Sicherheitsmodule
EP1053531B2 (de) 1998-02-04 2010-09-29 Gemalto SA Gesicherte integrierte schaltungsanordnung durch verringerung der elektrischen charakeristiken
DE19811646A1 (de) * 1998-03-18 1999-09-23 Kathrin Schier Multifunktions-Chipkarte
DE19811646C2 (de) * 1998-03-18 2002-11-14 Kathrin Schier Multifunktions-Chipkarte
US6961587B1 (en) 1999-05-11 2005-11-01 Nokia Mobile Phones Ltd. Storage media
DE10084645B4 (de) * 1999-05-31 2007-09-06 Mitsubishi Denki K.K. Datenübertragungsverfahren

Also Published As

Publication number Publication date
EP0766211A2 (de) 1997-04-02
US5912453A (en) 1999-06-15
JPH09223200A (ja) 1997-08-26
EP0766211A3 (de) 2000-05-31

Similar Documents

Publication Publication Date Title
DE19536169A1 (de) Multifunktionale Chipkarte
EP0512542B1 (de) Datenschützende Mikroprozessorschaltung für tragbare Datenträger, beispielsweise Kreditkarten
DE3811378C3 (de) Informationsaufzeichnungssystem
DE2837201C2 (de)
DE2512935C2 (de) Datenaustauschsystem
DE69320900T3 (de) IC-Karte mit hierarchischer Dateienstruktur
EP0128362B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
EP1358558B1 (de) Mikroprozessorschaltung für datenträger und verfahren zum organisieren des zugriffs auf in einem speicher abgelegten daten
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
EP0811204B1 (de) Verarbeitung langer nachrichten in einer chipkarte
EP0224639B1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
WO2000070620A1 (de) Speicheranordnung mit adressverwürfelung
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
EP0127809B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
EP0935214A2 (de) Chipkarte mit integrierter Schaltung
EP0813723A1 (de) Chipkarte mit geschütztem betriebssystem
DE10162308A1 (de) Verfahren und Anordnung zur Zugriffssteuerung auf EEPROMs sowie ein entsprechendes Computerprogrammprodukt und eine entsprechendes computerlesbares Speichermedium
EP0890172B1 (de) Halbleiterspeichervorrichtung
DE102021131424A1 (de) Verfahren und systeme zur sitzungsbasierten und gesicherten zugriffsteuerung auf ein datenspeichersystem
EP0966711B1 (de) Mikrocomputer mit einer speicherverwaltungseinheit
EP0329966B1 (de) Verfahren zum Sichern von in einem Datenspeicher abgelegten geheimen Codedaten und Schaltungsanordnung zur Durchführung des Verfahrens
EP0331202B1 (de) Verfahren zur bedarfsweisen Benutzung des Datenspeichers eines Mikrocomputers als Programmspeicher
EP3186711B1 (de) Speicherverwaltung für einen token
EP0184023A1 (de) Verfahren und Einrichtung zum Schutz vor unberechtigtem Betrieb geschützter Programme in einem Mikrocomputer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee