DE60224937T2 - Verfahren und anordnung zum verknüpfen von verwandelten appletdateien - Google Patents

Verfahren und anordnung zum verknüpfen von verwandelten appletdateien Download PDF

Info

Publication number
DE60224937T2
DE60224937T2 DE60224937T DE60224937T DE60224937T2 DE 60224937 T2 DE60224937 T2 DE 60224937T2 DE 60224937 T DE60224937 T DE 60224937T DE 60224937 T DE60224937 T DE 60224937T DE 60224937 T2 DE60224937 T2 DE 60224937T2
Authority
DE
Germany
Prior art keywords
resolution
computer code
memory
unresolved
buffer
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
DE60224937T
Other languages
English (en)
Other versions
DE60224937D1 (de
Inventor
Ksheerabdhi Cedar Park KRISHNA
Tim Berkeley WILKINSON
Yannick Burianne
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.)
Axalto Technology Ltd
Original Assignee
Axalto Technology 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 Axalto Technology Ltd filed Critical Axalto Technology Ltd
Publication of DE60224937D1 publication Critical patent/DE60224937D1/de
Application granted granted Critical
Publication of DE60224937T2 publication Critical patent/DE60224937T2/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • 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
    • 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Debugging And Monitoring (AREA)

Description

  • 1. Bereich der vorliegenden Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf den Bereich Chipkarten und insbesondere auf eine verbesserte Chipkarte und Methode, unaufgelöste Referenzen bei konvertierten, auf eine Chipkarte geladenen Applet-Dateien aufzulösen.
  • 2. Geschichte der diesbezüglichen Technik
  • Die meisten Verbraucher sind vertraut mit dem Gebrauch von Kreditkarten, Kundenkarten, Geldautomatenkarten, elektronischen Geldbörsen und dergleichen. Für viele Arten von Transaktionen bewegt sich der derzeitige Trend jedoch von diesen Kartentypen weg und nähert sich einer Geräteklasse an, die im Allgemeinen als Chipkarten bezeichnet werden. Eine Chipkarte ist eine Karte aus Plastik in der Größe einer Kreditkarte, bei der eine elektronische Vorrichtung (Chip) in das Massenplastik der Karte integriert ist. Chipkarten nutzen nicht nur einen Magnetstreifen zum Speichern von Informationen, sondern sie verfügen auch über einen Mikroprozessor und ein Speicherelement, die in den Chip integriert sind.
  • Da Chipkarten einen Chip haben, können sie so programmiert werden, dass sie verschiedene Leistungen erbringen wie elektronische Geldbörsen, Kreditkarten, Kundenkarten, Geldautomatenkarten, Telefonkarten, Personalausweise, Speichergeräte für entscheidende Aufzeichnungen usw. Bei diesen verschiedenen Leistungen kann eine Chipkarte so gestaltet sein, dass sie verschiedene Anwendungsprogramme verwendet. Chipkarten sind kompatibel mit der Norm 7816, Teile 1–10, der Internationalen Organisation für Normung (ISO), die im Allgemeinen als „ISO 7618" bezeichnet wird. Chipkarten sind quellenabhängige Vorrichtungen und haben in dieser Eigenschaft minimale Speicherkonfigurationen normalerweise in der Anordnung von 1 K oder 2 K an (flüchtigem) Direktzugriffsspeicher (RAM), 16 K oder 32 K an nichtflüchtigem Lese-Schreib-Arbeitsspeicher, wie zum Beispiel einem elektrisch löschbarem, programmierbaren Nur-Lese-Speicher (EEPROM), und 24 K an Festspeicher (ROM). Die Bezeichnung „EEPROM" wird weitgehend für nichtflüchtigen (d. h. permanenten) Speicher verwendet, einschließlich Flash-Speicher. Am Anfang war die Entwicklung von Anwendungsprogrammen für Chipkarten im Wesentlichen patentrechtlich geschützt. Das heißt, die Software einer jeden Chipkarte war genau auf das Design ihres integrierten Mikroprozessors ausgerichtet. Dies führte zu einer besonders begrenzten Fähigkeit für die Entwicklung von Anwendungen, die auf Karten von verschiedenen Herstellern funktionieren konnten. Infolgedessen war die Entwicklung von Chipkartenanwendungen auf eine relativ kleine Gruppe von Entwicklern begrenzt, die entweder für die Chipkartenhersteller oder die Chipkartenherausgeber arbeiteten. In den letzten Jahren hat sich die Entwicklung von Chipkartenanwendungen jedoch so entwickelt, dass sie nicht länger patentrechtlich geschützt ist.
  • Durch die Annahme von offener Architektur für die Entwicklung von Anwendungen ist es jetzt möglich, Anwendungen zu entwickeln, die auf Chipkarten von verschiedenen Herstellern laufen können, sowie auf anderen quellenabhängigen Vorrichtungen, die wie Chipkarten nur wenig verfügbaren Speicher haben, oder anderen Vorrichtungen zum Speichern von Daten (z. B. Speichergeräte). Die Java-Card-Technologie ist ein Beispiel für eine derartige offene Entwicklungsarchitektur. Sie verwendet die JavaTM Programmiersprache und setzt die Java Card Runtime Environment (JCRE) ein. Die JCRE entspricht der ISO 7816 und definiert eine Plattform, bei der Anwendungen, die in der Java-Programmiersprache geschrieben sind, auf Chipkarten und anderen quellenabhängigen Vorrichtungen laufen können. Anwendungen, die für die JCRE geschrieben sind, werden als AS-Applets bezeichnet.
  • Bevor ein Applet jedoch auf eine Chipkarte zur Ausführung geladen werden kann, muss der Quellcode in eine entsprechende binäre Darstellung der Klassen umgewandelt werden, aus denen sich das Applet zusammensetzt. Diese entsprechende binäre Darstellung wird als CAP-Datei (umgewandelte Applet-Datei) bezeichnet und hat das Dateiformat, bei dem die Anwendungen auf Chipkarten unter Verwendung der JCRE geladen werden. Die CAP-Datei wird normalerweise als Byte-Block geladen, der benachbarten Speicherplatz auf dem nichtflüchtigen Lese-Schreib-Speicher auf der Chipkarte durch ein auf der Chipkarte befindliches Installationsprogrammmodul belegt.
  • Jede CAP-Datei kann Anweisungen für verschiedene symbolische und unaufgelöste Code-Referenzen enthalten, die vor der Ausführung aufgelöst werden müssen. Die Bezeichnungen „Verbindung" und „Verbinden" werden verwendet, um eine Beziehung zwischen zwei Code-Teilen zu beschreiben, in der der eine Teil den anderen aktiviert. Befehle, Funktionen, Definitionen usw. können normalerweise aktiviert werden, indem ein Code innerhalb der Anwendung einen anderen Code-Teil aktiviert, wobei sich der zuletzt genannte Code-Teil in der Anwendung selbst oder in einer auf der Chipkarte vorhandenen Funktionssammlung befindet. Der Vorgang des Auflösens dieser Verbindungen zu unaufgelösten Code-Referenzen wird im Allgemeinen als Anbindung oder Auflösung bezeichnet und schließt das Nachschlagen der Symbolreferenz in einer zugehörigen im Speicher vorhandenen Tabelle (permanente Datenbasis) oder einem anderen Speichergerät oder die Berechnung der unaufgelösten relativen Code-Referenz und den Ersatz der Referenz durch die tatsächliche Speicheradresse oder eine intern zugängliche Symbolreferenz mit ein, unter der der/ die jeweilige Befehl, Funktion, Definition usw. gespeichert ist. Während der Anbindungs- und Auflösungsprozess normalerweise auf unaufgelöste Referenzen im Computer-Code zutrifft, kann der Prozess für jedes Gebilde zur Speicherung und Manipulierung von Daten (d. h. Datenstrukturen) mit den darin enthaltenen unaufgelösten Referenzen angewendet werden. Die Begriffe „auflösen", „Auflösung" und „Auflösen" werden zur allgemeinen Beschreibung des vorhergehenden Prozesses zur Ersetzung des unaufgelösten Codes oder der symbolischen Referenz innerhalb der Code- oder Datenstruktur durch eine intern zugängliche symbolische Referenz oder tatsächliche Speicheradresse verwendet.
  • Die Anbindung wird normalerweise auf der Karte durch das Installationsprogrammmodul unter Verwendung eines nichtflüchtigen Lese-Schreib-Speichers erreicht. Wie oben erwähnt, besteht der nichtflüchtige Lese-Schreib-Speicher einer Chipkarte normalerweise aus EEPROM. Die Merkmale der EEPROM-Technologie führen zu einem Zugang und Schreibvorgang von EEPROM, der viel mehr Zeit in Anspruch nimmt als ein entsprechender Zugang und Schreibvorgang von RAM. Weiterhin ist bei EEPROMs die Anzahl der Schreibvorgänge begrenzt (normalerweise in der Größenordnung von mehreren zehn- oder hunderttausend Malen). Folglich nimmt die Durchführung des benötigten Anbindungsprozesses für die CAP-Datei in EEPROM viel Zeit in Anspruch und wirkt sich auf die Betriebsdauer der EEPROM aus. Entsprechend wäre es von Vorteil, einen Apparat und eine Methode für die wirksame Anbindung von CAP-Dateien einzuführen, die die Anzahl der Schreibvorgänge auf dem EEPROM minimieren.
  • EP-A-0964370 legt eine Methode zur Auflösung von unaufgelösten Referenzen in einem auf eine Chipkarte geladenen Computer-Code dar; bei der besagten Methode wird der Anweisungscode auf einen Speicher, wie beispielsweise einen RAM-Speicher, geladen, gibt es eine kurze Schreibvorgang-Zugangs-Zeit, wird mindestens eine unaufgelöste Referenz im Computer-Code erfasst, wird die aufgelöste Referenz für die ermittelte unaufgelöste Referenz bestimmt, wird der Inhalt des RAM-Speichers mit der aufgelösten Referenz aktualisiert und der Inhalt des RAM-Speichers, der dem genannten Code entspricht, auf einen zweiten Speicher mit einer längeren Schreibvorgang-Zugangs-Zeit kopiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Struktur und der Betrieb der Erfindung werden deutlich, wenn man die folgende genaue Beschreibung liest und sich auf die beigefügten Zeichnungen bezieht, in denen:
  • 1 eine mustergültige Chipkarte zeigt;
  • 2 den Mikroprozessor begrifflich mit einem wesentlichen Speicherelement 115 Anteil des Moduls 105 der mustergültigen Speicherkarte von 1 in einigen zusätzlichen Details darstellt;
  • 3 einen Anteil eines nichtflüchtigen Lese-Schreib-Speichers 230, der mit einer CAP-Datei beladen ist, begrifflich darstellt;
  • 4 ein Beispiel der permanenten Datenbasis, des Anweisungssatzes und der Bestandteile der Umverteilungstabelle für die in 3 dargestellte CAP-Datei ist;
  • 5 einen für die Verwendung in Speicherkarten geeigneten Zwischenspeicher zur Auflösung gemäß einer Ausführungsart der Erfindung abbildet;
    und
  • 6 ein Flussdiagramm ist, das einen Aspekt der aktuellen Erfindung darstellt. Während die Erfindung anfällig für verschiedene Veränderungen und alternative Formen ist, werden spezifische Ausführungsarten davon als Beispiel in den Zeichnungen gezeigt und werden hier genau beschrieben. Es wird jedoch darauf hingewiesen, dass die hier dargestellten Zeichnungen und die genaue Beschreibung die Erfindung nicht auf die besondere offen gelegte Ausführungsart beschränken sollen. Im Gegenteil ist die Erfindung nur durch die Sprache des Patentanspruchs eingeschränkt.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Im Allgemeinen stellt die vorliegende Erfindung eine Chipkarte und eine Methode dar, in der die Chipkarte konfiguriert werden kann, um einen Computer-Code wie konvertierte Applet-Dateien mit unaufgelösten Referenzen innerhalb solcher Dateien zu erhalten und derartige unaufgelöste Referenzen aufzulösen, um die Anzahl der Beschreibungen auf dem EEPROM-Speicher zu minimieren.
  • In der Beschreibung und den Zeichnungen werden den gleichen Elementen die gleichen Referenzziffern zugeordnet.
  • 1 zeigt eine mustergültige Chipkarte. Chipkarte 100 hat in etwa die Größe einer Kreditkarte und beinhaltet ein Modul 105 mit Leitungskontakten 110, die mit einem Mikroprozessor durch ein wesentliches Speicherelement 115 verbunden sind. Leitungskontakte 110 werden mit einem Endgerät verbunden, um normalerweise Antriebsenergie zur Verfügung zu stellen und um Daten elektrisch zwischen dem Endgerät und der Chipkarte zu übertragen. Andere Ausführungsarten von Chipkarten enthalten vielleicht keine Leitungskontakte 110. Solche „kontaktlosen" Chipkarten können Informationen austauschen und erhalten Energie durch unmittelbare Kopplung wie beispielsweise magnetische Kopplung oder durch Fernkopplung wie beispielsweise Radiokommunikation. Chipkarte 100 ist kompatibel mit ISO 7816.
  • Der Mikroprozessor mit einem wesentlichen Speicherelement 115 der 1 wird zusätzlich in 2 genau dargestellt. Der Mikroprozessor 115 beinhaltet die Zentraleinheit (CPU) 205. Der Mikroprozessor 115 wird mit einem Speicherelement 215 in Verbindung gebracht. Der „Speicher" kann auf der gleichen integrierten Schaltung wie Mikroprozessor 115 oder auf einer getrennten Vorrichtung geformt werden.
  • Im Allgemeinen ist das Speicherelement 215 so konfiguriert, dass es RAM 220, ROM 225 und nichtflüchtigen Lese-Schreib-Speicher 230 beinhaltet. Festspeicher 225 ist so konfiguriert, dass er das Installationsprogrammmodul 210 beinhaltet.
  • In einer alternativen Konfiguration sind RAM 220, ROM 225 und der nichtflüchtige Lese-Schreib-Speicher 230 nicht im gleichen Speicherelement 215 platziert, sondern vielmehr in einer Kombination von getrennten elektronischen Einheiten.
  • 3 stellt auf anschauliche Art und Weise einen Anteil des nichtflüchtigen Lese-Schreib-Speichers 230 dar, der mit Bestandteilen der CAP-Datei beladen ist. Der permanente Bestandteil der Datenbasis 305 enthält Speicheradressen für Symbolreferenzen, die im Verbindungsprozess verwendet werden. Bestandteile der CAP-Bytecodes-Methode (d. h. Anweisungen) 315 und die relevante Umverteilungstabelle 320 werden auch dargestellt. Der permanente Bestandteil der Datenbasis 305, die Bestandteile der CAP-Bytecodes-Methode 315 zusammen mit der relevanten Umverteilungstabelle 320 können in den nichtflüchtigen Lese-Schreib-Speicher 230 durch das Installationsprogrammmodul 210 geladen werden.
  • 4 ist ein Beispiel für Musterinformationen, -code und -daten, die in der permanenten Datenbasis 305 enthalten sind. Der CAP-Bytecodes-Bestandteil 315 und die entsprechende Umverteilungstabelle 320 werden in 3 dargestellt. In 4 wird der nichtflüchtige Lese-Schreib-Speicher dargestellt, bei dem der Bestandteil der CAP-Bytecodes-Methode 315 einen ersten Anleitungscode 405 und einen nachfolgenden Anleitungscode 410 beinhaltet, die bei der Speicheradresse 100 beginnend gespeichert werden. Die Anleitungscodes 405 und 410 sind beide Verbindungscodes, auf die ein Parameter folgt, der bei dem vorliegenden Beispiel eine Symbolreferenz ist.
  • Die Umverteilungstabelle 320 beinhaltet Informationen über die Umverteilung – davon sind zwei Umverteilungseinträge 420 bzw. 425 dargestellt. Der erste Umverteilungseintag 420 beinhaltet Informationen, die auf die Speicheradresse 100 hinweisen. Der nachfolgende Umverteilungseintrag 425 beinhaltet Informationen, die auf die Speicheradresse 613 hinweisen. Der Bestandteil der permanenten Datenbasis 305 beinhaltet die tatsächlichen Speicheradressinformationen für die Symbolreferenzen A bzw. B in Form der Einträge 430 bzw. 435. Der erste Eintrag des Bestandteils der permanenten Datenbasis 430 beinhaltet weiterhin die Kennung des Umverteilungstyps 440 und die entsprechende Anwendungskennung 445. Der nachfolgende Eintrag des Bestandteils der permanenten Datenbasis 435 beinhaltet weiterhin die Kennung des Umverteilungstyps 450 und die entsprechende Anwendungskennung 455.
  • Der Stand der Technik wendet einen Anbindungsprozess an, der die Schritte zur Analyse der Umverteilungstabelle 320 beinhaltet, indem mit dem ersten Umverteilungseintrag 420 begonnen wird, wobei die relevante Speicheradresse erkannt wird, auf die relevante Speicheradresse Zugriff genommen wird (in diesem Beispiel 100), bestimmt wird, dass die entsprechende Anweisung bei der Speicheradresse 100 eine Verbindung zu Symbolreferenz A enthält, die relevante Umverteilungskennung 440 für Symbolreferenz A erkannt wird, auf die relevante Speicheradressinformation 445 in der permanenten Datenbasis 305 Bezug genommen wird und der Parameter des ersten Anleitungscodes 405 mit der Speicheradresse für die relevante Symbolreferenz 430 aktualisiert wird, indem diese Speicheradresse in den ersten Anweisungscode 405 geschrieben wird. Die gleichen Schritte werden ausgeführt unter Verwendung jedes nachfolgenden Umverteilungseintrags, einschließlich des Umverteilungseintrags 425. Auf diese Weise wird jeder Eintrag in der Umverteilungstabelle für eine CAP-Datei weiterverarbeitet, die relevante ungelöste Referenz wird gelöst und der EEPROM wird mit der gelösten Speicheradresse aktualisiert. Man sollte sich der Tatsache bewusst sein, dass die Kennung des Umverteilungstyps die Umverteilung einer absoluten Adresse andeuten kann; in diesem Fall wird die relevante Speicheradresse berechnet statt in der permanenten Datenbasis 305 darauf zuzugreifen.
  • 5 zeigt einen Zwischenspeicher zur Auflösung 505, der im Direktzugriffsspeicher 220 konfiguriert ist und für den Gebrauch in einer Chipkarte gemäß einer Ausführungsart der Erfindung geeignet ist. Der Zwischenspeicher zur Auflösung 505 bietet die Funktion eines Zwischenregisters, in dem Daten vorübergehend gespeichert und aktualisiert werden können und wird zur Aktualisierung unaufgelöster Referenzen verwendet. In einer Ausführungsart der Erfindung kann die Größe des Zwischenspeichers zur Auflösung so konfiguriert werden, dass sie genau der Größe einer Seite des nichtflüchtigen Lese-Schreib-Speichers 230 entspricht und somit einen wirksamen Anbindungsprozess unterstützt, indem die relevante Anzahl an Aktualisierungen der unaufgelösten Referenzen im Zwischenspeicher zur Auflösung 505 gruppiert wird, um die Gesamtanzahl an langsamen zeitaufwändigen Aktualisierungen des nichtflüchtigen Lese-Schreib-Speichers 230 zu verringern. Wahlweise kann die Größe des Zwischenspeichers zur Auflösung einem ganzzahligen Vielfachen der Größe einer Seite des nichtflüchtigen Lese-Schreib-Speichers 230 entsprechen. Auf den Zwischenspeicher zur Auflösung 505 kann mittels des Installationsprogrammmoduls 210 zugegriffen werden, um den Inhalt eines Anteils einer CAP-Datei zu speichern, um den Inhalt dieses Anteils der CAP-Datei zu verändern.
  • 6 zeigt ein Flussdiagramm, das eine Methode 600 der vorliegenden Erfindung bildlich darstellt. In der dargestellten Ausführungsart wird zunächst die Größe des Zwischenspeichers zur Auflösung 505 konfiguriert (Block 605). In einer Ausführungsart der Erfindung enthält Block 605 eine untergeordnete Methode, mit der der Zwischenspeicher zur Auflösung 505 so konfiguriert werden kann, dass er einem ganzzahligen Vielfachen der Größe einer Seite des nichtflüchtigen Lese-Schreib-Speichers 230 entspricht. In einer anderen Ausführungsart der Erfindung beinhaltet Block 605, dass der Zwischenspeicher zur Auflösung so konfiguriert wird, dass er genau der Größe einer Seite des nichtflüchtigen Lese-Schreib-Speichers 230 entspricht und somit einen wirksamen Verbindungsprozess unterstützt, indem die relevante Anzahl an Aktualisierungen der unaufgelösten Referenzen im Zwischenspeicher zur Auflösung 505 gruppiert wird, um die Gesamtanzahl an langsamen zeitaufwändigen Aktualisierungen des nichtflüchtigen Lese-Schreib-Speichers 230 zu verringern. Die CAP-Datei ist in logische Parzellen oder Blocks (Block 610) aufgeteilt, wobei jede Parzelle der Größe des nicht konfigurierten Zwischenspeichers zur Auflösung entspricht. Jede logische Parzelle funktioniert als Teiler der Daten, die in einem Arbeitsablauf zwischen nichtflüchtigem Lese-Schreib-Speicher 230 und Direktzugriffsspeicher 220 übertragen werden. Die erste logische Parzelle wird untersucht (Block 645), um festzustellen, ob es unaufgelöste Referenzen gibt (Block 615). Sollte es keine unaufgelösten Referenzen geben, wird bestimmt, ob es zusätzliche logische Parzellen gibt (Block 640) und, sollte dem so sein, dann wird die nächste logische Parzelle untersucht (Block 645) und es wird bestimmt, ob es unaufgelöste Referenzen gibt (Block 615). Sollte es keine zusätzlichen logischen Parzellen geben (Block 640), dann ist der Prozess abgeschlossen.
  • Für jede logische Parzelle, in der es unaufgelöste Referenzen gibt, wird der Inhalt der logischen Parzelle in den Zwischenspeicher zur Auflösung kopiert (Block 620), die unaufgelösten Referenzen werden aufgelöst (Block 625), der Inhalt des Zwischenspeichers zur Auflösung wird mit den aufgelösten Referenzen aktualisiert (Block 630), der Inhalt der logischen Parzelle im nichtflüchtigen Lese-Schreib-Speicher 230 wird ersetzt durch den Inhalt des aktualisierten Zwischenspeichers zur Auflösung im Direktzugriffsspeicher (Block 635) und die Schritte der Blöcke 615, 620, 625, 630 und 635 werden erneut für die restlichen logischen Parzellen durchgeführt (Block 640). Es sollte beachtet werden, dass in solchen Fällen, bei denen eine logische Parzelle voneinander anhängige unaufgelöste Referenzen enthält, die Schritte der Blöcke 630 und 635 sofort nach der Auflösung einer jeden unaufgelösten Referenz durchgeführt werden müssen, wovon andere unaufgelöste Referenzen innerhalb der logischen Parzelle abhängen.
  • Wahlweise wird die CAP-Datei auf unaufgelöste Referenzen untersucht und diese unaufgelösten Referenzen werden in den nachfolgenden Parzellen aufgelöst. Bei dieser Alternative wird ein Zeiger auf einer Stelle in der CAP-Datei positioniert, zum Beispiel am Anfang des CAP-Bytecodes-Bestandteils 315. Die zwischen dem Zeiger und der zweiten Adresse gespeicherten Daten werden auf unaufgelöste Referenzen untersucht. Wie oben erwähnt, werden im Falle von unaufgelösten Referenzen die Daten zwischen dem Zeiger und der zweiten Adresse in den Zwischenspeicher zur Auflösung 505 kopiert. Die unaufgelösten Referenzen werden aufgelöst und der Zwischenspeicher zur Auflösung 505 wird aktualisiert. Nachdem die unaufgelösten Referenzen aufgelöst wurden und der Zwischenspeicher zur Auflösung 505 aktualisiert wurde, wird der Inhalt des Zwischenspeichers zur Auflösung 505 zurück in die CAP-Datei kopiert, wobei mit dem Zeiger begonnen wird. Der Zeiger wird dann auf eine andere Stelle in der CAP-Datei befördert. Bei einer Ausführungsart wird der Zeiger sofort nach der zweiten Adresse auf diese Stelle befördert.
  • Bei einer alternativen Ausführungsart wird das Vorhandensein von unaufgelösten Referenzen in einem nichtflüchtigen Lese-Schreib-Speicher 230 erfasst und nur dann, wenn unaufgelöste Referenzen erfasst werden, wird die logische Parzelle in den Zwischenspeicher zur Auflösung 505 kopiert. Bei einer anderen alternativen Ausführungsart wird jede logische Parzelle zuerst in den Zwischenspeicher zur Auflösung 505 kopiert und die Erfassung von unaufgelösten Referenzen wird im Zwischenspeicher zur Auflösung 505 durchgeführt. In dem zuletzt genannten Fall wäre es nicht nötig, den Inhalt zurück in den nichtflüchtigen Lese-Schreib-Speicher 230 zu kopieren, es sei denn, es werden unaufgelöste Referenzen nachgewiesen.
  • Bei einer alternativen Ausführungsart werden die verschiedenen logischen Parzellen nicht in aufeinander folgender Reihenfolge untersucht und aufgelöst.
  • Weiterhin sollte beachtet werden, dass Teile der vorliegenden Erfindung als Satz von auf einem Computer ausführbaren Anweisungen (Software) ausgeführt werden, die auf einem computerlesbaren Medium gespeichert oder enthalten sind. Das computerlesbare Medium kann ein nichtflüchtiges Medium wie eine Diskette, Festplatte, Flash-Speicherkarte, ROM, CD ROM, DVD, Magnetband oder ein anderes geeignetes Medium beinhalten.
  • Wie oben eingeleitet, wurde der Begriff „Chipkarte" mit Bezug auf die in 1 gezeigte Vorrichtung beschrieben. Während dieses Beispiel gut zu den folgenden Erklärungen passt, sollte darauf geachtet werden, dass die vorliegende Erfindung weitgehend auf eine Klasse von quellenabhängigen Vorrichtungen angewendet werden kann, deren physikalische Formfaktoren nicht mit der im Beispiel dargestellten Form übereinstimmen. Beispielswiese ist die vorliegende Erfindung leicht an Sicherheitsschnittstellenmodule (SIMs) und Sicherheitszugriffsmodule (SAMs) angepasst. SIMs und SAMs sind physikalisch kleinere Versionen der typischen Chipkarte und werden normalerweise bei Telefonen oder anderen kleinen Räumen verwendet. Die Größe, die Form, die Art und die Zusammensetzung des Materials zur Einkapselung und Befestigung des Mikroprozessors und des Speicherelements sind für die vorliegende Erfindung irrelevant und schränken diese nicht ein. Deshalb sollte der durchgehend verwendete Begriff „Chipkarte" weitgehend so verstanden werden, dass er alle in sich geschlossenen Kombinationen von Mikroprozessoren und Speicherelementen umfasst, die eine Übertragung mit einer anderen als Terminal bezeichneten Vorrichtung durchführen können.
  • Für Fachleute, denen der Vorteil dieser Bekanntgabe zuteil wird, ist es offensichtlich, dass die vorliegende Erfindung eine Chipkarte und eine Methode zur wirksamen Verbindung des Computer- Codes darstellt, die die Anzahl von Schreibvorgängen auf den EEPROM mit der Erfindung minimiert und dabei die für die Anbindung des Computer-Codes benötigte Zeit verringert und die Betriebsdauer des EEPROM erhöht. Es wird darauf hingewiesen, dass die Formen der gezeigten und beschriebenen Erfindung in der genauen Beschreibung und die Zeichnungen nur als derzeitig bevorzugte Beispiele zu betrachten sind und die Erfindung nur durch die Sprache der Patentansprüche eingeschränkt ist.

