JavaCard Expansion Interface Registration for Masked Application Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing JavaCard technologies face challenges in updating application programs without data loss, especially when errors occur, as masked applications cannot be modified or deleted, leading to inefficiencies and data loss during function expansions.

Innovation Solution

A method for JavaCard application function expansion involving a registering process and an invoking process, where an expansion application registers with a master application, allowing for seamless invocation of expansion interfaces, enabling updates without data loss and maintaining functionality even after errors occur.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the original application is deleted and a new application is downloaded and installed to fix function defects, then the function defect is resolved, but user data is lost

Engineering Contradiction:
Improvefunction defect resolutionVSAvoiduser data loss
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The application is segmented into a base application (stored in ROM) and an expansion application (stored in flash memory). The base application contains core functionality that cannot be deleted, while the expansion application can be independently modified, updated, or deleted without affecting the base application or user data stored in EEPROM.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The expansion application is nested within the overall application structure, working in conjunction with the base application. The expansion application can be registered with the base application through a registration command, creating a hierarchical relationship where the expansion application extends functionality without replacing the entire application.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If the whole application program is re-downloaded, installed and personalized after modification, then the function defect is resolved, but time is wasted

Engineering Contradiction:
Improvefunction defect resolutionVSAvoidapplication update time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The modifiable portion of the application is extracted into a separate expansion application that can be independently updated. Only the expansion application needs to be downloaded and installed when updates are required, rather than re-downloading the entire application program, significantly reducing update time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The base application is pre-configured with registration commands that enable it to recognize and work with expansion applications. This preliminary setup allows for quick integration of updated expansion applications without requiring full re-installation or re-personalization processes.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If masking is completed for a Java Card, then security is improved, but program cannot be modified after masking

Engineering Contradiction:
ImprovesecurityVSAvoidprogram modifiability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The application memory is segmented into ROM (for masked base application) and flash memory ( for unmasked expansion application). This segmentation allows the base application to remain secure and immutable after masking, while the expansion application stored in flash memory remains modifiable and updatable.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If the original application is deleted to fix function defects, then the defective function is removed, but data loss occurs during the process

Engineering Contradiction:
Improvedefect correction simplicityVSAvoiduser data loss
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

Instead of deleting the original application, a copy or extension of the application functionality is created in the form of an expansion application. The expansion application can be independently managed and deleted if needed, while the original base application and its associated user data remain intact.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10248795B2Implementing method for JavaCard application function expansion
Publication Date: 2019.04.02 FEITIAN TECHNOLOGIES CO LTD
  • US10248795B2 patent drawing
  • US10248795B2 patent drawing
  • US10248795B2 patent drawing

AI summary

An implementing method for JavaCard application function expansion is provided, where a registering process includes: an expansion application processes a random number when receiving a registration command and sends a processing result, an expansion application identification and an expansion interface number to a master application; the master application verifies the process result, if verification is successful and an expansion application corresponding to the expansion application identification is installed, the master application sets a bit of an expansion point upon the expansion interface number, obtains and stores a handle of the expansion application; a state of an expansion interface registered by the expansion application is stored in the buffer. In solutions provided by the present invention, the expansion interface corresponding to the expansion application is registered to the master application; when needing to invoke the expansion application, the master application can invoke corresponding expansion application via the registered expansion interface.