Code Integrity Checking in Secure and Non-Secure Memory Regions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
IoT devices face challenges in implementing complex security methods due to their lightweight and simple configurations, making them vulnerable to external attacks and difficult to maintain secure operations.
Innovation Solution
An electronic device with a memory divided into a non-secure and a secure region, where a processor can selectively operate between these worlds, checks the integrity of code blocks, moves compromised code blocks to the secure region, and loads original code blocks from the secure region to ensure continued operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex security methods are applied to IoT devices, then security reliability is improved, but device complexity and resource consumption increase
Solution Approach 1:
The memory is segmented into a first region for compromised code blocks and a second region for original code blocks. This segmentation allows the system to isolate compromised code while preserving access to original code, enabling security verification without requiring complete system redesign or complex security infrastructure.
Solution Approach 2:
The system pre-loads original code blocks into the second memory region before compromise occurs. This preliminary action ensures that when compromise is detected, the original code is already available for immediate execution, eliminating the need for complex real-time retrieval or reconstruction processes.
2Difficulty of detecting and measuring
If code integrity checking is performed continuously, then security detection capability is improved, but processing time and energy consumption increase
Solution Approach 1:
Instead of continuously verifying all code blocks, the system performs integrity checking only when switching between code blocks or when execution flow changes. This partial action approach maintains security detection capability while significantly reducing processing overhead and energy consumption compared to continuous verification.
Solution Approach 2:
The processor acts as an intermediary that manages code block execution by verifying integrity only at transition points. This intermediary role allows the system to maintain security without requiring constant verification of all code, thereby reducing processing time and energy usage.
3Reliability
If compromised code blocks are isolated in secure region, then security is improved, but memory access time increases
Solution Approach 1:
The system merges the compromised code region and original code region within the same memory space, allowing the processor to switch between regions without requiring external memory access or complex memory management operations. This merging maintains security isolation while preserving fast memory access characteristics.
Data Source
AI summary
An electronic device and a control method thereof are provided. The electronic device includes a memory configured to include a non-secure region operating in a normal world and a secure region operating in a secure world, and a processor configured to selectively operate in one of the normal world and the secure world, check integrity of a plurality of code blocks loaded on a first area of the non-secure region while operating in the secure world, and when one of the plurality of code blocks is compromised, change a memory region corresponding to a compromised code block to a secure region, and load an original code block of the compromised code block on a second area of the non-secure region.


