Grouped Firmware Swapping in Memory-Constrained Security Subsystems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems face challenges in securely updating firmware due to memory constraints, where secure memory is insufficient to accommodate new features, and demand paging solutions are costly and difficult to maintain, especially in embedded systems.
Innovation Solution
A system that dynamically loads and swaps firmware groups from external flash memory into secure memory, using an image manager to ensure integrity and authenticity, allowing continuous operation with a single grouped firmware image by swapping code groups as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware is stored in non-volatile memory devices (ROM, EPROM, EEPROM, flash memory), then firmware can be permanently installed and retain basic functional control, but firmware cannot be updated without physically replacing the ROM integrated circuits or reprogramming through special procedures
Solution Approach 1:
The patent segments the firmware into multiple code groups (first code group, second code group, third code group) that can be independently stored in non-volatile memory and selectively loaded into secure memory. This segmentation enables updating specific code groups without replacing the entire firmware or performing complex reprogramming procedures, thus maintaining reliability while improving update ease.
2Adaptability or versatility
If secure memory size is increased to accommodate updated security firmware with new features, then new features can be supported, but memory cost and device complexity increase
Solution Approach 1:
The patent implements a dynamic code group swapping mechanism where different code groups can be loaded into secure memory based on runtime requirements. The system can switch between a first code group and a second code group, allowing new features to be supported by loading appropriate code groups without permanently increasing secure memory size. This dynamic approach maintains adaptability while controlling device complexity and memory resource usage.
3Productivity
If demand paging solutions are implemented to load application images with separate pages on demand, then memory usage efficiency improves, but page table creation and maintenance become costly and difficult
Solution Approach 1:
The patent extracts the page table maintenance complexity from the system by implementing a simpler code group loading mechanism. Instead of using demand paging with page tables, the system directly loads complete code groups from non-volatile memory into secure memory based on simple group identifiers. This extraction of complexity maintains memory usage efficiency while eliminating the burden of page table creation and maintenance.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system, method, and apparatus are provided for securely controlling operations of a data processing system in which security subsystem is activated to provide security services. Initially, a security firmware base code group and a security firmware first code group are downloaded from a multi-group security firmware image stored on external memory for storage at a secure memory in the security subsystem. If the security firmware first code group does not support a received security service command request, a security firmware second code group is retrieved from the multi-group security firmware image a run-time swap of the security firmware second code group is performed to replace the security firmware first code group in the secure memory in the security subsystem so that the security subsystem can generate a response to the security service command request using at least the security firmware second code group.