Parallel Integrity Data Calculation for Secure Memory Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for securing and updating software in embedded systems, such as mobile devices, face challenges in ensuring the integrity and authenticity of memory contents, particularly during updates, and are vulnerable to interruptions or tampering.
Innovation Solution
A method that calculates two integrity protection data items in parallel processes over current and updated memory blocks, ensuring that any changes are verified using a secret key stored on the device, thereby preventing unauthorized access or interruptions during the update process, and allows for delta updates without relying on an external server for signing the entire software image.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If frequent software updates are performed to maintain functionality, then the software remains current and functional, but the risk of errors and unintended features increases
Solution Approach 1:
The patent divides the software update process into distinct phases: a trusted execution environment calculates integrity protection data items over memory blocks before and after updates, allowing the system to verify only the changed portions while maintaining overall software integrity. This segmentation enables frequent updates without compromising reliability.
2Reliability
If cryptographic protection methods are used to secure memory contents, then security against unauthorized access is improved, but the complexity of the system increases
Solution Approach 1:
The patent implements a self-service mechanism where the processing device itself calculates integrity protection data items using a secret key stored in a trusted execution environment. This eliminates the need for complex external authentication systems or server verification, reducing overall system complexity while maintaining strong cryptographic protection.
3Reliability
If the entire software image is signed by an external server, then authentication protection is ensured, but the update process becomes slower and more complex
Solution Approach 1:
The patent performs preliminary calculation of integrity protection data items within the trusted execution environment before the actual memory update occurs. By pre-computing these verification values and storing them, the system eliminates the need for time-consuming external server verification during the update process, significantly improving update speed while maintaining authentication protection.
4Reliability
If physical protection of memory is implemented, then security against illegal access is improved, but the cost and difficulty of production increases
Solution Approach 1:
The patent replaces physical memory protection mechanisms with a computational approach using trusted execution environments and cryptographic integrity protection data items. This substitution eliminates the need for complex physical security hardware while achieving equivalent or superior protection through software-based verification mechanisms.
Data Source
AI summary
A method of updating memory content stored in a memory of a processing device, the memory comprising a plurality of addressable memory blocks, the memory content being protected by a current integrity protection data item stored in the processing device, the method comprising determining a first subset of memory blocks that require an update, and a second subset of memory blocks that remain unchanged by said updating; calculating, as parallel processes, a first and a second integrity protection data item over the memory blocks; wherein the first integrity protection data item is calculated over the current memory contents of the first and second subsets of memory blocks; and wherein the second integrity protection data item is calculated over the current memory contents of the second subset of memory blocks and the updated memory block contents of the first subset of memory blocks.


