Software Confirmation Module Extraction for Offline Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for validating software installed on electronic equipment cannot prove the reliability of the developer and lack flexibility in encryption, requiring network access for certificate validation and decrypting unnecessary program modules, leading to inefficiencies.

Innovation Solution

An apparatus and method for executing software that extracts a confirmation module to verify the integrity and validity of the software, using a Java virtual machine to decrypt and execute a check program, and validate digital signatures without network access, ensuring only valid programs are executed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional code signature methods are used to validate software, then the signature can be authenticated, but the reliability of the signatory (program developer) cannot be proven

Engineering Contradiction:
Improvesoftware validityVSAvoiddeveloper reliability information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces a certificate authority as an intermediary that issues digital certificates to developers. This certificate contains the developer's public key and reliability information. When software is signed, the signature includes reference to this certificate, allowing the executing device to verify both the signature and the developer's reliability through the certificate, thus solving the problem of proving developer reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by pre-issuing digital certificates to developers before they distribute software. These certificates are stored in the software package or accessible via network. When the software is executed, the certificate is already available for immediate verification, eliminating the need for real-time network access to validate developer credentials and enabling offline reliability verification.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If certificate validation is performed online, then signature authenticity can be verified, but network access is required which reduces offline capability

Engineering Contradiction:
Improvesignature validationVSAvoidoffline execution capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent embeds the developer's digital certificate directly within the software package during distribution. This preliminary inclusion of validation credentials allows the executing device to verify the software signature and developer reliability completely offline, without requiring network access to fetch certificates, thus maintaining both security and offline operational capability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If all program modules are decrypted during installation, then the program can be executed, but unnecessary modules are also decrypted increasing installation time

Engineering Contradiction:
Improveprogram executionVSAvoidinstallation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts and separates the validation module from the main software package. The validation module contains only the necessary code and data for verifying software integrity and developer credentials. By extracting this small subset, the system can validate and execute critical functions without decrypting the entire software package, significantly reducing installation time while maintaining security.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the software package into distinct functional modules: a validation module for integrity checking and a main program module for execution. The validation module is decrypted and executed first to verify authenticity. Only after successful validation is the main program module decrypted and executed. This segmentation allows selective decryption of only the necessary portions, reducing overall installation time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7590851B2Confirmation method of software and apparatus for executing software
Publication Date: 2009.09.15 CANON KK
  • US7590851B2 patent drawing
  • US7590851B2 patent drawing
  • US7590851B2 patent drawing

AI summary

Software contains a confirmation module for confirming the software. The present invention extracts the confirmation module and confirms the software with the extracted confirmation module. Then, the present invention determines validity of the software on the basis of the confirmed result.