Microcontroller Secure Environment Memory Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional secure key operations in microcontrollers are resource-intensive and costly due to the need for additional dedicated security microcontrollers, which increases the price and power consumption of end products and occupies valuable space in integrated circuits.
Innovation Solution
A secure environment is created within the memory address space of a microcontroller, using memory protection mechanisms and firewall logic to protect secure keys and data, allowing secure operations like cryptographic functions without the need for additional hardware, by configuring the microprocessor to restrict access and enable secure state machine operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If additional dedicated security microcontrollers are used for secure key operations, then security reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent merges the security functions with the main microcontroller by implementing a secure environment within the existing microcontroller's memory address space. The microprocessor is configured to restrict access to secure memory regions and execute secure operations, eliminating the need for separate security microcontrollers while maintaining security reliability.
Solution Approach 2:
The microcontroller is designed to perform multiple functions including both general-purpose operations and secure key operations within a single device. The microprocessor can switch between user-mode operations and secure environment operations, making the device universal and eliminating the need for dedicated security hardware.
2Reliability
If additional dedicated security microcontrollers are used for secure key operations, then security reliability is improved, but power consumption increases
Solution Approach 1:
The security functions are merged into the main microcontroller's operational framework. The microprocessor handles both secure and non-secure operations sequentially, sharing the same power supply and processing resources, thereby reducing overall power consumption compared to running separate security microcontrollers.
Solution Approach 2:
The single microcontroller performs multiple functions including secure key operations, cryptographic functions, and general-purpose processing. By consolidating these functions into one device rather than running multiple separate microcontrollers, the system reduces total power consumption while maintaining security reliability.
3Reliability
If additional dedicated security microcontrollers are used for secure key operations, then security reliability is improved, but integrated circuit space is occupied
Solution Approach 1:
The secure environment is implemented within the existing microcontroller's memory address space by configuring the microprocessor to restrict access to specific memory regions. This approach utilizes already-present hardware resources rather than adding separate security microcontroller circuits, thereby preserving integrated circuit space while ensuring security reliability.
4Reliability
If memory protection mechanisms and firewall logic are used to create secure environment, then security protection is improved, but device complexity increases
Solution Approach 1:
The memory protection mechanisms and firewall logic are integrated into the existing microcontroller architecture. The microprocessor is configured to enforce access restrictions to secure memory regions, combining security functions with the main processing unit rather than adding separate security hardware modules, thus minimizing the increase in device complexity.
Data Source
AI summary
A secure engine method includes providing an embedded microcontroller in an embedded device, the embedded microcontroller having internal memory. The method also includes providing a secure environment in the internal memory. The secure environment method recognizes a boot sequence and restricts user-level access to the secure environment by taking control over the secure environment memory. Taking such control may include disabling DMA controllers, configuring at least one memory controller for access to the secure environment, preventing the execution of instructions fetched from outside the secure environment, and only permitting execution of instructions fetched from within the secure environment. Secure engine program instructions are then executed to disable interrupts, perform at least one secure operation, and re-enable interrupts after performing the at least one secure operation. Control over the secure environment memory is released, which can include clearing memory, re-enabling DMA controllers, and restoring memory controller parameters.


