IP Library Granted Patent US 10,430,177
Granted Patent B2
US 10,430,177 · App. 15/767,395 · Granted Oct 1, 2019

Method for updating a package

Inventors: Christophe Franchi (Mimet, FR); François-Xavier Marseille (Marly le Roi, FR)
Assignee: THALES DIS FRANCE SA
G06F8/65G06F9/45558H04W4/50H04W4/60H04W12/0023H04W12/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,430,177
App. No.
15/767,395
Granted
Oct 1, 2019
Kind
B2
Abstract

The invention is a method of updating a first executable code comprised in a first package in a secure element, a class instance being instantiated from said first package and comprising instance data. The method comprises the following steps: loading in the secure element an upgrade file comprising a second executable code and creating a second package from said upgrade file, changing said first executable code for said second executable code by replacing a reference to the first package by a reference to the second package in a package list stored in the secure element, while leaving the class instance alive and said instance data unchanged.

Claims (18)

1. A computer-implemented method for updating a first executable code comprised in a first package in a secure element, a class instance being instantiated from said first package and comprising instance data,

wherein the secure element includes a package list comprising a reference to an active package, said active package being said first package, and said package list being separate from said class instance,

wherein said class instance comprises a package reference pointing at said reference to the active package in said package list,

wherein said method comprises the following steps:

loading in the secure element an upgrade file comprising a second executable code and creating a second package comprising said second executable code from said upgrade file, and

changing said first executable code for said second executable code by updating said reference to the active package in said package list by replacing a reference to the first package by a reference to the second package, while leaving the class instance alive and keeping the class instance unchanged, said class instance and said instance data remaining linked to the active package,

wherein the first executable code comprises a first entry of a class, wherein said class instance comprises a class reference to said first entry in said first package, wherein said class reference is separate from the instance data and is kept unchanged, wherein the second executable code comprises a second entry of said class and wherein said second entry is reachable in said second package through the class reference.

2. A method according to claim 1 , wherein said first package is disabled after the changing step.

3. A method according to claim 1 , wherein said first package is deleted after the changing step.

4. A method according to claim 1 , wherein the upgrade file comprises a static field and wherein the secure element ignores said static field.

5. A secure element comprising a processor and a first package including a first executable code, said secure element comprising a class instance instantiated from said first package and comprising instance data,

wherein said secure element comprises an agent including first instructions that, when executed by the processor, cause said agent to load an upgrade file comprising a second executable code and to create a second package from said upgrade file, said second package comprising said second executable code,

wherein said secure element includes a package list comprising a reference to an active package, said active package being said first package, said package list being separate from said class instance, wherein said class instance comprises a package reference pointing at said reference to the active package in said package list, and

wherein the agent includes second instructions that, when executed by the processor, cause said agent to change said first executable code for said second executable code by updating said reference to the active package in said package list by replacing the reference to the first package by a reference to the second package, while leaving the class instance alive and keeping the class instance unchanged,

wherein the first executable code comprises a first entry of a class, wherein said class instance comprises a class reference to said first entry in said first package, wherein said class reference is separate from the instance data and is kept unchanged, wherein the second executable code comprises a second entry of said class and wherein said second entry is reachable in said second package through the class reference.

6. A secure element according to claim 5 wherein the agent is configured to disable said first package after the reference to the first package has been replaced by the reference to the second package in the package list.

7. A secure element according to claim 5 wherein the upgrade file comprises a static field and wherein the secure element is configured to ignore said static field.

8. A secure element according to claim 5 wherein said secure element comprises a virtual machine compliant with JavaCard version 2.2, and wherein said first and second executable codes are designed to be run by the virtual machine.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: THALES DIS FRANCE SA
To: THALES DIS FRANCE SAS
Reel/Frame 064730/0766 →
CHANGE OF NAME Recorded Aug 20, 2019
From: GEMALTO SA
To: THALES DIS FRANCE SA
Reel/Frame 050110/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: FRANCHI, CHRISTOPHE; MARSEILLE, FRANÇOIS-XAVIER
To: GEMALTO SA
Reel/Frame 045503/0433 →