Smart Card Instruction Randomization for Side-Channel Attack Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Secure integrated circuit cards, such as smart cards, are vulnerable to both invasive and non-invasive attacks that exploit encryption algorithms, allowing hackers to extract sensitive information by analyzing power consumption, electromagnetic radiation, or modifying internal circuitry, which can lead to unauthorized access and data theft.

Innovation Solution

The implementation adds entropy to the execution of instructions by randomly or pseudo-randomly replacing protected instructions with alternate ones, altering their power consumption and electromagnetic radiation signatures, making it difficult for hackers to extract sensitive information through side-channel analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encryption algorithms are used to protect sensitive information on smart cards, then security is improved, but the device becomes vulnerable to side-channel attacks that analyze power consumption and electromagnetic radiation

Engineering Contradiction:
ImprovesecurityVSAvoidside-channel attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies dynamics by making the instruction execution flow variable and unpredictable. Instead of fixed instruction sequences, the system dynamically selects from multiple alternate instructions (158A-D) for each protected operation, causing power consumption and electromagnetic radiation patterns to vary between executions. This dynamic behavior prevents attackers from correlating consistent side-channel signals with specific cryptographic operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of instruction execution by introducing alternate instructions with different operational characteristics. Each alternate instruction performs the same cryptographic function but consumes power and emits electromagnetic radiation differently. This parameter variation disrupts side-channel analysis by decoupling the relationship between cryptographic operations and their physical signatures.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If standard instruction execution is used for protected functions, then processing efficiency is maintained, but leaked information from power consumption and electromagnetic radiation becomes useful to attackers

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidleaked information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent converts the harmful effect of predictable instruction execution into a benefit by introducing controlled unpredictability. The alternate instructions maintain functional correctness while creating variable physical signatures. This transforms the deterministic behavior that aids attackers into a stochastic behavior that protects security, without sacrificing processing efficiency since the alternate instructions perform the same cryptographic functions.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Reliability

If protected instructions are executed deterministically, then functional correctness is ensured, but side-channel analysis can successfully extract sensitive information

Engineering Contradiction:
Improvefunctional correctnessVSAvoidside-channel analysis difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system maintains functional correctness through deterministic selection logic (comparing program address pointer to protected instruction addresses) while introducing dynamic variability in the executed instructions. The alternate instructions are selected based on runtime conditions, creating unpredictable power consumption and electromagnetic radiation patterns that make side-channel analysis extremely difficult while ensuring the cryptographic function remains correct.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8301890B2Software execution randomization
Publication Date: 2012.10.30 CRYPTOGRAPHY RESEARCH INC
  • US8301890B2 patent drawing
  • US8301890B2 patent drawing
  • US8301890B2 patent drawing

AI summary

A method of processing programming instructions may include identifying an instruction to be fetched; determining if the identified instruction is protected; if the identified instruction is protected, selecting an alternate instruction from a plurality of alternate instructions corresponding to the identified protected instruction, and fetching the selected alternate instruction; and if the identified instruction is not protected, fetching the identified instruction. Identifying the instruction to be fetched may include identifying an address stored in a program address pointer. Determining if the identified instruction is protected may include comparing the address stored in the program address pointer to one or more addresses stored in a first memory portion, and determining if there is a correspondence. Selecting the alternate instruction may include randomly or pseudo-randomly selecting an instruction from one or more corresponding alternate instructions stored in a second memory portion, and storing the selected instruction in the program address pointer.