Fault-Correcting Data Coding Against Side-Channel Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems are vulnerable to side channel attacks and fault injection attacks, which compromise security by detecting physical parameters correlated with secret data, and introducing faults into the system.
Innovation Solution
A method involving coding data items with fault-correcting codes, influencing bits of the coded data items, and decoding them to create changed data items, which increases the difficulty of attacks by introducing fluctuations in processing times and masking data, thereby making side channel and fault injection attacks more challenging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is processed directly without coding and influencing, then processing speed is high, but security is low due to vulnerability to side channel and fault injection attacks
Solution Approach 1:
The patent applies preliminary action by coding the data item before processing and introducing fluctuations in the processing time of coded bits. This preprocessing step creates a masked representation of the original data, making it difficult for attackers to perform side channel or fault injection attacks while preserving the ability to correctly process the underlying information
Solution Approach 2:
The patent uses coded data items as an intermediary between the original secret data and the processing operations. By working with the coded representation rather than the original data, the system protects against attacks while maintaining processing functionality through the decoding capability
2Reliability
If fault-correcting codes are used to protect against attacks, then security against fault injection attacks is improved, but processing complexity increases
Solution Approach 1:
The system performs preliminary coding with fault-correcting codes before processing operations. This advance preparation enables the system to detect and correct faults that may occur during processing, thereby protecting against fault injection attacks while maintaining a relatively simple processing structure
Solution Approach 2:
The patent changes the representation parameters of the data by encoding it with fault-correcting codes. This parameter transformation provides inherent protection against faults while the code structure itself manages the complexity of fault detection and correction
3Reliability
If coded data items are used with bit influencing, then resistance to side channel attacks is improved, but computational effort increases
Solution Approach 1:
The system performs preliminary coding and introduces fluctuations in processing time before the actual processing operation. This preprocessing creates a masked computational path that protects against side channel attacks by decoupling the physical characteristics from the secret data, while the underlying simple operations maintain computational efficiency
4Reliability
If processing time fluctuations are introduced through bit influencing, then difficulty of cryptographic attacks is improved, but processing time variability increases
Solution Approach 1:
The patent introduces processing time fluctuations as a preliminary protective measure before the actual data processing. By varying the time taken to process different coded bits, the system creates uncertainty for attackers attempting to perform timing-based side channel attacks, while the overall processing completes successfully due to the error-correcting capability
Data Source
AI summary
A method for processing data includes coding a data item to obtain a coded data item that includes a predefinable number of bits, influencing maximally k many bits of the coded data item to obtain a changed data item, decoding the changed data item by using a fault-correcting code to obtain a decoded data item, and processing the decoded data item.

