Cryptographic Obfuscation via Iterative Dummy Sub-Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic systems are vulnerable to Differential Fault Analysis (DFA) attacks, which allow unauthorized access by inducing faults to reveal internal states, making it difficult to protect sensitive information like secret key information used in cryptography engines.

Innovation Solution

The method involves executing two iterations of computations with distinct arrangements of valid and dummy sub-operations, comparing their outputs to ensure matching results, and using control circuitry to select and reorder sub-operations, thereby increasing the difficulty of synchronization for attackers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard cryptographic operations are performed without obfuscation, then computational efficiency is maintained, but the system becomes vulnerable to Differential Fault Analysis attacks

Engineering Contradiction:
Improvesecurity against DFA attacksVSAvoidoperation structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cryptographic computation is divided into multiple iterations, where each iteration performs a subset of the total operations. This segmentation allows the system to execute multiple partial computations with different dummy operation insertions, making DFA attacks more difficult while maintaining modular structure that doesn't significantly increase overall complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Dummy operations are introduced as intermediary elements between the actual cryptographic operations. These dummy operations serve as mediators that obscure the timing and structure of real computations without affecting the final cryptographic result, thereby enhancing security against DFA attacks

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If dummy operations are inserted to obfuscate computations, then security against DFA attacks is improved, but computational overhead increases

Engineering Contradiction:
Improvesecurity against DFA attacksVSAvoidcomputational throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Dummy operations are inserted periodically at specific intervals during the computational iterations rather than continuously. This periodic insertion provides sufficient obfuscation to defeat DFA attacks while limiting the total number of dummy operations to minimize impact on computational throughput

Inventive Principle:
Principle #19Periodic action

3Reliability

If multiple iterations with distinct arrangements are executed, then synchronization difficulty for attackers increases, but execution time increases

Engineering Contradiction:
Improvesecurity against DFA attacksVSAvoidcomputation execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system executes multiple iterations with distinct dummy operation arrangements, but each iteration performs only a subset of the total cryptographic operations rather than complete operations. This partial action approach provides sufficient security through multiple distinct executions while reducing the time penalty compared to running full iterations multiple times

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11461505B2Obfuscation of operations in computing devices
Publication Date: 2022.10.04 ARM LTD
  • US11461505B2 patent drawing
  • US11461505B2 patent drawing
  • US11461505B2 patent drawing

AI summary

A method for obfuscation of operations using minimal additional hardware is presented herein. The method can begin by executing a first iteration of a set of computations, the execution of the set of computations resulting in a first iteration output. The method can continue by executing a second iteration of the set of computations, wherein the second execution is distinct from the first iteration but should satisfy a matching condition. The distinction can be a rearrangement of sub-operations, insertion of dummy sub-operations, or a combination of the two. After the iterations are complete, the iteration outputs can be compared. If the comparison of the first iteration output and the second iteration output satisfy the matching condition, the process result can be output. If the matching condition is not satisfied, an error detected signal can be output.