Control Unit Chain of Trust for Multi-Application Software Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Unauthorized software modifications in vehicle control units can lead to invalidation of type approval, increased wear, and warranty abuse, and pose security risks due to unauthorized access to critical vehicle functions.

Innovation Solution

Implementing a method that secures the boot process of control units by dividing applications into code blocks with a chain of trust, using verification information and references to ensure authorized execution sequences, and specifying permissions for each application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple applications are executed on a control unit to extend functionality, then the versatility and adaptability of the control unit improve, but the risk of unauthorized manipulation and security vulnerabilities increases

Engineering Contradiction:
Improvefunctionality extensionVSAvoidsecurity against manipulation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments applications into individual code blocks, each with unique verification information. This allows each application to be independently verified and managed, enabling versatility while maintaining security through granular control over each code block's authentication and execution permissions.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If software modifications are allowed to adapt to different vehicle requirements, then the adaptability improves, but the risk of warranty abuse and type approval invalidation increases

Engineering Contradiction:
Improvesoftware adaptabilityVSAvoidwarranty abuse and type approval loss
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary verification of code blocks before execution by checking verification information and authentication data. This preliminary validation ensures that only authorized software modifications are executed, allowing adaptability while preventing warranty abuse and type approval invalidation through pre-authorization checks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the control unit monitors and verifies the authenticity of executed applications. This feedback loop ensures compliance with type approval requirements and prevents unauthorized modifications that could lead to warranty abuse, while still allowing legitimate software adaptations.

Inventive Principle:
Principle #23Feedback

3Reliability

If a chain of trust verification system is implemented for multiple code blocks, then the security and reliability improve, but the device complexity and verification overhead increase

Engineering Contradiction:
Improvesecurity verificationVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification system uses universal authentication mechanisms that work across multiple code blocks and applications. By implementing a unified trust verification approach where each code block contains its own verification information and authentication data, the system achieves high security without proportionally increasing complexity, as the same verification principles apply throughout the entire application set.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP4264421B1Method for operating a control unit on which multiple applications are executed
Publication Date: 2026.04.15 ROBERT BOSCH GMBH
  • EP4264421B1 patent drawingFigure 1
  • EP4264421B1 patent drawingFigure 2

AI summary

The invention relates to a method (100) for operating a control unit (1) on which multiple applications (2, 3, 4) are executed, having the following steps: * using a reference (1a) stored permanently in the control unit (1), a first code block (21) of a first application (2) is provided, said code block containing executable program code of said application (2) (110); * using verification information (1b) stored permanently in the control unit (1), a check is carried out (120) as to whether this first code block (21) is in a version corresponding to said verification information (1b); * in response to the result of said check being positive, the program code in the first code block (21) is approved for execution (130); * at least using a reference (21a) in the first code block (21), a transfer block (23) is provided (140), which contains a reference (23a) to a further code block (31, 41) of a further application (3, 4), said further code block (31, 41) containing executable program code of the further application (3, 4); * at least using verification information (21b) stored in the first code block (21), a check is carried out (15) as to whether the transfer block (23) is in a version corresponding to said verification information (21b); * in response to the result of said check being positive, the further code block (31, 41) of the further application (3, 4) is provided (160) using the reference (23a) in the transfer block (23).