Java Card Function Sharing via Secure Proxy Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Java Card applications without a sharing interface face challenges in securely sharing functions with client applications, introducing security vulnerabilities when attempting to add a sharing interface.

Innovation Solution

A method is implemented in a Java Card environment to analyze object-oriented interpretable code, detect predefined object types, generate a sharing object with an inserted object reference, and register it with the operating system to provide secure access to shared functions through a Java Card firewall.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a sharing interface is added to a closed Java Card application to enable function sharing, then the accessibility of functions to client applications is improved, but security vulnerabilities are introduced

Engineering Contradiction:
Improvefunction sharing capabilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a sharing module as an intermediary component between the closed application and client applications. This module analyzes the object-oriented interpretable code, detects predefined object types, and generates sharing objects that act as controlled access points. The sharing module mediates all access requests to shared functions, preventing direct access that would create security vulnerabilities while still enabling necessary function sharing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates sharing objects that are copies or proxies of the original objects within the closed application. These sharing objects contain references to the actual objects and implement the sharing interface, allowing client applications to interact with copies rather than the original objects directly. This copying mechanism enables function sharing while maintaining the security boundary of the closed application.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If a sharing interface is added to a closed Java Card application, then the ability to share functions is improved, but the application's closed nature and code integrity are compromised

Engineering Contradiction:
Improvefunction sharing capabilityVSAvoidapplication code integrity
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent performs preliminary analysis of the object-oriented interpretable code before the closed application is executed. The sharing module detects and analyzes object instantiations in advance, identifies predefined object types, and pre-generates sharing objects with appropriate access controls. This preliminary action allows the system to prepare sharing interfaces without modifying the closed application's code, maintaining code integrity while enabling function sharing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The sharing module serves as an intermediary that operates externally to the closed application. It analyzes the application's code and generates sharing objects without requiring modification of the application itself. This external mediation approach enables function sharing while preserving the closed nature and code integrity of the original application.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If the sharing module analyzes object-oriented interpretable code to detect predefined object types, then the precision of function sharing control is improved, but the processing time and complexity increase

Engineering Contradiction:
Improveobject type detection accuracyVSAvoidcode analysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent changes the parameter of object type detection from analyzing all objects to detecting only predefined object types. By establishing a predetermined set of object types that are eligible for sharing, the sharing module can quickly identify relevant objects without performing comprehensive analysis on every object instantiation. This parameter change improves processing efficiency while maintaining detection accuracy for shareable objects.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different analysis depths to different objects based on their types. Instead of uniformly analyzing all objects with the same level of detail, the sharing module focuses its analysis on detecting predefined object types that are relevant for sharing. This localized quality approach concentrates processing resources on critical detection tasks, reducing overall analysis time while maintaining precision for shareable objects.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP4123492B1Sharing of a function of an application defined in object oriented language
Publication Date: 2025.12.17 IDEMIA FRANCE SAS
  • EP4123492B1 patent drawingFigure 1~2
  • EP4123492B1 patent drawingFigure 3
  • EP4123492B1 patent drawingFigure 4

AI summary

The invention relates to a method by a first device (DV1a) comprising a closed application (APP1) Java Card and an operating system (OS1a) including a sharing module (MD1) performing the following steps: analysis of the object-oriented interpretable code of the closed application (APP1) during which a first object of a predefined object type, instantiated by the operating system, is detected; determination of an object reference pointing to the first object; generation in the context of the closed application of a sharing object including a shared function and a field in which the object reference is inserted; registration of the sharing object with the operating system in an object tree; and execution of the sharing object causing the implementation of a sharing interface to give a client function access to the shared function.