Secure Key Storage Using Segmented Writes Against Data Remanence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hardware security modules (HSMs) suffer from data remanence issues, where previously stored information can be recovered from long-term and main memory components, compromising the security of cryptographic keys and introducing vulnerabilities to malicious attacks.
Innovation Solution
Implement software-based methods to mitigate remanence effects by storing and managing secret material in a way that prevents complete sequences from being stored at once, using encryption and randomization techniques, and periodically re-encrypting data to reduce the likelihood of recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If secret material is stored in long-term storage component and loaded into main memory for use, then accessibility and operational performance are improved, but security is worsened due to data remanence allowing recovery of previously stored information
Solution Approach 1:
The patent divides the secret material into multiple parts and loads them into main memory in separate steps rather than all at once. This segmentation ensures that even if data remanence allows recovery of stored information, the complete secret material cannot be reconstructed from the fragmented pieces, thus resolving the contradiction between accessibility and security.
Solution Approach 2:
The patent performs preliminary actions by overwriting memory locations with random data before loading new secret material, and by periodically re-encrypting and re-storing the material. These preliminary actions prevent data remanence vulnerabilities by ensuring that any previously stored information is completely obscured before new data is introduced, maintaining security while enabling continuous operational access.
2Productivity
If complete sequences of secret material are stored in main memory at once, then operational efficiency is improved, but security is worsened because the entire sequence becomes vulnerable to remanence attacks
Solution Approach 1:
The patent segments the loading process into multiple steps where only portions of the secret material are stored in main memory simultaneously. This maintains operational efficiency by loading data in manageable increments while ensuring that no complete sequence is vulnerable to remanence attacks, thus balancing productivity with security reliability.
Solution Approach 2:
The patent implements periodic re-encryption and re-storing of the secret material in long-term storage. This periodic action ensures that even if data remanence persists, the material is continuously updated and encrypted, preventing the formation of complete vulnerable sequences while maintaining operational readiness.
3Quantity of substance
If data is overwritten or erased in long-term storage, then storage capacity is improved, but security is worsened because previously stored information can still be recovered due to data remanence
Solution Approach 1:
The patent performs preliminary overwriting actions by writing random data to memory locations before storing new secret material. This preliminary action ensures that any previously stored information is completely obscured before new data is introduced, allowing storage capacity to be reused while preventing data recovery vulnerabilities.
Solution Approach 2:
The patent maintains continuous security protection by periodically re-encrypting and re-storing the secret material in long-term storage. This continuous action ensures that even as storage capacity is reused and data is overwritten, the material remains protected against remanence attacks, balancing storage capacity with security.
Data Source
AI summary
A computer-implemented method of storing data from a second storage component in a first storage component includes: storing information relating to a first sequence of values in the first storage component; storing a second sequence of values from the second storage component into the first storage component in a plurality of steps, deleting or overwriting one or more values from the second sequence of values which were stored in the first storage component in a previous step; and storing an encrypted third sequence of values in the first storage component. The third sequence of values is derivable from the first sequence of values and the second sequence of values.


