Digital Fingerprint Verification for Mixed-Mode Application Integrity
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If executable machine code is encrypted to prevent tampering, then security is improved, but computational overhead increases and performance decreases
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.
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.
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
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.
3Reliability
If source code and pseudo-code are encrypted, then security is improved, but the virtual machine must decrypt before execution, increasing computational overhead
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.
Data Source
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.


