Application Memory Hash Validation With Random Block Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Validating the uncompromised state of an application consumes significant processing resources, especially for large applications, affecting available processing resources.
Innovation Solution
A method involving a first processing device sending a validation request with a random number seed and nonce to a second processing device, generating random numbers, mapping them to memory blocks, concatenating block contents with the nonce, and calculating hashes for comparison to ensure the application's uncompromised state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a checksum or hash is calculated over all instructions and static data of a large application to validate it is uncompromised, then validation accuracy is improved, but processing resource consumption increases significantly
Solution Approach 1:
The patent divides the application into multiple segments or components, calculating checksums or hashes for each segment separately rather than processing the entire application at once. This segmentation allows validation to be performed on critical portions while reducing the overall processing burden, directly addressing the contradiction between comprehensive validation and resource consumption.
Solution Approach 2:
The patent implements partial validation by selecting and validating only specific critical sections, functions, or data structures within the application rather than performing exhaustive validation on all code. This partial action approach maintains sufficient reliability for security purposes while significantly reducing processing resource requirements compared to complete validation.
2Reliability
If validation is performed on large applications, then security assurance is improved, but processing speed deteriorates
Solution Approach 1:
By segmenting the application into multiple smaller units for validation, the patent enables parallel processing of different segments, which improves overall processing speed while maintaining comprehensive security coverage. Each segment can be validated independently and concurrently, resolving the trade-off between thorough validation and processing speed.
Solution Approach 2:
The patent performs preliminary calculations and preparations before the actual validation process, such as pre-computing hash values for code segments, caching validation results, or preparing validation data structures in advance. This preliminary action reduces the time required during actual validation operations, improving processing speed without compromising security assurance.
Data Source
AI summary
A first processing sends a validation request is sent, which includes a random number seed and a nonce to a second processing device. The first processing device generates a first set of random numbers using the random number seed according to an algorithm for random number generation, and maps the generated first set of random numbers to memory blocks that include a copy of software for the second processing device. A first hash is calculated from contents of the mapped memory blocks concatenated to the nonce. A second hash, calculated using information included in the validation request, the mapping model, the software for the second processing device, and the nonce is received. An action is automatically performed when the hashes do not match.


