Microcontroller Data Protection via Randomized Storage and Look-up Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional microcontrollers' internal storage memory is vulnerable to data theft due to the storage of code and data in clear-text form, making them susceptible to unauthorized access and theft.
Innovation Solution
The method involves splitting input data into data groups, randomly reordering them, and recording the original and new start-addresses to create a look-up table, which is stored along with the reordered data in a storage memory, ensuring that each original start-address corresponds to a new start-address, thereby enhancing data protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If code and data are stored in clear-text form in internal storage memory, then ease of access and operation is improved, but data security and vulnerability to theft deteriorates
Solution Approach 1:
The internal storage memory is segmented into multiple banks (first bank, second bank, third bank, fourth bank), each storing different portions of code or data. This segmentation prevents an attacker from accessing the complete program or data set even if one bank is compromised, thereby improving security while maintaining operational efficiency through parallel access capabilities.
Solution Approach 2:
The patent implements asymmetric storage architecture where different banks have different access characteristics and the mapping between logical addresses and physical bank locations is non-uniform. This asymmetry makes it difficult for attackers to predict or replicate the storage layout, enhancing security against theft while preserving normal access patterns through the address mapping mechanism.
2Object-affected harmful factors
If data is stored in randomized order with look-up tables, then data security is improved, but device complexity increases
Solution Approach 1:
The patent introduces look-up tables as intermediary structures that map logical addresses to actual randomized physical locations in storage banks. These look-up tables act as mediators between the processor and the randomized storage structure, hiding the complexity from the main system while enabling secure randomized storage. The look-up tables can be stored in separate secure memory or registers, isolating the complexity from the critical code path.
Data Source
AI summary
A data protection method includes the following steps. Input data is split into a plurality of data groups. The original start-address of each data group and the data length of each data group are recorded. The data groups are reordered randomly. The reordered data groups constitute random data. The new start-address of each reordered data group is recorded. The original start-addresses, the data lengths, and the new start-addresses are collected to form a look-up table. The look-up table records the original start-addresses of the data groups and the new start-addresses of the reordered data groups. Each original start-address corresponds to one new start-address. The random data is stored in the storage memory. The look-up table is stored in the memory controller.


