Smart Card Program Data Communication via Segmented Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing APDU protocol for communicating program data between a host computer and a smart card is inefficient, requiring significant memory and time for reassembling and processing CAP files, and lacks secure authentication mechanisms to detect tampering.

Innovation Solution

A system that disassembles program files into logical data units, computes fingerprints over payload portions, and uses authentication codes to securely commit data to memory, ensuring efficient communication and integrity verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the existing APDU protocol is used to communicate program data between host computer and smart card, then the communication can be established, but the memory requirements and processing time increase significantly

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the CAP file into multiple logical data units (LDUs), each containing specific program elements (classes, interfaces, methods). This segmentation allows the smart card to process and store only the necessary portions of the file, reducing memory requirements and enabling parallel processing of different LDUs, thereby improving overall processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host computer performs preliminary actions by disassembling the CAP file into LDUs and computing fingerprints for authentication before transferring to the smart card. The smart card receives pre-processed data with authentication codes, eliminating the need for time-consuming reassembly and verification operations on the card itself, thus reducing processing time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the existing APDU protocol is used for program data communication, then data transfer is possible, but security authentication mechanisms are insufficient to detect tampering

Engineering Contradiction:
Improvedata integrityVSAvoidauthentication mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces fingerprints and authentication codes as intermediary elements that mediate between the host computer and smart card. The host computer computes a fingerprint over the CAP file contents and generates authentication codes using cryptographic keys. These intermediaries are transferred to the smart card, which verifies them to ensure data integrity and detect tampering, providing secure authentication without requiring complex verification protocols on the card.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the CAP file is loaded directly onto the smart card without disassembly, then the loading process is simpler, but the reassembly and processing becomes more time-consuming

Engineering Contradiction:
Improveloading efficiencyVSAvoidreassembly time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the CAP file into logical data units that can be independently processed and transferred. This segmentation eliminates the time-consuming reassembly operation by ensuring data is already organized in the correct structure before loading, while maintaining simplicity in the loading process itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host computer performs the disassembly and organization of CAP file data into LDUs with proper sequencing information before transfer to the smart card. This preliminary action eliminates the need for time-consuming reassembly operations on the smart card, significantly reducing loading time while maintaining simplicity in the card's processing operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7484095B2System for communicating program data between a first device and a second device
Publication Date: 2009.01.27 ORACLE AMERICAN INC
  • US7484095B2 patent drawing
  • US7484095B2 patent drawing
  • US7484095B2 patent drawing

AI summary

A system for communicating program data between devices includes a first device configured to disassemble a program file comprising program data into at least one logical data unit, partition each logical data unit into at least one protocol data unit and compute a first fingerprint over the payload portion of the protocol data units. The first device is also configured to send the protocol data units and at least one member of the group comprising the first fingerprint and a first authentication code based on the first fingerprint to a second device. The second device is configured to compute a second fingerprint over the payload portion of the protocol data units and to commit the program to a memory based on whether the at least one member matches the second fingerprint or a second authentication code based on the second fingerprint.