Secure Program Analysis via Signature Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information processing devices face challenges in securely analyzing programs due to the risk of tampering or damage to analysis programs, especially when verification mechanisms are compromised, leading to faulty states and potential unauthorized program execution.

Innovation Solution

The implementation of a secure verification process using a digital signature and public key, where the analysis program and digital signature are stored in non-volatile memory, and the signature check program and public key are stored in immutable memory, ensuring the authenticity of the analysis program before proceeding with analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the analysis program is stored in volatile memory for easy access and execution, then the ease of operation is improved, but the reliability deteriorates because the program may be tampered with or damaged

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system divides the storage into two segments: volatile memory for the analysis program (easy access) and non-volatile memory for the signature verification data (security). This segmentation allows each part to serve its optimal function while mitigating the weaknesses of individual storage types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A signature verification mechanism acts as an intermediary between the analysis program and the main program. The verification process checks the integrity of the analysis program before execution, preventing tampered programs from compromising system security while allowing legitimate programs to execute efficiently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the analysis program is stored in non-volatile memory for security and integrity, then the reliability is improved, but the speed of execution deteriorates due to memory access time

Engineering Contradiction:
ImprovereliabilityVSAvoidspeed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system segments storage functions by placing the analysis program in volatile memory for fast execution and the signature verification data in non-volatile memory for security. This allows the program to execute quickly while maintaining integrity verification capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The signature verification is performed in advance before the analysis program executes. This preliminary check ensures the program's integrity is confirmed before it is loaded or executed, preventing security issues while allowing fast execution of verified programs.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the analysis program is made executable without verification for productivity, then the productivity is improved, but the security deteriorates due to potential unauthorized execution

Engineering Contradiction:
ImproveproductivityVSAvoidsecurity
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The signature verification is performed as a preliminary action before the analysis program is executed. This ensures that only authenticated and intact programs are loaded into volatile memory and executed, preventing unauthorized or tampered programs from compromising system security while maintaining productivity for legitimate programs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The signature verification mechanism serves as an intermediary gatekeeper between program storage and execution. It authenticates the analysis program before allowing it to be loaded and executed, blocking potentially harmful programs while permitting legitimate ones to proceed without delay.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If the verification mechanism is simplified for ease of operation, then the ease of operation is improved, but the reliability deteriorates due to insufficient verification

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements self-service verification where the analysis program carries its own signature data, and the verification process automatically checks this signature against stored verification data. This eliminates the need for manual verification intervention while ensuring reliable authentication and integrity checking.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11888990B2Information processing device controlling analysis of a program being executed based on a result of verification of an analysis program
Publication Date: 2024.01.30 KK TOSHIBA
  • US11888990B2 patent drawing
  • US11888990B2 patent drawing
  • US11888990B2 patent drawing

AI summary

An information processing device of one embodiment includes a first memory being volatile, a second memory being non-rewritable and nonvolatile, and a processor. A first program, a second program, and a digital signature for the second program are loaded into the first memory. A third program and a public key are stored in the second memory. Upon satisfaction of a certain condition during execution of the first program, the processor verifies the second program on the basis of the digital signature and the public key, in accordance with the third program. After finding a result of the verification as a pass, the processor analyzes the first program in accordance with the second program. The processor refrains from analyzing the first program after finding the result of the verification as a fail.