Secure Element Class Instance Management via External Load Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for managing instances of classes in secure elements, such as smart cards, face challenges in flexibility and efficiency during personalization operations due to limited resources and I/O interface protocol changes, leading to difficulties in executing commands and managing executable code.

Innovation Solution

A method for managing instances of classes in secure elements involves receiving a load file containing a binary representation of a package, instantiating the instance, and storing it, with custom components that allow direct execution of executable data through an API, enabling personalized instance management, automatic installation, security domain association, and verification of genuineness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If executable code for personalization operations is included in the applet code stored in the secure element, then the personalization can be performed, but the overall size of the applet executable code increases

Engineering Contradiction:
Improvepersonalization capabilityVSAvoidapplet executable code size
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent segments the applet code into two parts: the core applet functionality stored in the secure element, and the personalization executable code stored externally. The load file contains a reference to the external executable code, allowing the applet to load and execute personalization operations without storing the entire personalization code in the secure element, thus reducing the applet's code size while maintaining personalization capability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If commands for personalization operations are bound to specific I/O interface protocols, then the operations can be executed, but the system becomes difficult or impossible to use when I/O interface protocols change

Engineering Contradiction:
Improvepersonalization operation executionVSAvoidprotocol compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer (the load file with external executable code reference) that decouples the applet from protocol-specific commands. The applet executes generic operations through the virtual machine, while the personalization executable code loaded from external storage contains the protocol-specific implementation details, allowing the same applet to work with different I/O protocols without modification.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the secure element stores all necessary code for personalization, then complete functionality is available, but memory resources are consumed

Engineering Contradiction:
Improvefunctional completenessVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent prepares the personalization executable code in advance and stores it externally in a load file. The secure element only needs to store a reference to this external code and the necessary metadata to load and execute it. This preliminary preparation allows the secure element to maintain functional completeness while consuming minimal memory resources, as the actual personalization code is loaded from external storage when needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11556673B2Method for managing an instance of a class
Publication Date: 2023.01.17 THALES DIS FRANCE SA
  • US11556673B2 patent drawing
  • US11556673B2 patent drawing
  • US11556673B2 patent drawing

AI summary

The invention is a method for managing an instance of a class in a secure element embedded in a hosting machine and including a Central Processing Unit, a storage area and a virtual machine. The method comprises a step of receiving by the secure element a load file containing a binary representation of a package of the class and a step of instantiating the instance from the package and storing the instance in the storage area. The load file includes a specific component which is a custom component within the meaning of Java Cardâ„¢ specifications and which contains executable data. The instance requests the execution of a subset of the executable data by directly invoking the subset of executable data through an Application Programming Interface.