Randomized Instruction Fusion for Side-Channel Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face vulnerabilities to side channel and fault injection attacks, which compromise security information assets like cryptographic keys due to consistent instruction execution patterns.

Innovation Solution

The system adjusts instruction execution by fusing or dividing instructions based on random variables to obscure execution patterns, using idiom catalogs and randomization engines to create varied execution times, making it difficult for attackers to discern security information assets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If instructions are executed consistently in sequential order, then processing efficiency is maintained, but security is compromised due to predictable execution patterns vulnerable to side channel and fault injection attacks

Engineering Contradiction:
ImprovesecurityVSAvoidinstruction execution control
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts instruction execution by introducing randomization of execution timing and conditional fusion/division of instruction sequences. The processor randomly selects whether to fuse compatible instructions or execute them sequentially, creating variable execution patterns that prevent attackers from predicting instruction timing and behavior, thereby enhancing security against side channel and fault injection attacks.

Inventive Principle:
Principle #15Dynamics

2Productivity

If instructions are fused to reduce execution time, then productivity increases, but security patterns become more predictable

Engineering Contradiction:
Improveinstruction execution speedVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically controls instruction fusion by randomly selecting at runtime whether to fuse instructions or execute them separately. This randomization ensures that even when instructions are fused for performance optimization, the execution pattern remains unpredictable to attackers. The processor maintains productivity benefits from instruction fusion while preventing security vulnerabilities through randomized execution behavior.

Inventive Principle:
Principle #15Dynamics

3Reliability

If randomization is introduced to enhance security, then resistance to attacks improves, but execution time variability increases

Engineering Contradiction:
ImprovesecurityVSAvoidexecution time predictability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system introduces controlled randomization where the processor randomly decides whether to fuse instructions or execute them sequentially. This creates variable execution times that enhance security by making timing analysis attacks ineffective, while the randomization is applied selectively rather than universally, balancing security enhancement with acceptable performance characteristics.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250224962A1Adjusting instruction execution for enhanced security
Publication Date: 2025.07.10 QUALCOMM INC
  • US20250224962A1 patent drawing
  • US20250224962A1 patent drawing
  • US20250224962A1 patent drawing

AI summary

Systems and techniques are provided for secure computing systems. For example, a process can include obtaining a plurality of instructions, wherein the plurality of instructions comprises a sequential order for execution of the plurality of instructions by a processor. The process can include determining that two or more instructions of the plurality of instructions are capable of being fused. The process can include determining that a random variable satisfies an instruction fusion condition. The process can include executing, based on determining that the two or more instructions of the plurality of instructions are capable of being fused and the random variable satisfies the instruction fusion condition, the two or more instructions of the plurality of instructions as a single fused instruction.