IP Library Granted Patent US 12,596,539
Granted Patent B2
US 12,596,539 · App. 18/011,377 · Granted Apr 7, 2026

Hiding and unhiding java card applet instances

Inventor: Deepen Mantri (Munich, DE)
Assignee: GIESECKE+DEVRIENT EPAYMENTS GMBH
G06F8/61G06F21/572G06F2221/032
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,596,539
App. No.
18/011,377
Granted
Apr 7, 2026
Kind
B2
Abstract

Methods and devices are provided for installing and hiding applets onto smart cards devices. In a first step, a request for installing an instance of a first applet is received at the card device from an off-card entity. The request includes a first applet identifier. An applet instance is then installed with the first applet identifier in a registry of the card device's operating system. In a further step, a request for hiding the instance of the first applet identified by the first applet identifier is received at the card de-vice from the off-card entity. After receiving the hiding request, the smart card operating system finds the applet instance with the give applet identifier and hides it.

Claims (53)

1 . A method for installing applet instances in a card device, the card device comprising an operating system, OS, and able to receive several applet instances, wherein the method comprises the steps of:

receiving from an off-card entity a request for installing an instance of a first applet, the request for installing comprising a first applet identifier;

installing an applet instance with the first applet identifier in a registry of the OS;

receiving from the off-card entity a request for hiding the instance of the first applet identified by the first applet identifier;

hiding the applet instance identified by the first applet identifier;

receiving from the off-card entity a request for installing an instance of a third applet, the request comprising a third applet identifier identifying the instance of the third applet;

checking whether there is a hidden applet instance of the third applet installed in the card device;

checking whether the applet identifier of the hidden applet instance matches the third applet identifier; and

if the applet identifier of the hidden applet instance matches the third applet identifier, unhiding the hidden applet instance;

wherein the hidden applet instance is physically present in the card device but not visible or selectable from outside the card device due to the card device not revealing a presence of the hidden applet instance when requested;

the method further comprising maintaining, in the registry of the OS, for each installed applet instance a visibility status flag having values “visible” and “hidden”;

wherein the hiding the applet instance identified by the first applet identifier further comprises setting the visibility status flag of the applet instance to identified by the first applet identifier “hidden,” such that the card device does not reveal a presence of the hidden applet instance in response to queries.

2 . The method according to claim 1 , further comprising:

receiving from the off-card entity a further request for installing an instance of a second applet, the further request comprising a second applet identifier,

wherein the second applet is different from the first applet;

checking whether the second applet identifier matches the applet identifier of at least one hidden applet instance;

if the second applet identifier matches the applet identifier of one or at least one hidden applet instance, changing the applet identifier of the hidden applet instance to a new applet identifier; and

installing the instance of the second applet with the second applet identifier in the registry of the OS.

3 . The method according to claim 1 , further comprising:

if the applet identifier of the hidden applet instance differs from the third applet identifier, changing the applet identifier of the hidden applet instance to the third applet identifier and unhiding the hidden applet instance.

4 . The method according to claim 1 , further comprising:

if there is no hidden applet instance of the third applet, installing the instance of the third applet with the third applet identifier in the card device.

5 . The method according to claim 1 , wherein the request for installing an instance of an applet comprises further installation parameters, and wherein installing an applet instance with an applet identifier in the card device comprises:

creating a new applet instance;

storing in the OS registry the new applet instance with the applet identifier and the installation parameters received from the off-card entity; and

setting a status of the applet instance to visible.

6 . The method according to claim 5 , wherein the request for hiding an instance of an applet comprises further installation parameters, and

wherein checking whether there is a corresponding visible applet instance installed in the card device for the applet comprises further checking whether the received installation parameters match installation parameters which were received with a request for installing the corresponding applet instance.

7 . The method according to claim 1 , wherein hiding an installed applet instance comprises setting a status of the applet instance to hidden.

8 . The method according to claim 1 , wherein the request for installing an instance of a third applet comprises further installation parameter for the third applet, and

wherein checking whether there is a hidden applet instance of the third applet installed in the card device comprises further checking whether the received installation parameters match installation parameters which were received with a request for installing the hidden applet instance.

9 . The method according to claim 1 , wherein unhiding a hidden applet instance comprises changing a status of the applet instance from hidden to visible.