Claims (11)

  1. Eine Methode zur Auflösung unaufgelöster Referenzen im Computer-Code, der auf eine Chipkarte geladen ist (100) und über einen nichtflüchtigen Speicher 230 und einen Direktzugriffsspeicher 220 verfügt, die Folgendes umfasst: a) Laden des Computer-Codes auf einen nichtflüchtigen Speicher (230) einer Chipkarte (100); b) Erfassen wenigstens einer unaufgelösten Referenz im Computer-Code in einem Anteil des Inhalts des nichtflüchtigen Speichers (230); c) Kopieren des Inhalts des nichtflüchtigen Speichers (230) in einen Zwischenspeicher zur Auflösung (505) in einem Direktzugriffsspeicher (220) als Folge des Erfassens von mindestens einer unaufgelösten Referenz im Computer-Code des Anteils des Inhalts des nichtflüchtigen Speichers (230); d) Bestimmen der aufgelösten Referenz für wenigstens eine erfasste unaufgelöste Referenz; e) Aktualisieren des Inhalts des Zwischenspeichers zur Auflösung (505) mit der aufgelösten Referenz; und f) Ersetzen der Anteile des Inhalts des nichtflüchtigen Speichers (230) durch den aktualisierten Inhalt des Zwischenspeichers zur Auflösung (505).
  2. Die Methode zur Auflösung von unaufgelösten Referenzen im Computer-Code des Anspruchs 1 umfasst außerdem: g) Konfigurieren der Größe des Zwischenspeichers zur Auflösung (505) als ganzzahliges Vielfaches der Größe einer Seite des nichtflüchtigen Speichers (230); und h) Aufteilen des Computer-Codes in eine Vielzahl an logischen Parzellen, wobei die Größe einer jeden Parzelle der Größe des Zwischenspeichers zur Auflösung entspricht.
  3. Die Methode des Anspruchs 2, bei der: jeder der Schritte a), b), c), d), e) und f) gemeinsam bei jeder Parzelle ausgeführt werden, bevor mit der nächsten Parzelle weitergemacht wird, wobei mit einer ersten Parzelle angefangen und mit den nachfolgenden Parzellen weitergemacht wird; und die Größe des Zwischenspeichers zur Auflösung (505) der Größe einer Seite des nichtflüchtigen Speichers entspricht (230).
  4. Die Methode zur Auflösung unaufgelöster Referenzen im Computer-Code der Ansprüche 1, 2 oder 3, bei der: der Computer-Code eine konvertierte Applet-Datei (315) umfasst.
  5. Ein computerlesbares Medium, das greifbar ein Programm von maschinenlesbaren Anweisungen zur Erzeugung eines Prozessors (205) hat, um eine Methode zur Auflösung von unaufgelösten Referenzen im Computer-Code auszuüben, der auf eine Chipkarte geladen ist (100) und über einen nichtflüchtigen Speicher (230) und einen Direktzugriffsspeicher (220) verfügt, wobei der Computer-Code im nichtflüchtigen Speicher (230) platziert ist; diese Methode umfasst folgendes: a) Kopieren eines Anteils des Inhalts des nichtflüchtigen Speichers (230) in einen Zwischenspeicher zur Auflösung (505); b) Erfassen wenigstens einer unaufgelösten Referenz im Computer-Code im Anteil des Inhalts des nichtflüchtigen Speichers (230); c) Bestimmen der aufgelösten Referenz für mindestens eine unaufgelöste Referenz; d) Aktualisieren des Inhalts des Zwischenspeichers zur Auflösung (505) mit der aufgelösten Referenz für mindestens eine erfasste unaufgelöste Referenz; und e) Ersetzen des Inhalts des Anteils des nichtflüchtigen Speichers (230) durch den Inhalt des Zwischenspeichers zur Auflösung (505).
  6. Das computerlesbare Medium des Anspruchs 5 mit weiteren Anweisungen zur Erzeugung eines Prozessors, um eine Methode auszuführen, die Folgendes umfasst: f) Konfigurieren der Größe des Zwischenspeichers zur Auflösung (505) als ganzzahliges Vielfaches der Größe einer Seite des nichtflüchtigen Speichers (230); und g) Aufteilen des Computer-Codes in eine Vielzahl an logischen Parzellen, wobei die Größe einer jeden Parzelle der Größe des Zwischenspeichers zur Auflösung entspricht.
  7. Das computerlesbare Medium des Anspruchs 6 mit weiteren Anweisungen, um einen Prozessor (205) zu veranlassen, die einzelnen Schritte a), b), c), d) und e) gemeinsam bei jeder Parzelle auszuführen, bevor mit der nächsten Parzelle weitergemacht wird, wobei mit einer ersten Parzelle angefangen und mit den nachfolgenden Parzellen weitergemacht wird.
  8. Eine Chipkarte (100), die so konfiguriert ist, dass sie einen Computer-Code mit unaufgelösten Referenzen im Computer-Code enthält und Folgendes umfasst: einen nichtflüchtigen Speicher (230); einen Direktzugriffsspeicher (220); einen Zwischenspeicher zur Auflösung (505) im Direktzugriffsspeicher (220); einen Prozessor (205), der mit dem nichtflüchtigen Speicher (230) und dem Zwischenspeicher zur Auflösung (505) verbunden ist; und ein Installationsprogrammmodul (210), um den Prozessor (205) mit logischer Bedienung zum Empfang des Computer-Codes im nichtflüchtigen Speicher (230) zu bringen; weiterhin wird der Prozessor (205) mit logischer Bedienung zur Auflösung unaufgelöster Referenzen im Computer-Code gebracht, indem a) ein Anteil des Inhalts des nichtflüchtigen Speichers (230) in den Zwischenspeicher zur Auflösung (505) kopiert wird; b) mindestens eine unaufgelöste Referenz im Computer-Code im Anteil des Inhalts des Speichers erfasst wird; c) die aufgelöste Referenz für mindestens eine erfasste unaufgelöste Referenz bestimmt wird; d) der Inhalt des Zwischenspeichers zur Auflösung (505) mit der aufgelösten Referenz für mindestens eine erfasste unaufgelöste Referenz aktualisiert wird; und e) der Anteil des Inhalts des nichtflüchtigen Speichers (230) durch den Inhalt des Zwischenspeichers zur Auflösung (505) ersetzt wird.
  9. Die Chipkarte von Anspruch 8 bringt den Prozessor (205) weiterhin mit logischer Bedienung dazu, unaufgelöste Referenzen im Computer-Code aufzulösen, indem: f) die Größe des Zwischenspeichers zur Auflösung (505) so konfiguriert wird, dass sie ein ganzzahliges Vielfaches einer Seite des nichtflüchtigen Speichers (230) ist; und g) der Computer-Code in eine Vielzahl an logischen Parzellen aufgeteilt wird, wobei die Größe einer jeden Parzelle der Größe des Zwischenspeichers zur Auflösung (505) entspricht.
  10. Die Chipkarte von Anspruch 10, wobei die einzelnen Schritte a), b), c), d) und e) gemeinsam bei jeder Parzelle ausgeführt werden, bevor mit der nächsten Parzelle weitergemacht wird, wobei mit einer ersten Parzelle angefangen und mit den nachfolgenden Parzellen weitergemacht wird.
  11. Die Chipkarte der Ansprüche 8, 9 oder 10, wobei der Computer-Code eine konvertierte Applet-Datei (315) umfasst
