DE102007041873A1 - Patch installing method for e.g. object oriented programming language card in mobile phone, involves forming class hierarchy using classes in program package, and including patch in class hierarchy as subclass of one of classes - Google Patents
Patch installing method for e.g. object oriented programming language card in mobile phone, involves forming class hierarchy using classes in program package, and including patch in class hierarchy as subclass of one of classes Download PDFInfo
- Publication number
- DE102007041873A1 DE102007041873A1 DE102007041873A DE102007041873A DE102007041873A1 DE 102007041873 A1 DE102007041873 A1 DE 102007041873A1 DE 102007041873 A DE102007041873 A DE 102007041873A DE 102007041873 A DE102007041873 A DE 102007041873A DE 102007041873 A1 DE102007041873 A1 DE 102007041873A1
- Authority
- DE
- Germany
- Prior art keywords
- class
- patch
- smart card
- patched
- classes
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/355—Personalisation of cards for use
- G06Q20/3552—Downloading or loading of personalisation data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4492—Inheritance
Abstract
Description
Die Erfindung betrifft allgemein das technische Gebiet der Installation von Patches in Smartcard-Modulen. Ein Smartcard-Modul in der Wortwahl des vorliegenden Dokuments kann beispielsweise die Bauform einer Chipkarte oder eines kompakten Chipmoduls aufweisen.The This invention relates generally to the technical field of installation patches in smart card modules. A smartcard module in the wording of the present document, for example, the design of a Have a smart card or a compact chip module.
Smartcard-Module werden für eine Vielzahl von Anwendungen eingesetzt. Neben den ursprünglich vorherrschenden Ausgestaltungen als Chipkarten oder einsteckbare Chipmodule – z. B. SIMs für Mobiltelefone – werden in zunehmendem Umfang Smartcard-Module entwickelt, die zum festen Einbau in Geräte vorgesehen sind. Solche eingebaute Module können beispielsweise als NFC-Module (NFC = Near Field Communications) ausgestaltet sein, die die Funktion einer Smartcard mit einer drahtlosen Kommunikationsschnittstelle kurzer Reichweite kombinieren.Smart card modules are used for a variety of applications. Next the originally prevailing embodiments as smart cards or plug-in chip modules - z. B. SIMs for Mobile phones - are becoming increasingly smart card modules designed for fixed installation in equipment are. Such built-in modules can, for example, as NFC modules (NFC = Near Field Communications) be designed which short the function of a smartcard with a wireless communication interface Combine range.
Die
vorliegend betrachteten Ausgestaltungen von Smartcard-Modulen weisen
Systemprogramme auf, die eine objektorientierte Laufzeitumgebung
bereitstellen. Derartige Smartcard-Module sind z. B. unter der Marke
Java Card bekannt. Das Dokument
Viele Smartcard-Module enthalten umfangreiche und komplexe Software. Dies gilt insbesondere für Java-Card-Module, weil diese relativ aufwändig sind und daher primär für anspruchsvolle Aufgaben eingesetzt werden. Auch wenn die in einem Smartcard-Modul enthaltene Software mit großer Sorgfalt erstellt wird, sind Fehler nicht völlig auszuschließen. Um derartige Fehler vor der Auslieferung des Smartcard-Moduls zu korrigieren, ist es bekannt, im Zuge der Komplettierung oder der Initialisierung des Smartcard-Moduls Patches in das Modul einzubringen. Gemäß dem allgemein üblichen Sprachgebrauch wird hierbei unter einem Patch oder "Flicken" Programmcode verstanden, der kein eigenständiges System- oder Anwendungsprogramm darstellt, sondern zur Modifikation eines bestehenden Programms – insbesondere zur Fehlerkorrektur oder Funktionserweiterung – dient.Lots Smartcard modules contain extensive and complex software. This This is especially true for Java Card modules because these are relative are complex and therefore primarily for demanding Tasks are used. Even if the in a smart card module included software is created with great care, Errors can not be completely ruled out. To such Correct errors before delivery of the smart card module, It is known in the course of completion or initialization of the smart card module to introduce patches into the module. According to the common usage is here under a Patch or "patch" program code understood that is not a stand-alone System or application program, but for modification of an existing program - in particular for error correction or functional extension - serves.
Die gerade erwähnte Patch-Möglichkeit ist jedoch nach der Komplettierung bzw. Initialisierung des Smartcard-Moduls nicht mehr nutzbar. Wird ein schwerwiegender Fehler erst nach diesem Zeitpunkt entdeckt, so kann ein Austausch des Smartcard-Moduls erforderlich werden. Bei einem Smartcard-Modul in Chipkarten-Bauform besteht das Problem weniger in den Kosten für eine neue Chipkarte, sondern vielmehr in dem logistischen Aufwand, der entsteht, wenn sich die Chipkarte bereits beim Endverbraucher befindet. Handelt es sich dagegen um ein fest in ein Gerät eingebautes Smartcard-Modul wie z. B. ein NFC-Modul, so sind möglicherweise viele bereits produzierte Geräte unbrauchbar oder in ihrer Funktion stark eingeschränkt. Je nach dem Wert der Geräte kann dadurch großer Schaden entstehen.The just mentioned patch possibility is after the completion or initialization of the smart card module not more usable. Will be a serious error after this time discovered, it may require replacement of the smart card module become. In a smart card module in chip card design is the problem less in the cost of a new smart card, but rather in the logistical effort that arises when the chip card is already at the end user. These it is a built-in smart device module such as As an NFC module, so many may already be produced devices unusable or strong in their function limited. Depending on the value of the devices can this causes great damage.
Bei Java-Card-Modulen ist es prinzipiell denkbar, ein bestehendes – fehlerhaftes – Programmpaket (package) zu löschen und eine korrigierte Fassung des Programmpakets neu zu laden. Dies ist jedoch nur möglich, wenn noch keine Objekte angelegt wurden und noch kein anderes Programmpaket auf das zu korrigierende Programmpaket gelinkt wurde. Diese Voraussetzungen sind sehr einschränkend und verhindern in den meisten Fällen das Patchen eines Smartcard-Moduls, das gerade personalisiert wird oder sich bereits beim Endverbraucher befindet.at Java Card modules, it is in principle conceivable, an existing - erroneous - package (package) delete and a corrected version of the program package reload. However, this is only possible if not yet Objects have been created and no other program package yet the program package to be corrected has been linked. These requirements are very restrictive and prevent in most cases patching a smart card module that is currently being personalized or already at the end user.
Das
Die Erfindung hat die Aufgabe, eine Technik zur Installation eines Patch in einem Smartcard-Modul bereitzustellen, die umfassend einsetzbar ist, also insbesondere auch dann, wenn sich das Smartcard-Modul bereits in den letzten Stufen der Herstellung oder sogar schon beim Endverbraucher befindet. Es ist ferner eine Aufgabe mancher Ausführungsformen der Erfindung, bereits im Smartcard-Modul vorhandene Daten möglichst weitgehend über den Patchvorgang hinweg zu erhalten.The The invention has the object of a technique for installing a patch in a smart card module that can be used extensively is, in particular even if the smart card module already in the last stages of production or even at End user. It is also an object of some embodiments the invention, as far as possible existing data in the smart card module largely to get over the patch process away.
Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen des Anspruchs 1, ein Verfahren mit den Merkmalen des Anspruchs 6, einen maschinenlesbaren Datenträger gemäß Anspruch 15 und ein Smartcard-Modul gemäß Anspruch 16 gelöst. Die abhängigen Ansprüche betreffen optionale Merkmale einiger Ausgestaltungen der Erfindung.According to the invention, this object is achieved by a method having the features of claim 1, a method having the features of claim 6, a machine-readable data carrier according to claim 15 and a smart card module according to claim 16. The dependent claims relate to optional features of some embodiments of the invention.
Ein erster Aspekt der Erfindung geht von der Grundidee aus, den Patch in die Klassenhierarchie als Subklasse der gepatchten Klasse einzufügen. Hierdurch kann der bei objektorientierten Laufzeitumgebungen vorhandene Polymorphie-Mechanismus in natürlicher Weise verwendet werden, um den im Patch vorhandenen Programmcode korrekt in die Aufrufordnung der Klassen des Programmpakets einzubinden. In manchen Ausgestaltungen wird der Patch ähnlich wie beim dynamischen Nachladen einer Klasse im Speicher des Smartcard-Moduls angelegt.One The first aspect of the invention is based on the basic idea, the patch into the class hierarchy as a subclass of the patched class. This allows the existing object-oriented runtime environments Polymorphism mechanism used in a natural way to correctly place the code in the patch into the Include call order of the classes of the program package. In some embodiments the patch will be similar to dynamic reloading Class created in the memory of the smart card module.
In manchen Ausführungsformen wird der Patch ferner in die Klassenhierarchie als Superklasse jeder ursprünglichen Subklasse der gepatchten Klasse eingefügt. Diese Maßnahme stellt sicher, dass Elemente (z. B. Methoden oder Felder) des Patch von abgeleiteten Klassen im selben Programmpaket korrekt angesprochen werden. Um den Patch auch für externe abgeleitete Klassen (also Subklassen der gepatchten Klasse, die sich in einem anderen Programmpaket befinden) bereitzustellen, wird in manchen Ausgestaltungen ferner für mindestens ein vom Patch überschriebenes Element (z. B. eine Methode oder ein Feld) der gepatchten Klasse der Patch in eine Exportkomponente eingetragen.In In some embodiments, the patch is further incorporated into the Class hierarchy as superclass of each original Subclass of the patched class inserted. This measure Make sure that elements (such as methods or fields) of the patch of derived classes in the same program package correctly addressed become. To the patch also for external derived classes (ie subclasses of the patched class that are in another Program package) will in some embodiments also for at least one overwritten by the patch Element (for example, a method or a field) of the patched class the patch is entered in an export component.
Gemäß einem zweiten Aspekt der Erfindung wird mindestens eine Instanzfeldstruktur der gepatchten Klasse und/oder einer Subklasse davon an den Patch angepasst. Dies hat den erheblichen Vorteil, dass bereits im Smartcard-Modul enthaltene Daten (z. B. persönliche Daten des Benutzers, die beider Personalisierung in das Smartcard-Modul eingetragen wurden) weitgehend oder vollständig erhalten werden können. Das Anpassen der Instanzfeldstruktur kann in manchen Ausführungsformen z. B. beinhalten, dass ein Feld angehängt oder eingefügt wird und/oder dass der Typ eines Feldes geändert wird.According to one second aspect of the invention is at least one instance field structure the patched class and / or a subclass thereof to the patch customized. This has the considerable advantage that already in the smart card module contained data (eg personal data of the user, the two personalization have been entered in the smart card module) can be largely or completely preserved. Customizing the instance field structure may be in some embodiments z. For example, include a field appended or inserted and / or that the type of a field is changed.
In vielen Ausgestaltungen werden Maßnahmen getroffen, um ein nicht autorisiertes Patchen des Smartcard-Datenträgers, das erhebliche Schäden verursachen könnte, zu verhindern. Beispielsweise kann vorgesehen sein, dass die zu patchende Klasse oder eine Superklasse bestimmt oder zumindest beeinflusst, ob der Patch installiert werden darf. Hierdurch können die Authentisierungsanforderungen klassenindividuell festgelegt werden, und der bei objektorientierten Laufzeitumgebungen vorhandene Vererbungsmechanismus kann in vorteilhafter Weise verwendet werden, um die Zulässigkeit des Patchvorgangs zu bestimmen.In many designs are taken to a unauthorized patching of the smart card data carrier, which could cause significant damage, too prevent. For example, it may be provided that the patch to be patched Class or superclass determines or at least influences whether the patch may be installed. This allows the Authentication requirements are set class-specific, and the inheritance mechanism that exists in object-oriented runtime environments be used advantageously to the admissibility of the patching process.
In den Ausführungsbeispielen des vorliegenden Dokuments werden hauptsächlich Smartcard-Module nach dem Java-Card-Standard beschrieben. Die Erfindung ist jedoch auch zur Verwendung bei anderen Smartcard-Modulen geeignet, die ähnliche Strukturen aufweisen. Dies können beispielsweise Smartcard-Module nach dem .NET-Standard sein.In the embodiments of the present document mainly smart card modules according to the java card standard described. However, the invention is also suitable for use with other smart card modules, which have similar structures. This can For example, smart card modules according to the .NET standard.
Der erfindungsgemäße maschinenlesbare Datenträger kann als körperliches Medium – z. B. als Diskette oder CD-ROM oder Halbleiterspeicher – oder als nicht-körperliches Medium – z. B. als über ein Computernetzwerk übermitteltes Signal – ausgestaltet sein. Der Datenträger kann beispielsweise bei der Herstellung und/oder Komplettierung und/oder Initialisierung des Smartcard-Moduls verwendet werden, um eine Patchroutine mit der erfindungsgemäßen Funktionalität in das Smartcard-Modul einzubringen.Of the inventive machine-readable data carrier can be used as a physical medium - eg. B. as a floppy disk or CD-ROM or semiconductor memory - or as non-physical Medium - eg. As transmitted over a computer network Signal - be configured. The disk can for example, in the manufacture and / or completion and / or Initialization of the smart card module used to be a patch routine with the functionality according to the invention into the smart card module.
Weitere Merkmale, Vorteile und Aufgaben der Erfindung gehen aus der folgenden genauen Beschreibung eines Ausführungsbeispiels und mehrerer Ausführungsalternativen hervor. Es wird auf die schematischen Zeichnungen verwiesen, in denen zeigen:Further Features, advantages and objects of the invention will become apparent from the following detailed description of an embodiment and several Implementation alternatives. It is on the schematic Drawings referenced in which:
Das
in
Der
Speicher
Das
Smartcard-Modul
In
Im
nicht-flüchtigen überschreibbaren Speicher
In
dem hier beschriebenen Ausführungsbeispiel befinden sich
sowohl die Klassenfeldstrukturen
Das
Patchpaket
Der
in
Die
Klassen A, B, C weisen ferner Bytecode der von ihnen implementierten
Methoden auf.
Das
Programmpaket
Vor
dem Patchvorgang weist der Heap
In
der Darstellung von
Das
in
Der
Patch P ist im wesentlichen wie eine Klasse aufgebaut und weist
daher auch dieselben Komponenten wie eine Klasse auf. Unter anderem
sind dies eine Klassenkomponente CLASS, Bytecode für die
vom Patch P implementierten Methoden, ein Konstantenpool, und so
weiter. Das Anlegen der Speicherstrukturen in Schritt S1 (
In
Schritt S2 wird der Patch P nun in die Klassenhierarchie als Subklasse
der zu patchenden Klasse – hier B – eingefügt.
Hierzu wird ein Verweis
Abgeleitete
Klassen der gepatchten Klasse sollen nur dann eine Methode der gepatchten
Klasse aufrufen, wenn diese Methode nicht durch den Patch P ersetzt
wurde. Für Klassen, die von der gepatchten Klasse intern
abgeleitet sind – also Klassen, deren Superklasse die gepatchte
Klasse ist und die sich im selben Programmpaket
Im
vorliegenden Beispiel ist die Klasse C die einzige intern abgeleitete
Klasse, und deren Verweis
Insgesamt
ist durch die Schritte S2, S3 und S4 der Patch P in die Klassenhierarchie
"zwischen" die gepatchte Klasse B und deren ursprüngliche
Subklassen – hier C – eingebunden worden. Dies
ermöglicht es, die von der Java-Card-Umgebung bereitgestellte
Polymorphie zu nutzen, um die im Patch P enthaltenen Methoden in
der gewünschten Weise in das Programmpaket
Klassen
die sich nicht im Programmpaket
Die
in Schritt S5 ausgeführte Anpassung ist in
Wenn
der Patch P keine Objekte mit eigenen Instanzvariablen deklariert,
dann ist der Installationsvorgang nun abgeschlossen, wie dies in
Wenn
die Methoden des Patch P zusätzliche Felder für
Instanzvariablen benötigen und/oder für bestehende
Felder einen anderen Typ erfordern, so werden auf jeden Fall die
Schritte S6–S10 ausgeführt, in denen die bereits
im Heap
In
Schritt S6 werden alle Instanzfeldstrukturen
In
dem in
Während
in dem Beispiel gemäß
In
einem Ausführungsbeispiel enthält die Anpassungsbeschreibung
Ein
solcher beispielhafter Eintrag gibt an, dass eine alte Instanzfeldstruktur
In
den weiteren Schritten S9 und S10 werden diejenigen Instanzfeldstrukturen
In
dem in
In
Ausführungsvarianten der gerade beschriebenen Schritte
werden die bestehenden Instanzfeldstrukturen
Es
versteht sich, dass die Aufteilung der Schritte S6–S8 und
S9–S10 in
Ferner
versteht sich, dass in möglichen Implementierungen die
in
Das
hier beschriebene Verfahren gestattet die Installation des Patch
P in einer ungesicherten Umgebung, also beispielsweise, wenn sich
das Smartcard-Modul
In diesem Zusammenhang ist es ein besonderes Merkmal vieler Ausführungsformen der Erfindung, dass die zu patchende Klasse oder eine Superklasse davon – hier z. B. die Klassen B oder A – bestimmt oder zumindest beeinflusst, ob die Patchinstallation zugelassen wird. Auf diese Weise können unterschiedliche Sicherheitsanforderungen unproblematisch berücksichtigt werden. Beispielsweise kann eine Klasse, die lediglich ein Adressbuch verwaltet, die Installation eines Patches zulassen, während eine sicherheitskritische Klasse, die z. B. für die Kennwortüberprüfung zuständig ist, keine Veränderung erlaubt.In In this context, it is a particular feature of many embodiments the invention that the class to be patched or a superclass of it - here z. B. classes B or A - determined or at least influenced if the patch installation allowed becomes. In this way, different security requirements be considered without problems. For example, can a class that maintains only an address book, the installation allow a patch while a security critical Class, the z. For password verification is responsible, no change allowed.
Im
hier beschriebenen Ausführungsbeispiel führt die
Patchroutine
In
Schritt T2 überprüft die Patchroutine
Im
vorliegenden Beispiel ist gemäß
In Schritt T3 wird durch einen Aufruf der Methode "authorize" bestimmt, ob der Patch P installiert werden darf. Hierbei ist grundsätzlich die Klasse, die das Interface "patchable" implementiert, selbst für die Sicherheit verantwortlich. So erwartet die Methode "authorize" im vorliegenden Beispiel die Parameter "buffer", "offset" und "length", die auf Autorisierungsdaten des Patch P – z. B. ein Kennwort oder eine Signatur – verweisen. Ferner kann in manchen Ausgestaltungen vorgesehen sein, dass der Patch P ganz oder teilweise verschlüsselt ist; in diesem Fall muss der Code zusätzlich entschlüsselt werden.In Step T3 is determined by a call to the "authorize" method, whether the patch P may be installed. This is basically the class that implements the patchable interface itself responsible for safety. So the method awaits "authorize" in this example the parameters "buffer", "offset" and "length", which depends on authorization data of the patch P - z. For example, a password or a signature - refer. Further may be provided in some embodiments that the patch P is encrypted in whole or in part; in this case In addition, the code must be decrypted.
Die Funktionen zur Autorisierung des Patch P und gegebenenfalls zur Entschlüsselung von Programmcode brauchen nicht notwendigerweise in der Klasse der Methode "authorize" implementiert zu sein. Vielmehr ist in manchen Ausführungsformen vorgesehen, dass die Methode "authorize" auf Funktionen zurückgreift, die von einer Security Domain bereitgestellt werden.The Functions for the authorization of the patch P and, if necessary, for Decryption of program code does not necessarily need to be implemented in the class of the method "authorize". Much more In some embodiments, it is provided that the method "authorize" accesses functions from a Security domain be provided.
Im
Einklang mit dem üblichen Sprachgebrauch ist eine Security
Domain eine auf dem Smartcard-Modul
Als Abwehrmaßnahme gegen Angriffe, bei denen der Berechnungsablauf der Autorisierungsüberprüfung in Schritt T3 durch externe Einwirkung gestört wird, kann die Autorisierungsüberprüfung oder ein Teil davon mehrfach durchgeführt werden, indem z. B. die Methode "authorize" mehrfach aufgerufen wird. Die Ergebnisse werden dann verglichen, und die Erlaubnis zur Installation des Patch wird nur bei positiver Übereinstimmung erteilt.When Defense against attacks in which the calculation process the authorization check in step T3 external interference is disturbed, the authorization verification or part of it can be done several times by z. For example, the method "authorize" is called multiple times. The results are then compared, and permission to install the patch will only be issued if the match is positive.
Wenn
in Schritt T4 festgestellt wird, dass die Autorisierung zur Installation
des Patch P erteilt wurde, wird in Schritt T5 das Installationsverfahren
gemäß
Es versteht sich, dass zumindest der von der zu patchenden Klasse ausgeführte Schritt T3 abgeschlossen sein muss, bevor der eigentliche Patchvorgang in Schritt T5 beginnt. Mit anderen Worten darf während des Patchvorgangs kein Thread aktiv sein, der die zu patchende Klasse oder Objekte davon betrifft.It It is understood that at least the one executed by the class to be patched Step T3 must be completed before the actual patching process begins in step T5. In other words, during In the patching process, no thread that is the class to be patched will be active or objects thereof.
In dem hier beschriebenen Ausführungsbeispiel reicht es aus, wenn das Interface "patchable" in der zu patchenden Klasse oder einer ihrer Superklassen implementiert ist. Die Eigenschaft, patchbar zu sein, ist somit vererbbar. Der bei Java-Card-Umgebungen übliche Vererbungsmechanismus kann in vorteilhafter Weise auch eingesetzt werden, wenn eine abgeleitete Klasse aus Sicherheitsgründen nicht patchbar sein soll. Diese abgeleitete Klasse braucht dann lediglich das Interface "patchable" neu zu implementieren.In the embodiment described here it is sufficient if the interface is "patchable" in the class to be patched or one of its superclasses is implemented. The property, patchable Being thus is hereditary. The usual in Java Card environments Inheritance mechanism can also be used advantageously if a derived class for security reasons should not be patchable. This derived class then needs just to reimplement the interface "patchable".
Es versteht sich, dass in Abwandlungen statt eines Interface "patchable" auch ein Interface "non-patchable" vorgesehen sein kann, das die Patchbarkeit einer Klasse und der davon abgeleiteten Klassen ausschließt.It understands that in modifications instead of an interface "patchable" also an interface "non-patchable" can be provided, which the Patchability of a class and its derived classes.
In
weiteren Ausführungsalternativen können die Klassen
eines Programmpakets
Es versteht sich, dass die hier beschriebenen Ausführungsformen und Ausführungsvarianten lediglich als Beispiele zu sehen sind. Weitere Abwandlungen und Kombinationen der hier beschriebenen Merkmale sind für den Fachmann unmittelbar ersichtlich.It it should be understood that the embodiments described herein and variants to see only as examples are. Further modifications and combinations of the ones described here Features will be readily apparent to those skilled in the art.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- - US 6202208 [0007] - US 6202208 [0007]
- - DE 102007003580 [0030] - DE 102007003580 [0030]
Zitierte Nicht-PatentliteraturCited non-patent literature
- - "Runtime Environment Specification Java CardTM Platform, Version 2.2.2", März 2006 [0003] - "Runtime Environment Specification Java CardTM Platform, Version 2.2.2", March 2006 [0003]
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007041873A DE102007041873A1 (en) | 2007-09-04 | 2007-09-04 | Patch installing method for e.g. object oriented programming language card in mobile phone, involves forming class hierarchy using classes in program package, and including patch in class hierarchy as subclass of one of classes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007041873A DE102007041873A1 (en) | 2007-09-04 | 2007-09-04 | Patch installing method for e.g. object oriented programming language card in mobile phone, involves forming class hierarchy using classes in program package, and including patch in class hierarchy as subclass of one of classes |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102007041873A1 true DE102007041873A1 (en) | 2009-03-05 |
Family
ID=40299153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102007041873A Withdrawn DE102007041873A1 (en) | 2007-09-04 | 2007-09-04 | Patch installing method for e.g. object oriented programming language card in mobile phone, involves forming class hierarchy using classes in program package, and including patch in class hierarchy as subclass of one of classes |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102007041873A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783040B (en) * | 2008-12-23 | 2011-08-17 | 深圳市莫廷影像技术有限公司 | Smart card swipe machine and information exchange method |
CN103455342A (en) * | 2013-06-06 | 2013-12-18 | 广州市久邦数码科技有限公司 | Theme calling method and device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202208B1 (en) | 1998-09-29 | 2001-03-13 | Nortel Networks Limited | Patching environment for modifying a Java virtual machine and method |
US20070074187A1 (en) * | 2005-09-29 | 2007-03-29 | O'brien Thomas E | Method and apparatus for inserting code fixes into applications at runtime |
DE102007003580A1 (en) | 2007-01-24 | 2008-07-31 | Giesecke & Devrient Gmbh | Install a patch in a smart card module |
-
2007
- 2007-09-04 DE DE102007041873A patent/DE102007041873A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202208B1 (en) | 1998-09-29 | 2001-03-13 | Nortel Networks Limited | Patching environment for modifying a Java virtual machine and method |
US20070074187A1 (en) * | 2005-09-29 | 2007-03-29 | O'brien Thomas E | Method and apparatus for inserting code fixes into applications at runtime |
DE102007003580A1 (en) | 2007-01-24 | 2008-07-31 | Giesecke & Devrient Gmbh | Install a patch in a smart card module |
Non-Patent Citations (1)
Title |
---|
"Runtime Environment Specification Java CardTM Platform, Version 2.2.2", März 2006 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783040B (en) * | 2008-12-23 | 2011-08-17 | 深圳市莫廷影像技术有限公司 | Smart card swipe machine and information exchange method |
CN103455342A (en) * | 2013-06-06 | 2013-12-18 | 广州市久邦数码科技有限公司 | Theme calling method and device |
CN103455342B (en) * | 2013-06-06 | 2016-08-10 | 广州市久邦数码科技有限公司 | The method and device that a kind of theme calls |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2318921B1 (en) | Loading and updating an application requiring personalization | |
DE102007003580A1 (en) | Install a patch in a smart card module | |
DE60308990T2 (en) | PROTECTION OF A DEVICE AGAINST UNWANTED USE IN A SAFE ENVIRONMENT | |
DE102014220616A1 (en) | Method for loading executable program instructions into a chip card in active operation | |
DE102012015573A1 (en) | Method for activating an operating system in a security module | |
DE102013013179A1 (en) | Method for operating a security element | |
DE10324337B4 (en) | Computer system and associated method for performing a safety program | |
DE102004057490B4 (en) | Device and method for processing a program code | |
EP1695207A2 (en) | Java smart card chip comprising a memory area reserved for global variables | |
DE102007041873A1 (en) | Patch installing method for e.g. object oriented programming language card in mobile phone, involves forming class hierarchy using classes in program package, and including patch in class hierarchy as subclass of one of classes | |
EP2987078B1 (en) | Method for providing an application on a security module, and such a security module | |
EP2524333B1 (en) | Method for providing a secure counter on a terminal | |
WO2011033030A1 (en) | Method for installing and configuring applications on a portable data carrier | |
DE102018115758A1 (en) | Security of Java Card key objects | |
DE102004058882A1 (en) | Generating program code in a load format and providing executable program code | |
EP3329415B1 (en) | Chipcard with a main and a persistent application allows an update of the main application without changes to the user data stored in the persistens application | |
EP3215957B1 (en) | Chip card, chip card system, and method for accessing a chip card | |
EP2573677B1 (en) | Data exchange between applications | |
DE102021001883A1 (en) | Initialization and personalization of a UICC | |
DE102018006208A1 (en) | Chipset, for terminal, with updatable program | |
EP1638058A2 (en) | Verification of a data carrier before the installation of an application program | |
DE102011113091A1 (en) | Program package installation | |
EP1801694A2 (en) | Securing a portable data carrier against attacks | |
DE102005059248A1 (en) | Program code generating method for e.g. data oriented chip card, involves providing formal model that comprises of information about security parameter, and generating program codes such that security parameter is maintained | |
WO2015158419A1 (en) | Method for executing a code sequence on a security module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
R012 | Request for examination validly filed | ||
R012 | Request for examination validly filed |
Effective date: 20140827 |
|
R081 | Change of applicant/patentee |
Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, DE Free format text: FORMER OWNER: GIESECKE & DEVRIENT GMBH, 81677 MUENCHEN, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |