Secure Memory Dumping with Dynamic Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing semiconductor device systems face challenges in performing a secure ramdump while maintaining security stability, as they often cannot analyze secure data due to unauthorized access restrictions, and current methods lack simplicity and resource efficiency.
Innovation Solution
The method involves storing secure data in a secure memory area, encrypting it with a randomly generated key after booting, and allowing the secure area to be treated as non-secure for dumping during system failures, while using a one-time programmable disable bit to control access and maintain security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secure data is protected from unauthorized access, then security stability is maintained, but the ability to analyze secure data during system failures is lost
Solution Approach 1:
The memory is divided into secure area and non-secure area, with different access control mechanisms applied to each. The secure area maintains strict access control for normal operation, while the non-secure area allows unrestricted access for debugging. This segmentation enables the system to maintain security stability during normal operation while enabling data analysis capability when needed through the non-secure area.
Solution Approach 2:
The access control mechanism dynamically changes based on system state. During normal operation, the secure area maintains restricted access. When system failure is detected, the system transitions to a state where the secure area can be accessed for analysis. This dynamic adaptation allows the system to maintain security stability during normal operation while enabling data analysis capability during failures.
2Reliability
If additional security measures are implemented for secure data, then security stability is improved, but device complexity increases
Solution Approach 1:
Instead of implementing complex security measures throughout the entire memory system, the solution segments the memory into secure and non-secure areas with different access control mechanisms. This segmentation simplifies the overall system by applying security measures only where needed, reducing the complexity burden while maintaining security stability.
Solution Approach 2:
Different access control qualities are applied to different parts of the memory system. The secure area has restricted access control for maintaining security stability, while the non-secure area has unrestricted access for debugging purposes. This local differentiation simplifies the overall system complexity by avoiding the need for complex security measures across the entire system.
3Reliability
If secure data is encrypted and stored separately, then security stability is maintained, but the ease of performing ramdump is reduced
Solution Approach 1:
The memory is segmented into secure and non-secure areas, allowing the ramdump operation to target specific areas with different access requirements. The non-secure area can be dumped with standard access, while the secure area requires authorized access. This segmentation maintains security stability while simplifying the ramdump operation by allowing targeted access to specific memory regions.
Solution Approach 2:
The access rights for memory areas dynamically change based on the operational context. During normal operation, the secure area maintains restricted access for security stability. When a ramdump is requested, the system dynamically adjusts access control to allow authorized access to the secure area for analysis. This dynamic behavior maintains security stability while improving the ease of performing authorized ramdump operations.
Data Source
AI summary
Provided is a method of operating a semiconductor device. A method of operating a semiconductor device includes storing secure data in a secure area of a memory in response to detecting a system failure; encrypting the secure data stored in the secure area by using a random key to generate encrypted secure data; storing the encrypted secure data in the secure area; and dumping the secure area and a non-secure area of the memory.


