JavaCard Expansion Interface Registration for Masked Application Updates
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If the whole application program is re-downloaded, installed and personalized after modification, then the function defect is resolved, but time is wasted
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.
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.
3Reliability
If masking is completed for a Java Card, then security is improved, but program cannot be modified after masking
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.
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
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.
Data Source
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.


