Execute-Only Memory Protection Unit for Microcontroller Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microcontroller systems with Von Neumann architecture lack execute-only access rights, making them susceptible to code corruption, especially in applications that require distinguishing between read and execution access, such as smart card systems.
Innovation Solution
Incorporating a memory protection unit (MPU) in microcontroller systems that provides execute-only access rights for protected areas of memory, allowing instructions fetched from within these areas to access data while preventing access from outside, thus preventing code corruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If execute-only access rights are implemented in a Von Neumann processor, then code corruption is prevented, but device complexity increases
Solution Approach 1:
The memory space is segmented into multiple protected areas, each with its own execute-only access rights. The memory protection unit divides the memory map into distinct regions that can be independently protected, allowing instructions to be executed only from authorized memory locations while preventing code corruption from unauthorized areas
Solution Approach 2:
A memory protection unit is introduced as an intermediary component between the processor and memory. This unit monitors and controls memory access requests, verifying whether each access originates from an authorized execution context before allowing the operation to proceed, thus preventing code corruption without requiring fundamental changes to the processor architecture
2Reliability
If memory is segmented into protected areas with execute-only access, then security against unauthorized access is improved, but ease of operation deteriorates
Solution Approach 1:
The memory protection unit automatically manages access control by maintaining state information about the current execution context and comparing it against the security requirements of each memory access request. This self-service mechanism eliminates the need for software to manually manage security states, making protected memory access as easy to implement as standard memory access while maintaining strong security guarantees
Data Source
AI summary
A microcontroller system, such as a system-on-a-chip integrated circuit, including a processor (e.g., a Von Neumann processor), memory, and a memory protection unit (MPU), where the MPU provides execute-only access rights for one or more protected areas of the memory. The MPU can allow instructions fetched from within a protected area to access data in the protected area while preventing instructions fetched from outside the protected area from accessing data in the protected area.


