Memory Segmentation for Secure Program Block Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for controlling safety-relevant systems in motor vehicles are inefficient as they require additional computing effort or complex architectures to ensure separation of program blocks with different security classifications, which can impact vehicle safety.

Innovation Solution

Implementing a memory monitoring system that separates program blocks and data into distinct sections, using a memory protection device to block write access and trigger exceptions for unauthorized access, allowing only one section or data section to be accessed at a time, ensuring secure execution based on security levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit switch commands or multiple processor cores are used to separate program blocks with different security classifications, then security separation is improved, but device complexity and computing effort increase

Engineering Contradiction:
Improvesecurity separationVSAvoidprocessor architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory is segmented into multiple sections, each assigned to a specific security classification (ASIL A-D or QM). Program blocks are stored in sections corresponding to their security level, and a memory protection device prevents unauthorized access between sections, achieving security separation without requiring multiple processor cores or complex architectural changes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory protection device is introduced as an intermediary component between the processor and memory sections. This device monitors and controls access to different memory sections, triggering exceptions when unauthorized access attempts occur, thereby enabling security separation through a dedicated control mechanism rather than complex processor architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If explicit switch commands or additional operating systems are used to control program flow separation, then security separation is improved, but productivity and computing efficiency decrease

Engineering Contradiction:
Improveprogram flow separationVSAvoidcomputing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory protection device operates autonomously to monitor and control access between memory sections. When a program block attempts to access an unauthorized section, the memory protection device automatically triggers an exception and switches to the appropriate section without requiring intervention from an operating system or additional control software, thereby maintaining computing efficiency while ensuring program flow separation

Inventive Principle:
Principle #25Self-service

3Reliability

If memory sections are strictly separated with write locks to prevent unauthorized access, then security separation is improved, but flexibility in data access is reduced

Engineering Contradiction:
Improveaccess controlVSAvoiddata access flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Different access control policies are applied to different memory sections based on their security classification. Write access is restricted to prevent unauthorized modification, while read access is permitted to allow necessary data retrieval. This localized differentiation of access rights maintains security while preserving operational flexibility

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2907072B1Method for controlling separated running of linked program blocks and control device
Publication Date: 2017.05.10 CONTINENTAL AUTOMOTIVE GMBH
  • EP2907072B1 patent drawingFigure 1
  • EP2907072B1 patent drawingFigure 2

AI summary

The application relates to a method for controlling separated running of linked program blocks, (20-24) which are designed for implementing functions of safety-relevant systems, particularly in motor vehicles. According to the method, a first program block (20) of the program blocks is executed on a processor (140), the first program block (20) being present in a first portion (10, 110) of a memory (130). The processor (140) accesses the memory (130). A second program block (22) of the program blocks is called during the execution of the first program block (20). The second program block (22) is present in a second portion (12, 112) of the memory (130), which is different from the first portion (10, 110) of the memory (130). The access to the memory (130) is monitored by a memory protection device (150), which initiates an exception if it is determined while the memory protection device (150) is monitoring access that the second program block (22) is called during execution of the first program block (20). An exception handler (160) locks the first portion (10, 110) upon occurrence of the exception and releases the second portion (12, 112) for execution. The access to data, particularly the write access, is controlled by the memory protection device (150) by means of exceptions and of the locks and releases resulting therefrom. The invention further relates to a control device for performing the method.