Diversifying Electronic Device Programs Against Side Channel Attacks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electronic devices are vulnerable to side channel attacks and fault attacks, which can compromise secret keys used in cryptographic methods by exploiting physical parameters and introducing faults, respectively.

Innovation Solution

A method that evaluates the susceptibility of electronic devices to these attacks and diversifies the computer program for the computing unit by selecting influencing parameters, such as architecture, implementation level, and runtime parameters, to create unique machine code programs with varying side channel leakage and fault attack resistance, ensuring each device requires a separate attack preparation phase.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard computer programs are used in electronic devices, then manufacturing and deployment are simple and cost-effective, but the devices become vulnerable to side channel attacks and fault attacks that can compromise secret keys

Engineering Contradiction:
Improvesecurity against side channel attacks and fault attacksVSAvoidcomplexity of computer program
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by modifying compilation parameters (such as optimization levels, instruction set selections, and code generation options) to create diversified versions of the same computer program. These parameter variations result in different executable code structures that implement the same cryptographic functions but exhibit different side channel leakage patterns and fault attack vulnerabilities, thereby enhancing security without changing the fundamental program logic

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements local quality by applying different compilation parameters to specific critical sections of the code, particularly around cryptographic operations. This allows certain parts of the program to be optimized for security resistance while maintaining standard implementation elsewhere, creating a differentiated security profile in the most vulnerable areas without unnecessarily complicating the entire system

Inventive Principle:
Principle #3Local quality

2Reliability

If identical computer programs are deployed across multiple electronic devices, then production efficiency is high and costs are low, but attackers can develop a single side channel attack or fault attack that compromises all devices

Engineering Contradiction:
Improvesecurity against side channel attacks and fault attacksVSAvoidproduction efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses parameter changes to generate multiple versions of the computer program with different compilation parameters, creating a family of functionally equivalent but structurally diverse executables. This diversification ensures that an attack successful against one device version cannot be easily transferred to other versions, thereby protecting the overall product line while maintaining efficient production through automated parameter-based generation

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies segmentation by dividing the program generation process into standardized base code and parameter-specific variations. The core cryptographic logic remains identical and efficiently producible, while compilation parameter variations create distinct executable segments that provide attack resistance diversity, allowing scalable production of secure device variants

Inventive Principle:
Principle #1Segmentation

3Reliability

If compilation parameters are varied to create diversified computer programs, then each electronic device becomes uniquely resistant to attacks, but the evaluation and selection process becomes more complex

Engineering Contradiction:
Improveindividual attack resistanceVSAvoidcomplexity of evaluation and selection process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent manages the complexity of evaluation and selection by systematically varying a limited set of predefined compilation parameters rather than exploring all possible code modifications. This controlled parameter space allows for manageable evaluation of security properties while still achieving sufficient diversification to prevent attack transfer between devices

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies preliminary action by pre-evaluating and selecting from a curated set of compilation parameters that have been determined to provide effective security diversification. This upfront preparation of parameter options and their security characteristics simplifies the evaluation and selection process during device production, avoiding the need for complex real-time analysis

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10387654B2Method and device for providing a computer program
Publication Date: 2019.08.20 ROBERT BOSCH GMBH
  • US10387654B2 patent drawing
  • US10387654B2 patent drawing
  • US10387654B2 patent drawing

AI summary

A method for providing a computer program for a computing unit of an electronic device, in particular a control device of a motor vehicle or of a household appliance, wherein the method includes: evaluation of properties of the electronic device relating to a susceptibility to side channel attacks and/or fault attacks, as a result of which an evaluation result is obtained, selection of at least one influencing parameter that has an influence on the susceptibility of the electronic device to side channel attacks and/or fault attacks, in particular as a function of the evaluation result, use of the at least one influencing parameter to diversify the computer program for the computing unit.