Fault-Correcting Data Coding Against Side-Channel Attacks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If fault-correcting codes are used to protect against attacks, then security against fault injection attacks is improved, but processing complexity increases

Engineering Contradiction:
Improveresistance to fault injection attacksVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #35Parameter changes

3Reliability

If coded data items are used with bit influencing, then resistance to side channel attacks is improved, but computational effort increases

Engineering Contradiction:
Improveresistance to side channel attacksVSAvoidcomputational effort
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

4Reliability

If processing time fluctuations are introduced through bit influencing, then difficulty of cryptographic attacks is improved, but processing time variability increases

Engineering Contradiction:
Improvedifficulty of cryptographic attacksVSAvoidprocessing time variability
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10514979B2Method and device for processing data
Publication Date: 2019.12.24 ROBERT BOSCH GMBH
  • US10514979B2 patent drawing
  • US10514979B2 patent drawing

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.