Smart Card Program Data Segmentation and 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 processing large data structures, and lacks secure mechanisms for detecting tampering.

Innovation Solution

The method involves disassembling program files into logical data units, partitioning them into protocol data units, and computing a fingerprint over the payload to ensure secure and efficient communication, using authentication codes and fingerprints to verify data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If program data is communicated using the existing APDU protocol between host computer and smart card, then data can be transmitted, but memory requirements and processing time increase significantly

Engineering Contradiction:
Improveprogram data communication efficiencyVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments program data into multiple APDU messages with structured headers and bodies. Each APDU contains specific fields (CLA, INS, P1, P2, Lc, Data, Le) that enable efficient processing. The segmentation allows the smart card to process data in manageable chunks rather than requiring all data to be loaded into memory simultaneously, thus reducing memory requirements while maintaining communication productivity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If program data is communicated using the existing APDU protocol between host computer and smart card, then data can be transmitted, but processing time increases significantly

Engineering Contradiction:
Improveprogram data communication efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by including verification data and authentication codes in the APDU structure before data transmission. The host computer prepares authentication codes (such as HMACs) and includes them in the APDU messages, allowing the smart card to verify data integrity immediately upon receipt without requiring separate verification steps. This preliminary preparation of authentication mechanisms reduces overall processing time by eliminating post-transmission verification delays.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If existing APDU protocol is used for program data communication, then data transmission is possible, but secure mechanisms for detecting tampering are lacking

Engineering Contradiction:
Improvedata integrity verificationVSAvoidauthentication mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces authentication codes and verification data as intermediary elements between the host computer and smart card. These intermediaries (HMACs, verification fields) mediate the trust relationship by providing cryptographic proof of data integrity without requiring complex direct verification mechanisms. The authentication code acts as a mediator that simplifies the verification process while enhancing security, allowing the smart card to detect tampering through straightforward authentication checks rather than complex analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8121955B2Signing program data payload sequence in program loading
Publication Date: 2012.02.21 ORACLE AMERICAN INC
  • US8121955B2 patent drawing
  • US8121955B2 patent drawing
  • US8121955B2 patent drawing

AI summary

Communicating program data between a first device and a second device comprises disassembling a first program file comprising program data into at least one logical data unit, partitioning each of the at least one logical data unit into at least one protocol data unit and computing a first fingerprint over the payload portion of the at least one protocol data unit of the at least one logical data unit. The format of the at least one protocol data unit is defined by a communication protocol and includes a payload portion.