Non-volatile Memory Partitioning for Secure Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile storage devices, such as EEPROMs, lack secure mechanisms to prevent malicious or accidental reprogramming and ensure the integrity of stored data, particularly in scenarios where updated or new data needs to be written while maintaining the security and trustworthiness of the stored information.
Innovation Solution
A non-volatile storage device is partitioned into a read-only and a write-only area, with a controller verifying the signature of new data using a key stored in a key storage module before re-designating the partitions, ensuring that only trusted and complete data is written and read, thereby maintaining data integrity and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the non-volatile storage device allows writing new data to update stored information, then the device can be updated with new software or configuration, but the device becomes vulnerable to malicious or accidental reprogramming that compromises data integrity
Solution Approach 1:
The storage device is divided into multiple partitions (first partition for read-only data, second partition for write-only new data). This segmentation allows the device to simultaneously maintain data integrity in the read-only partition while accepting updates in the write-only partition, thus resolving the contradiction between update capability and data integrity protection.
Solution Approach 2:
The controller verifies the signature of new data before allowing it to be written to the storage device. This preliminary verification action ensures that only authenticated and trusted data can be written, preventing malicious reprogramming while still allowing legitimate updates, thus maintaining both update capability and data integrity.
2Reliability
If the controller verifies the signature of new data using a key stored in the key storage module, then the security and trustworthiness of stored information is maintained, but the complexity of the data writing process increases
Solution Approach 1:
The key storage module stores the verification key within the storage device itself, enabling the controller to perform self-verification of incoming data signatures without requiring external verification infrastructure. This self-service approach maintains high security while minimizing the complexity increase by keeping the verification process integrated within the device.
3Reliability
If the first partition is designated as read-only and the second partition as write-only, then unauthorized modifications are prevented, but the device requires additional partitions and controller logic to function
Solution Approach 1:
The controller dynamically manages the partitions by switching their roles based on verification results. After successful verification and writing of new data to the second partition, the controller can swap the read-only and write-only designations, allowing the newly written data to become the new read-only data. This dynamic role switching enables secure updates while managing partition complexity through automated controller logic.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An apparatus includes an interface module, a controller, a key storage module, where the key storage module is configured to store a key, and a non-volatile storage module that is configured to store data. The non-volatile storage module has a first partition and a second partition, where the first partition is designated as a read-only storage area for the data and the second partition is designated as a write-only storage area for new data. The first partition is re-designated as the write-only storage area for other new data and the second partition is re-designated as the read-only storage area for the new data in response to the new data being written to the second partition with a signature and the controller verifying the signature using the key stored in the key storage module.