Security Module API Access Control via Authorization Codes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing security modules, such as Java Cards, lack secure methods to control access to APIs, allowing unauthorized applets to access sensitive cryptographic keys when loaded by entities other than the card issuer, potentially compromising security.
Innovation Solution
Implementing a method where the security module provider selects which APIs an application can access by determining an authorization code, which is verified using a hash function involving the application's machine code, authorization code, and a security module-specific key, ensuring only authorized applications access sensitive functionalities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If an applet is loaded onto a Java Card by an entity other than the card issuer (e.g., via air interface), then the applet can access all APIs provided by the JCVM including sensitive cryptographic keys, but this compromises security by allowing unauthorized access to secrets
Solution Approach 1:
The patent segments the API access rights by creating security domains that restrict which APIs each applet can access. Instead of giving all applets universal access to all APIs, the system divides API access into controlled segments based on security requirements, allowing applets to load flexibly while maintaining security through domain-based restrictions.
Solution Approach 2:
The patent introduces an intermediary security domain mechanism that mediates between applets and the cryptographic keys/APIs. This intermediary layer controls and regulates access, allowing applets to be loaded by external entities while preventing unauthorized access to sensitive resources through the domain-based access control system.
2Adaptability or versatility
If all APIs are made available to every applet for full functionality, then applications can perform all required operations, but unauthorized applets can access sensitive cryptographic keys and secrets
Solution Approach 1:
The patent applies local quality by assigning different access rights to different security domains. Each domain has specific quality characteristics (access permissions) tailored to its security requirements. Applets operating in restricted domains can perform their specific functions while being prevented from accessing sensitive resources in other domains, thus maintaining functionality while preventing unauthorized access.
3Reliability
If the card issuer maintains full control over API access for security, then cryptographic keys are protected, but applet providers cannot load applications flexibly onto existing cards
Solution Approach 1:
The patent implements preliminary action by pre-configuring security domains and access control policies during card initialization or applet installation. The security architecture is prepared in advance with defined domain boundaries and permission sets, enabling flexible applet loading later without compromising security, as the control framework is already in place to regulate access automatically.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The invention relates to a method for providing an application on a security module (20) and a correspondingly designed security module (20). The security module (20) comprises a processor, on which a runtime environment is implemented, which provides a plurality of APIs for the use of functions of the runtime environment by the application. The method comprises the following steps: the provision of the application by an application provider (40), which is an instance other than the security module provider (30); and the selection of the APIs that the application is intended to be able to access, from among the plurality of APIs, by the security module provider (30).