DE60224937T 2001-08-31 2002-08-13 Verfahren und anordnung zum verknüpfen von verwandelten appletdateien Expired - Lifetime DE60224937T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US945107 2001-08-31
US09/945,107 US6779732B2 (en) 2001-08-31 2001-08-31 Method and apparatus for linking converted applet files
PCT/US2002/025650 WO2003021428A1 (en) 2001-08-31 2002-08-13 Method and apparatus for linking converted applet files

Publications (2)

Publication Number Publication Date
DE60224937D1 DE60224937D1 (de) 2008-03-20
DE60224937T2 true DE60224937T2 (de) 2009-02-12

Family

ID=25482628

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60224937T Expired - Lifetime DE60224937T2 (de) 2001-08-31 2002-08-13 Verfahren und anordnung zum verknüpfen von verwandelten appletdateien

Country Status (7)

Country Link
US (1) US6779732B2 (de)
EP (1) EP1421478B1 (de)
CN (1) CN1302378C (de)
AT (1) ATE385588T1 (de)
BR (1) BRPI0212222B1 (de)
DE (1) DE60224937T2 (de)
WO (1) WO2003021428A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131121B2 (en) * 2001-11-14 2006-10-31 Axalto, Inc. Method and apparatus for linking converted applet files without relocation annotations
US7246347B1 (en) * 2002-06-26 2007-07-17 Sun Microsystems, Inc Method and apparatus for loading class files into non-volatile memory
US9569777B2 (en) 2005-02-07 2017-02-14 Mynette Technologies, Inc. EPassport including shielding method
US8816826B2 (en) * 2005-05-06 2014-08-26 Steven M. Colby Passive radio frequency data logger
US9524458B2 (en) 2005-02-07 2016-12-20 Mynette Technologies, Inc. Switchable epassport including shielding
US20070200682A1 (en) 2005-05-06 2007-08-30 Colby Steven M RFID Device Including Multiple Active Modes
EP1724677A1 (de) * 2005-05-19 2006-11-22 Axalto SA System und Verfahren zur Speicherverwaltung in tragbarem Gerät
CN1313927C (zh) * 2005-06-16 2007-05-02 北京航空航天大学 智能卡运行环境的控制方法
DE102011113091A1 (de) * 2011-09-09 2013-03-14 Giesecke & Devrient Gmbh Programmpaketinstallation
CN102566971A (zh) * 2011-12-31 2012-07-11 北京握奇数据系统有限公司 一种指令解析方法、装置及智能卡
EP3176695A1 (de) 2015-12-04 2017-06-07 Gemalto Sa Verfahren zur verwaltung eines pakets in einem sicheren element
EP4145271A1 (de) * 2021-09-02 2023-03-08 IDEMIA France Verfahren und endgerät zur aktualisierung einer umgewandelten applet-datei und java-kartenvorrichtung

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734822A (en) 1995-12-29 1998-03-31 Powertv, Inc. Apparatus and method for preprocessing computer programs prior to transmission across a network
US5999732A (en) * 1998-03-23 1999-12-07 Sun Microsystems, Inc. Techniques for reducing the cost of dynamic class initialization checks in compiled code
HUP0101368A3 (en) 1998-03-23 2004-04-28 Ibm Java runtime system with modified constant pool
DE69817333T2 (de) 1998-06-05 2004-06-09 International Business Machines Corp. Verfahren und Vorrichtung zum Laden von Befehlskodes in einen Speicher und zum Verbinden dieser Befehlskodes
US6338160B1 (en) * 1998-12-08 2002-01-08 Nazomi Communications, Inc. Constant pool reference resolution method
US6880155B2 (en) 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking

