Digital Fingerprint Verification for Mixed-Mode Application Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mixed-mode applications face security vulnerabilities due to the accessibility of executable machine code components, which can be tampered with by malicious entities, and encryption methods introduce computational overhead and security risks.

Innovation Solution

Generating a digital fingerprint for executable machine code components before deployment, storing it in an encrypted authorization file, and verifying it upon execution to ensure integrity without encrypting the machine code, thus preventing unauthorized changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If executable machine code is encrypted to prevent tampering, then security is improved, but computational overhead increases and performance decreases

Engineering Contradiction:
ImprovesecurityVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the security verification function from the machine code itself by using digital fingerprints. Instead of encrypting the code, a fingerprint is generated from the code's contents and stored separately in an authorization file. This separates the security verification mechanism from the executable code, allowing the code to run efficiently without encryption overhead while still providing security through the fingerprint verification process.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a digital fingerprint copy of the machine code's essential characteristics rather than copying the code itself through encryption. The fingerprint serves as a condensed representation that can be verified without processing the entire codebase, reducing computational requirements while maintaining security verification capability.

Inventive Principle:
Principle #26Copying

2Reliability

If executable machine code is encrypted, then security is improved, but the code cannot be loaded by the operating system until decrypted, creating security exposure

Engineering Contradiction:
ImprovesecurityVSAvoidsecurity risk during loading
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent performs preliminary verification by generating and storing digital fingerprints before the code is executed. The fingerprint is created from the machine code contents during the build process and stored in an authorization file. When the code is loaded and executed, the fingerprint is verified to ensure integrity, but the code itself remains unencrypted and loadable immediately without exposing security risks during the loading process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If source code and pseudo-code are encrypted, then security is improved, but the virtual machine must decrypt before execution, increasing computational overhead

Engineering Contradiction:
ImprovesecurityVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies different quality characteristics to different components: machine code is verified through fingerprints without encryption, while source code and pseudo-code can be encrypted if needed. This localized approach allows security measures to be applied only where necessary, avoiding unnecessary computational overhead across the entire application.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9129136B2System and method for verifying the integrity of read-only components in deployed mixed-mode applications
Publication Date: 2015.09.08 MATHWORKS INC
  • US9129136B2 patent drawing
  • US9129136B2 patent drawing
  • US9129136B2 patent drawing

AI summary

A method of ensuring the integrity of read-only components in deployed mixed-mode applications that includes generating a digital fingerprint prior to the deployment of a mixed-mode application is discussed. The digital fingerprint is based on a read-only component in the mixed-mode application and uniquely identifies the read-only component. The method also deploys the mixed-mode application and the digital fingerprint. Additionally, the method verifies, at execution time by using the digital fingerprint, that the read-only component in the mixed-mode deployed application that served as the basis for the digital fingerprint is identical to the same read-only component originally packaged with the mixed-mode application.