10 . The method of claim 1 , wherein the request for hiding an instance of an applet is implemented by an Application Protocol Data Unit, APDU, Hide command comprising a data field for transferring an applet identifier, AID, of an applet instance to be hidden on the card device, the Hide command being configured to cause the card device upon applying the command to change a status of an installed applet instance from visible to hidden.

11 . The method according to claim 1 , wherein a visibility status of an applet instance indicating whether the applet instance is hidden is stored in the registry of the OS.

12 . A card device comprising a processor and a memory having stored thereon a card operating system, OS, the card device being configured to:

receive from an off-card entity a request for installing an instance of an applet, the request for installing comprising an applet identifier;

install an applet instance with the applet identifier in a registry of the OS;

receive from the off-card entity a request for hiding the instance of the applet identified by the applet identifier;

hide the applet instance identified by the applet identifier;

receive from the off-card entity a request for installing an instance of a third applet, the request comprising a third applet identifier identifying the instance of the third applet;

check whether there is a hidden applet instance of the third applet installed in the card device;

check whether the applet identifier of the hidden applet instance matches the third applet identifier; and

if the applet identifier of the hidden applet instance matches the third applet identifier, unhide the hidden applet instance;

wherein the hidden applet instance is physically present in the card device but not visible or selectable from outside the card device due to the card device not revealing a presence of the hidden applet instance when requested;

the method further comprising maintaining, in the registry of the OS, for each installed applet instance a visibility status flag having values “visible” and “hidden”;

wherein the hiding the applet instance identified by the first applet identifier further comprises setting the visibility status flag of the applet instance to identified by the first applet identifier “hidden,” such that the card device does not reveal a presence of the hidden applet instance in response to queries.

13 . The card device according to claim 12 , wherein the card device is further configured, upon receiving from the off-card entity the request for hiding an instance of an applet installed in the OS registry, to apply to the applet instance a Hide command to change a status of the applet instance from visible to hidden.

14 . The card device according to claim 12 , wherein the card device is further configured, upon receiving from the off-card entity the request for installing an instance of an applet, to:

check whether the received applet identifier matches an applet identifier of one or at least one hidden applet instance;

if the received applet identifier matches the applet identifier of one or at least one hidden applet instance, change the applet identifier of the hidden applet instance to a new applet identifier;

install the instance of the applet with the applet identifier in the OS registry; and

set a status of the installed applet instance to visible.

15 . A non-transitory computer readable memory having stored thereon instructions that, when executed by a processor, cause a card device to perform the method of claim 1 , said instructions including an Application Protocol Data Unit, APDU, Hide command comprising a data field for transferring an applet identifier, AID, of an applet instance to be hidden on the card device, the Hide command being configured to, when executed by the processor, cause the card device upon applying the command to change a status of an installed applet instance from visible to hidden.

Assignments (2)
CHANGE OF NAME Recorded Jul 21, 2024
From: GIESECKE+DEVRIENT MOBILE SECURITY GMBH
To: GIESECKE+DEVRIENT EPAYMENTS GMBH
Reel/Frame 068465/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2022
From: MANTRI, DEEPEN
To: GIESECKE+DEVRIENT MOBILE SECURITY GMBH
Reel/Frame 062144/0630 →
Priority Claims (1)
EP 20020287 · Jun 19, 2020 · regional
Continuity (1)
Related Publication 20230236815A1 · Jul 27, 2023
References Cited (14)
US 7278582B1 · Siegel · 2007 [cited by examiner]
US 9262035B1 · Gustafson · 2016 [cited by examiner]
US 10708761B1 · Yin · 2020 [cited by examiner]
US 20060168588A1 · Bendapudi · 2006 [cited by examiner]
US 20060253848A1 · Mathieu · 2006 [cited by examiner]
US 20090150236A1 · Price · 2009 [cited by examiner]
US 20120233618A1 · Takeuchi · 2012 [cited by examiner]
US 20130278622A1 · Sun · 2013 [cited by examiner]
US 20140109243A1 · Ting · 2014 [cited by examiner]
US 20190335017A1 · Gibis · 2019 [cited by applicant]
US 20210120399A1 · Auer · 2021 [cited by examiner]
“GlobalPlatform Card Specification, Version 2.2.1,” Section 9.3, GlobalPlaform, Jan. 31, 2011, 40 pages. [cited by applicant]
Extended European Search Report from corresponding EP Application No. 20020287.7, Oct. 6, 2020. [cited by applicant]
International Search Report from corresponding PCT Application No. PCT/EP2021/025209, Sep. 16, 2021. [cited by applicant]