IP Library Granted Patent US 9,830,203
Granted Patent B2
US 9,830,203 · App. 14/364,563 · Granted Nov 28, 2017

Method for communicating with an application on a portable data storage medium, and such a portable data storage medium

Inventors: Michael Schnellinger (Landshut, DE); Frank Goschenhofer (Augsburg, DE)
Assignee: GIESECKE & DEVRIENT GMBH
G06F9/54G06F21/50H04W4/003H04W4/20
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 9,830,203
App. No.
14/364,563
Granted
Nov 28, 2017
Kind
B2
Abstract

A method is described for communicating with an application on a portable data carrier, as well as such a portable data carrier. The method comprises the following steps of: forwarding a command transmitted by an external entity to the portable data carrier, from a runtime environment implemented on the portable data carrier to a proxy application implemented on the portable data carrier; forwarding the command from the proxy application via the runtime environment to the application; and monitoring the communication between the external entity and the application in the form of the command and/or intervening in the communication by the proxy application.

Claims (23)

1. A method for communicating with an application on a portable data carrier, wherein the method comprises the following steps of:

forwarding a command transmitted by an external entity to the portable data carrier, from a runtime environment implemented on the portable data carrier to a proxy application implemented on the portable data carrier;

forwarding the command from the proxy application via the runtime environment to the application; and

monitoring the communication between the external entity and the application in the form of the command, the monitoring triggering one or more actions in relation to said communication by the proxy application, the one or more actions including prioritizing or disabling the application based on information specifying the geographic position of the portable data carrier,

wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier comprises the switching between a different transport protocol or application protocol for which the application is not adapted, such that the proxy application allows communication over a protocol that is unsupported by the application,

wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier includes providing additional functionality not provided by the application without modifying the application,

wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier comprises making available extensions of the application, at least one of the extensions including making a specific user interaction possible by providing a graphic user interface for an application that does not provide a graphic user interface for the specific type of user interaction, the graphic user interface being provided without modifying the application, and

wherein the proxy application is activated upon receipt of one or more specified application protocol data units (APDUs) that are part of an APDU event, the APDU's being stored in a global APDU buffer that allows the APDUs to be changed during transport, the proxy application further including a proxy API that is configured to communicate actions of the proxy application back to the runtime environment indicating rejection or acceptance of one or more APDU commands currently in the APDU buffer.

2. The method according to claim 1 , wherein the forwarding of the commands takes place via a proxy API implemented on the portable data carrier, which makes available a suitable connection between the runtime environment and the proxy application and is configured to be triggered by commands received by the runtime environment.

3. The method according to claim 1 , wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier comprises the recording of information about the data traffic.

4. The method according to claim 1 , wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier comprises the monitoring and filtering of data, in order to filter data which could endanger the security of the application or of the portable data carrier.

5. The method according to claim 4 , wherein in the proxy application implemented on the portable data carrier filter settings are stored that can operate on the APDU level or application level.

6. The method according to claim 5 , wherein the filter settings stored in the proxy application can be changed subsequently.

7. The method of claim 1 , wherein the portable data carrier comprises a chip card and wherein the external entity comprises a chip card terminal.

8. A portable data carrier comprising at least one microprocessor and a memory, on which at least one application is implemented and which can communicate with an external entity,

wherein on the portable data carrier further a runtime environment and a proxy application are implemented,

wherein the runtime environment is configured to forward a command transmitted by the external entity to the portable data carrier to the proxy application,

wherein the proxy application is configured to forward the command via the runtime environment to the application and to monitor the communication between the external entity and the application in the form of the command, the monitoring triggering intervening in said communication, the intervening including prioritizing or disabling the application based on information specifying the geographic position of the portable data carrier,

wherein monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier comprises the switching between a different transport protocol or application protocol for which the application is not adapted, such that the proxy application allows communication over a protocol that is unsupported by the application,

wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier includes providing additional functionality not provided by the application without modifying the application, and

wherein the step of monitoring the communication between the external entity and the application or of intervening in said communication by the proxy application implemented on the portable data carrier comprises making available extensions of the application, at least one of the extensions including making a specific user interaction possible by providing a graphic user interface for an application that does not provide a graphic user interface for the specific type of user interaction, the graphic user interface being provided without modifying the application; and

wherein the proxy application is activated upon receipt of one or more specified application protocol data units (APDUs) that are part of an APDU event, the APDU's being stored in a global APDU buffer that allows the APDUs to be changed during transport, the proxy application further including a proxy API that is configured to communicate actions of the proxy application back to the runtime environment indicating rejection or acceptance of one or more APDU commands currently in the APDU buffer.

9. The portable data carrier of claim 8 , wherein the portable data carrier comprises a chip card.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2017
From: GIESECKE & DEVRIENT GMBH
To: GIESECKE+DEVRIENT MOBILE SECURITY GMBH
Reel/Frame 043230/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2014
From: SCHNELLINGER, MICHAEL; GOSCHENHOFER, FRANK
To: GIESECKE & DEVRIENT GMBH
Reel/Frame 033080/0131 →
Priority Claims (1)
DE 10 2011 122 242 · Dec 23, 2011 · national
Continuity (1)
Related Publication 20140351830A1 · Nov 27, 2014