Security Module API Access Control via Authorization Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveapplet loading flexibilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveapplication functionalityVSAvoidunauthorized access to secrets
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvesecurity controlVSAvoidapplet loading process
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2987078B1Method for providing an application on a security module, and such a security module
Publication Date: 2019.02.27 GIESECKE & DEVRIENT EPAYMENTS GMBH
  • EP2987078B1 patent drawingFigure 1
  • EP2987078B1 patent drawingFigure 2
  • EP2987078B1 patent drawingFigure 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).