Data Encoding for Side-Channel-Resistant Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing devices are vulnerable to side channel attacks, which exploit measurable physical variables to infer processed data, such as cryptographic keys, due to the distinctiveness of measured values associated with data processing.

Innovation Solution

Incorporating an encoding unit that transforms input data into encoded data words, ensuring that a significant portion of measured values differ minimally from a default value, thereby reducing the correlation with processed data and making side channel attacks more difficult, using a deterministic encoding rule based on encoding parameters without random numbers or entropy sources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data words are processed directly without encoding, then processing speed is maintained, but security against side channel attacks deteriorates due to distinctive measured values

Engineering Contradiction:
Improvesecurity against side channel attacksVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The encoding unit applies encoding rules to data words before they are processed by the processing unit. This preliminary transformation ensures that measured values during processing have reduced information content about the original data, thereby preventing side channel attacks while maintaining normal processing speeds throughout the system.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If encoding is applied to reduce measured value distinctiveness, then security against side channel attacks is improved, but device complexity increases due to additional encoding unit

Engineering Contradiction:
Improvesecurity against side channel attacksVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encoding unit serves as an intermediary component between the input interface and the processing unit. It transforms data words into encoded representations that maintain functional equivalence while eliminating security vulnerabilities, thereby protecting the system without requiring fundamental redesign of the core processing architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The encoding unit changes the parameter representation of data words by applying encoding rules that transform the data into a different format. This parameter transformation ensures that physical measurements during processing no longer directly reveal information about the original data values, thereby securing the system against side channel attacks.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If encoding rules are made deterministic without random numbers, then ease of manufacture is improved, but adaptability to different attack scenarios deteriorates

Engineering Contradiction:
Improveease of manufactureVSAvoidadaptability to different attack scenarios
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The encoding rules are designed to be dynamic in their application rather than static. The encoding unit can adapt the encoding process based on the specific data being processed and the threat model, allowing the same deterministic hardware implementation to provide security against various side channel attack scenarios without requiring physical redesign.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9798874B2Device and method for processing data
Publication Date: 2017.10.24 ROBERT BOSCH GMBH
  • US9798874B2 patent drawing
  • US9798874B2 patent drawing
  • US9798874B2 patent drawing

AI summary

A device for processing data includes: an input interface receiving input data; a processing unit processing data; and an encoding unit encoding data words which are obtained as input data at the input interface data in order to obtain encoded data words, the data words being encoded in such a way that a predefined portion of measured values which characterize the encoded data words and/or their processing by the device and which are ascertainable as a function of at least one physical variable of the device has a difference from a default value, the difference being less than or equal to a predefinable threshold value. The encoding unit executes an encoding rule for encoding the data words as a function of at least one encoding parameter, and the processing unit processes the encoded data words.