APDU Command Suspension Mechanism for Smart Card Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing serial link communication between terminals and smart cards is limited in flexibility and responsiveness due to the need to process only one APDU command at a time, leading to inefficiencies in processing transactions, especially when commands require long processing times, which can block the communication line and hinder quick processing.

Innovation Solution

Implementing a suspension mechanism that allows an electronic device to suspend the processing of an APDU command and send a suspension message to the terminal, enabling the terminal to send new commands while the first processing is pending, and resume the suspended command upon request, thus allowing for more flexible and efficient APDU exchanges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a serial link is used for communication between terminal and smart card, then the communication protocol is standardized and reliable, but the processing flexibility and responsiveness are reduced due to sequential command handling

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidprocessing flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by making the processing mode flexible and adaptable. The smart card can dynamically switch between traditional sequential processing and the new suspended processing mode. The system adapts its behavior based on the type of command received and the current processing state, allowing it to optimize between reliability and flexibility depending on the situation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the command processing into distinct phases: initialization phase, suspended processing phase, and resumption phase. This segmentation allows the system to maintain the reliable sequential communication protocol while introducing flexibility through the ability to pause and resume processing, effectively dividing the processing timeline into manageable segments.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If the smart card processes one APDU command at a time sequentially, then the communication line is blocked during long processing operations, but the protocol implementation remains simple and standardized

Engineering Contradiction:
Improveprotocol implementation complexityVSAvoidtransaction processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by having the smart card perform initialization processing in advance before the command is fully executed. During this preliminary phase, the card prepares the processing environment, validates the command, and sets up the suspended processing state. This allows the card to later resume processing efficiently without restarting from scratch, thereby improving productivity while maintaining protocol simplicity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the terminal waits for a response from the smart card before sending the next command, then communication collisions are avoided, but the overall transaction processing time increases

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidtransaction processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements continuity of useful action by allowing the terminal to continue sending commands during the smart card's processing time. Instead of the terminal remaining idle waiting for a response, it can utilize this time to prepare and transmit subsequent commands. The smart card processes these commands in suspended mode, maintaining communication reliability while eliminating the idle waiting time and reducing overall transaction processing time.

Inventive Principle:
Principle #20Continuity of useful action

4Adaptability or versatility

If the smart card suspends processing to allow terminal to send new commands, then processing flexibility is improved, but the command processing state management becomes more complex

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidstate management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies feedback through the suspension message mechanism. When the smart card suspends processing, it sends a feedback message to the terminal indicating the suspended state and providing a correlation identifier. This feedback allows the terminal to understand the card's state and adjust its command sending accordingly. The feedback loop maintains clear state management despite the increased flexibility, as both parties have visibility into the processing status through structured communication.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP4016298A1Control of the processing of apdu commands
Publication Date: 2022.06.22 IDEMIA FRANCE SAS
  • EP4016298A1 patent drawingFigure 1
  • EP4016298A1 patent drawingFigure 2~3
  • EP4016298A1 patent drawingFigure 4

AI summary

The invention relates to a method implemented by an electronic device (DV1) operating under the control of a terminal (T1), the method comprising: initiating the processing of an APDU (CMD) command sent by the terminal; upon detection of a given event, executing a suspension mechanism comprising suspending the processing of the APDU command before its completion and sending a suspension message to the terminal (T1) containing an identifier to indicate that the processing is suspended; and after the suspension of the processing, if a resume command containing the identifier of the APDU command is received, resuming the processing of the APDU command. The invention thus makes it possible to suspend the processing of an APDU (CMD) command in order, in particular, to execute another APDU command if necessary.