Cryptographic Integrity Checks with Randomized Data Blocks
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


