Cascaded Data Encryption Using Physical Memory Attributes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face security vulnerabilities due to attackers being able to locate and exploit multiple versions of the same data stored in different memory locations, which can lead to data recovery and unauthorized access, especially in flash memory arrays where garbage collection and data migration processes leave behind detectable signatures.
Innovation Solution
Implementing a cascaded encryption method that uses secret auxiliary data tied to physical attributes of memory locations, such as block addresses and write counts, to encrypt data at multiple levels, ensuring that different versions of the same data are encrypted differently, making them harder to detect and recover.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data are stored in multiple memory locations during garbage collection and migration, then data recovery becomes possible for attackers, but data security is compromised
Solution Approach 1:
The encryption process is divided into two distinct segments: first encryption using a first key before data is written to memory, and second encryption using a second key after data is read from memory. This segmentation ensures that even if data remnants exist in multiple memory locations, attackers cannot recover the original data because both encryption layers must be breached sequentially, with each layer using different keys that are not both accessible to attackers.
Solution Approach 2:
The first encryption is performed as a preliminary action before data is written to any memory location. This preliminary encryption ensures that even if data migration or garbage collection creates intermediate copies in memory, the data is already protected by the first key, preventing attackers from recovering unencrypted or singly-encrypted data from these intermediate locations.
2Reliability
If standard encryption is used without location-dependent keys, then encryption simplicity is maintained, but data versions can be detected and recovered by attackers
Solution Approach 1:
The encryption system implements local quality by using different encryption keys for different operational contexts: the first key is used for encryption during data writing, while the second key is used for encryption during data reading. This location and operation-dependent encryption ensures that data security is maintained across different memory locations and access patterns, making it impossible for attackers to use a single decryption approach to recover data from multiple versions.
Solution Approach 2:
The encryption approach is dynamic rather than static: the system automatically applies different encryption keys based on the operational phase (write vs. read) and memory location context. This dynamic encryption ensures that as data moves through different memory locations during migration and garbage collection, each version remains protected by appropriate encryption, preventing attackers from detecting or recovering data versions through static analysis.
3Reliability
If multiple encryption levels are applied, then data security against version detection is improved, but processing time increases
Solution Approach 1:
The first encryption is performed as a preliminary action during the data writing process, before data is stored in memory. By completing this encryption layer upfront, the system avoids the need for additional encryption processing during subsequent read operations, as the second encryption is applied to already-encrypted data only when necessary for retrieval, thus minimizing overall processing time impact while maintaining security.
Data Source
AI summary
Apparatus and method for providing data security through cascaded encryption. In accordance with various embodiments, input data are encrypted in relation to a first auxiliary data value to provide first level ciphertext. The first level ciphertext are encrypted using a second auxiliary data value associated with a selected physical location in a memory to produce second level ciphertext, which are thereafter stored to the selected physical location. In some embodiments, migration of the stored data to a new target location comprises partial decryption and re-encryption of the data using a third auxiliary data value associated with a new target physical location to produce third level ciphertext, and the storage of the third level ciphertext to the new target physical location.