Also Published As

Publication number Publication date
DE60224937D1 (de) 2008-03-20
EP1421478A1 (de) 2004-05-26
BR0212222A (pt) 2004-09-21
US20030042318A1 (en) 2003-03-06
CN1559031A (zh) 2004-12-29
EP1421478B1 (de) 2008-02-06
CN1302378C (zh) 2007-02-28
US6779732B2 (en) 2004-08-24
WO2003021428A1 (en) 2003-03-13
ATE385588T1 (de) 2008-02-15
BRPI0212222B1 (pt) 2016-01-26

Similar Documents

Publication Publication Date Title
DE69123775T2 (de) Programmsteuersystem für eine tragbare Datenspeichervorrichtung
DE60031370T2 (de) Tokenbasierte verknüpfung
DE60210416T2 (de) Speicherkarte
DE60224937T2 (de) Verfahren und anordnung zum verknüpfen von verwandelten appletdateien
DE19536548A1 (de) Vorrichtung und Verfahren zur vereinfachten Erzeugung von Werkzeugen zur Initialisierung und Personalisierung von und zur Kommunikation mit einer Chipkarte
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE102006029690A1 (de) Beibehaltung einer Identifikation einer elektronischen Steuereinheit bei Umprogrammierungsereignissen
DE69932412T2 (de) Chipkartenkonfiguration
DE69933142T2 (de) Chipkarte und verfahren zur verwaltung eines flüchtigen speichers auf derselben
DE19626337A1 (de) Verarbeitung langer Nachrichten in einer Prozessorkarte
WO2002019264A1 (de) Verfahren zur virtuellen vergrösserung des stacks eines tragbaren datenträgers
WO2005055052A2 (de) Java smart card chip mit für globale variablen reserviertem speicherbereich
DE10102202A1 (de) Mikroprozessorschaltung für tragbare Datenträger
EP1709534B1 (de) Ausführung eines programms durch eine virtuelle maschine
DE69729622T2 (de) Verfahren und gerät zur evolution eines programmes in rom
DE60024341T2 (de) Tragbare elektronische Vorrichtung
WO2004100090A1 (de) Speicherverwaltung bei einem tragbaren datenträger
DE69900501T2 (de) Blockweises laden von computerprogrammen
WO1998059325A2 (de) Chipkarte zur ausführung von nicht änderbaren system-programmroutinen und diesen zugeordneten ersatz-programmroutinen, sowie verfahren zum betrieb der chipkarte
DE102007027935A1 (de) Tragbarer Datenträger und Verfahren zur Personalisierung eines tragbaren Datenträgers
EP1516245B1 (de) Vorrichtung und verfahren zum verarbeiten einer sequenz von sprungbefehlen
DE10224767A1 (de) Personalisiertes digitales Datenverarbeitungssystem
EP1062630B1 (de) Datenträger
DE10145783A1 (de) Erzeugen einer Nachricht zur Fehlersuche bei einem tragbaren Datenträger
DE102004005676A1 (de) Datenträger mit plattformunabhängigem Anwendungs-Programmcode

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: AXALTO TECHNOLOGY, LTD., TORTOLA, VA

8364 No opposition during term of opposition