Virtual Smart Card Service Emulation for PKI Traffic Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual smart card systems experience high network traffic and low performance due to the large number of messages exchanged between client and server for Public Key Infrastructure (PKI) operations, which is inefficient and burdensome.

Innovation Solution

Implementing a virtual smart card service where the client side emulates smart card application logic using application metadata and offloads key operations to the server side, reducing the number of messages exchanged to typically only two, with key operations requests and results, while keeping secret keys stored and used only on the server side.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a Virtual Smart Card Server controls access to virtual smart cards and performs private key operations securely, then security is improved, but network traffic increases and performance decreases due to about twenty exchanged APDU messages for each PKI operation

Engineering Contradiction:
ImprovesecurityVSAvoidtraffic performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the smart card application logic emulation from the server side and places it on the client side. The client application now emulates smart card logic locally using application metadata, and only exchanges essential key operation requests and results with the server. This reduces the message exchange from about twenty APDUs to typically only two messages per PKI operation, dramatically improving network performance while the server continues to provide secure key operations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If application logic is emulated at the server side using APDU exchange, then smart card functionality is achieved, but the number of messages and network traffic becomes excessive

Engineering Contradiction:
Improvesmart card functionalityVSAvoidnumber of messages
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent creates a copy of the smart card application logic on the client side through emulation. Instead of the client communicating with the server for every smart card operation, the client application locally emulates the smart card logic using application metadata, reproducing smart card behavior without requiring continuous server interaction. This copying approach maintains full smart card functionality while reducing network communication to only essential key operations.

Inventive Principle:
Principle #26Copying

3Productivity

If the client processes smart card application logic locally with emulated behavior, then network traffic is reduced to typically two messages, but implementation complexity at the client side increases

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidclient side implementation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-generating and distributing application metadata to the client before the smart card application needs to run. This metadata contains all the necessary information for the client to emulate smart card logic locally. By preparing this emulation data in advance, the system enables the client to process smart card operations independently without requiring complex real-time server communication or sophisticated client implementation during actual operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11481759B2Method and system for implementing a virtual smart card service
Publication Date: 2022.10.25 THALES DIS FRANCE SA
  • US11481759B2 patent drawing

AI summary

A virtual smart card service corresponds to an execution of a smart card application. A key is stored at a server side. Application metadata is used to emulate a smart card application logic. The method comprises: processing, by a client, the smart card application logic; running the smart card application while retrieving smart card data from the smart card application logic; identifying key operation within the smart card application; generating a key operation request by using the identified key operation and data relating to the client; sending to the server the key operation request; processing, by the server, the key operation request by using the key and client data; getting a key operation result from the identified key operation on the client data; and sending to the client the key operation result.