Applet Native Function Verification for Secure Java Card Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Java Card systems face security issues due to applets manipulating data outside the virtual machine, which are not adequately tested in off-card checks, leading to unforeseen data manipulation and security breaches.
Innovation Solution
Implementing a method to detect and verify native functions running directly on the processor outside the Java Card virtual machine by determining and storing information about the arguments and data processed or delivered by these functions, and adding this information to the applet code to enable on-card verification and security processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If applets are allowed to execute functions directly on the processor outside the virtual machine, then execution speed and efficiency are improved, but security risks increase due to lack of verification
Solution Approach 1:
The patent applies preliminary action by verifying the correctness of native functions during the loading phase (off-card verification) before they are executed on the processor. The verification process checks arguments, data processing logic, and return values in advance, so that when native functions execute directly on the processor for improved performance, their security has already been established through prior verification.
Solution Approach 2:
The patent introduces an intermediary verification mechanism that acts as a bridge between the virtual machine and native function execution. The verification process serves as an intermediary layer that validates native functions before they operate outside the virtual machine environment, ensuring that security checks are performed even when execution occurs directly on the processor.
2Reliability
If comprehensive verification of native functions is implemented, then security is improved, but system complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the verification process into distinct components: argument verification, data processing verification, and return value verification. Each aspect of native function verification is handled separately through specific claims, making the overall complex verification system more manageable and implementable through modular approaches.
3Reliability
If off-card verification is performed on all functions, then security is improved, but processing time increases
Solution Approach 1:
The patent applies local quality by focusing verification efforts specifically on native functions that execute outside the virtual machine, rather than applying comprehensive verification to all functions uniformly. The verification is locally targeted at the specific point where security risks exist (native function boundaries), allowing standard virtual machine functions to execute without additional verification overhead.
Data Source
Figure 1~2
Figure 3~4
AI summary
Method for handling the execution of an applet function by an electronic device, comprising: - receiving (RX_EXEC) a request to execute the function, - checking (VERIF_TYPE) a type associated with the function, - if the type of the function is a given type, determining (DET_INFO) information relating to the arguments that are handled and/or to the data that are delivered by the function, - observing (OBS) the progress of the function and, if the function handles data inconsistently with the information relating to the arguments that are handled and/or to the data that are delivered by the function, performing security handling (T_SEC). The invention also relates to the loading of an applet.