Storage Module Hash Verification for Code Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing trusted execution environments struggle to guarantee the integrity of application code stored on storage modules, as they cannot prevent alterations from components with write access, leading to potential security vulnerabilities.
Innovation Solution
A computing device with a storage module that loads a data file, computes a hash value, and grants read-only access, while detecting any changes or attempted changes to the data file and terminating access to prevent compromised data from being accessed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the storage module grants write access to components for updating application code, then the system remains maintainable and upgradable, but the integrity of the application code cannot be guaranteed as alterations may occur
Solution Approach 1:
The patent segments the storage module into distinct functional components: a read-only memory region for storing application code and a separate hash value storage region. This segmentation ensures that the application code cannot be accidentally or maliciously modified while still allowing the system to maintain and upgrade code through controlled rewriting of the entire storage module with verified intact code.
Solution Approach 2:
The patent applies preliminary action by computing and storing the hash value of the application code before the code is executed or potentially modified. This pre-computed hash serves as a reference integrity check that allows the system to verify code integrity at any point, enabling maintainability without compromising reliability.
2Reliability
If the storage module provides read-only access to prevent code alteration, then code integrity is maintained, but the system cannot be updated or maintained
Solution Approach 1:
The patent implements dynamics by making the storage module's access permissions time-dependent and state-dependent. The storage module operates in read-only mode during normal execution to ensure integrity, but can be dynamically rewritten during maintenance windows when new verified code is loaded. The hash verification mechanism enables this dynamic transition by confirming code integrity before allowing rewriting operations.
Solution Approach 2:
The patent applies discarding and recovering by allowing the entire storage module to be discarded (rewritten) with new verified code during maintenance operations. The hash value comparison ensures that only intact, verified code replaces the old code, thereby maintaining reliability while enabling system updates and maintenance.
3Reliability
If the system continuously monitors for code changes to detect tampering, then security is enhanced, but system performance and operational speed are reduced
Solution Approach 1:
The patent applies preliminary action by computing the hash value of the application code once during code loading or maintenance operations, and storing it in the storage module. This pre-computed hash eliminates the need for continuous monitoring during code execution. The stored hash serves as a permanent reference that enables fast integrity verification without impacting operational speed.
Solution Approach 2:
The patent implements feedback through hash-based verification: the system computes the current hash of the application code and compares it against the stored reference hash. This feedback mechanism provides security verification only when needed (during execution initialization or maintenance checks) rather than continuous monitoring, thereby maintaining security while preserving operational speed.
4Adaptability or versatility
If the storage module allows frequent rewriting for updates, then system can be maintained and patched, but the risk of introducing compromised code increases
Solution Approach 1:
The patent applies preliminary action by computing and storing the hash value of the application code before rewriting operations. This pre-computed hash serves as a verification checkpoint that ensures only intact, uncorrupted code is written to the storage module. The system verifies the new code's hash against the expected value before allowing the rewrite to complete, thereby maintaining upgradability while preventing compromised code from being introduced.
Solution Approach 2:
The patent implements feedback through hash verification during the code update process. Before allowing a rewrite operation to complete, the system computes the hash of the new code and compares it against the expected hash value. This feedback mechanism provides immediate verification that the new code is intact and trustworthy, enabling safe frequent updates without introducing compromised code.
Data Source
AI summary
The application relates to a computing device comprising one or more processors and one or more memory devices having stored thereon computer readable instructions which, when executed by the one or more processors, cause the computing device to establish a storage module for storing a data file. The storage module is configured to: load a data file from a data source into the storage module; compute a hash value of the data file loaded into the storage module and make said hash value available to a hash value consumer; grant read-only access to data consumer(s) for accessing said data file loaded into the storage module. The storage module is further configured to detect any change and/or attempted change of the data file and terminate all data consumers which have been granted access to the data file.


