Cryptographic Integrity Checks with Randomized Data Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cryptographic devices are vulnerable to side channel attacks, particularly fault injection attacks, which can compromise sensitive data during integrity checks, while existing methods to protect against these attacks inadvertently facilitate other types of side channel attacks like SPA or DPA.

Innovation Solution

The method involves dividing sensitive data into blocks and computing integrity check values in a random order, converting data into random parts for integrity checking, and using CRC or XOR algorithms to ensure statistical independence of blocks, making it difficult for attackers to reconstruct the data and reducing information leakage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If integrity checks are performed on sensitive data during cryptographic operations, then protection against fault injection attacks is improved, but information leakage through side channel attacks increases

Engineering Contradiction:
Improveprotection against fault injection attacksVSAvoidinformation leakage
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The sensitive data is divided into multiple blocks, and the integrity check value is computed by processing these blocks in a randomized order rather than sequentially. This segmentation prevents attackers from analyzing the temporal pattern of data processing during side channel attacks, while still enabling effective integrity verification to detect fault injection attacks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processing order of data blocks is dynamically randomized during each integrity check operation. Instead of using a fixed sequential order, the system shuffles the block processing sequence, making it difficult for attackers to correlate power consumption or electromagnetic emissions with specific data values or processing stages, thus reducing information leakage while maintaining protection.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If data is processed in fixed sequential order for integrity checks, then computational simplicity is maintained, but vulnerability to higher-order analysis attacks increases

Engineering Contradiction:
Improvecomputational simplicityVSAvoidvulnerability to higher-order analysis attacks
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The system introduces dynamic randomization in the block processing order without significantly increasing computational complexity. A simple random shuffle algorithm is applied to determine the processing sequence, which effectively counters higher-order analysis attacks that rely on predictable temporal patterns, while adding minimal overhead to the integrity check computation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20100077225A1Protection Against Side Channel Attacks with an Integrity Check
Publication Date: 2010.03.25 THALES DIS FRANCE SA
  • US20100077225A1 patent drawing
  • US20100077225A1 patent drawing
  • US20100077225A1 patent drawing

AI summary

The invention relates to a method for protecting a sensitive operation by checking the integrity of at least a subset of the data manipulated by the sensitive operation. Data to be checked are divided into blocks, an intermediate integrity check value being computed for each block, the intermediate integrity check values being computed in random order. The invention also relates to a cryptographic device wherein at least one sensitive operation of the cryptographic device is protected by a method according to the invention.