Tamper-Protected Execution Environment for Secure Code Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a lack of efficient and versatile methods to detect and respond to malicious changes in program code, particularly in field devices and control units with reloadable code, which are vulnerable to manipulation and security threats, especially during runtime.

Innovation Solution

An execution environment with a function memory for storing verification functions, a configuration memory protected by a tamper detection module, and an execution unit that checks program code against execution requirements, ensuring secure execution by verifying the integrity of the code and environment before execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If program code is made reloadable to support dynamic applications, then adaptability is improved, but security and reliability deteriorate due to increased vulnerability to malicious code and manipulation

Engineering Contradiction:
Improvereloadable program codeVSAvoidsecurity against manipulation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by verifying the integrity of program code and execution environment before execution. The system checks checksums of program code, configuration memory, and execution environment components prior to allowing execution, preventing malicious code from running while maintaining reloadable functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary verification mechanism between program code loading and execution. The checksum verification system acts as a mediator that validates both the program code and execution environment, ensuring security without preventing dynamic code reloading.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If runtime verification of program code is implemented, then security is improved, but device complexity increases due to additional verification components

Engineering Contradiction:
Improvedetection of defective changesVSAvoidverification infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing verification functions that can check multiple targets (program code, configuration memory, execution environment) using a unified checksum-based approach. This multi-functional verification system reduces overall complexity compared to separate verification mechanisms for each component.

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

Solution Approach 2:

The patent uses parameter changes by implementing checksum verification that compares computed values against stored reference values. This parameter-based verification approach provides comprehensive security checking through a relatively simple computational mechanism.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If configuration memory is protected by tamper detection module, then security is improved, but ease of operation deteriorates due to restricted access

Engineering Contradiction:
Improveprotection against tamperingVSAvoidconfiguration access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies dynamics by implementing conditional access to configuration memory based on verification results. The system dynamically adjusts accessibility - restricting access when verification fails but allowing normal operation when verification succeeds, balancing security with operational ease.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3557463B1Method and execution environment for executing program code on a control device
Publication Date: 2020.10.21 SIEMENS AG
  • EP3557463B1 patent drawingFigure 1~2
  • EP3557463B1 patent drawingFigure 3

AI summary

The invention relates to a method and an execution environment to prevent, for example, the execution of manipulated program code on field devices.