Automation Program Authentication via Hierarchical Signature Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for authenticating safety-related programs in automation devices are inadequate, as they fail to isolate changes in individual program branches, leading to unnecessary re-certification of entire programs due to functional differences in graphical representations and complex program structures, and are unable to trace specific changes effectively.

Innovation Solution

Assign unique identifications to user inputs, outputs, and functions based on their dependencies, forming individual and overall signatures hierarchically, allowing for separate identification and verification of changed program parts, independent of source or object code representations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a signature is calculated over the entire program based on code representation, then program authentication is achieved, but any change in graphical representation or program branch requires complete re-certification

Engineering Contradiction:
Improveprogram authenticationVSAvoidre-certification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the program into individual program branches, each with its own signature. Instead of calculating a single signature over the entire program, the system divides the program structure into separable branches (e.g., OB1, OB2, etc.) and generates individual signatures for each branch based on their functional descriptions and interface variables. This allows only the modified branch to be re-certified rather than the entire program.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces interface variables as intermediaries between graphical representations and program branches. These interface variables serve as a bridge that connects the graphical user interface elements to the underlying program logic, allowing changes in graphical representation to be isolated and not propagate to the entire program signature. The interface variables act as a buffer that prevents unnecessary re-certification.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If graphical user interfaces are used for programming, then ease of operation is improved, but functional differences in graphical representations cause signature mismatches

Engineering Contradiction:
Improveprogramming interfaceVSAvoidprogram signature verification
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent extracts the functional description from the graphical representation and separates it from the visual interface elements. By taking out the essential functional logic and representing it in a standardized format independent of specific GUI tools, the system ensures that different graphical representations of the same function produce identical signatures. This extraction process removes the source of signature mismatches while preserving ease of operation.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the entire program is recertified after any change, then authentication reliability is maintained, but time consumption increases significantly

Engineering Contradiction:
Improveauthentication reliabilityVSAvoidre-certification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements segmentation by dividing the program into independent certifiable units (program branches). Each branch can be individually signed and verified, allowing the system to maintain authentication reliability while reducing re-certification scope. When a change occurs, only the affected branch signature needs to be updated and verified, not the entire program signature.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing certification only on the necessary portion of the program (the modified branch) rather than the entire program. This selective approach maintains the required authentication reliability while significantly reducing the time loss associated with complete re-certification.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2495625B1Method and programming system for the authentication of a security program of an automation device
Publication Date: 2020.06.17 SIEMENS AG
  • EP2495625B1 patent drawing

AI summary

The method involves assigning unique identifications (ID1-ID25) to corresponding safety-relevant interface variables, safety-relevant program elements and memory elements utilized in the program elements. A signature assigned to one of the variables is calculated by the identifications of the program elements, memory elements and other variable. A common signature (ID26) is formed from the resulting individual signatures and utilized for authentication of a safety-relevant program. Safety-relevant input variables of the program are utilized for the interface variables. An independent claim is also included for a programming system for adjusting a safety-relevant program.