Bootloader Key Table for Secure Public Key Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bootloader systems in vehicle electronic control units (ECUs) require rewriting the entire bootloader to replace a compromised public key, leading to potential operational interruptions and inability to program the ECU.
Innovation Solution
A key table is defined within the bootloader memory segment with vacant memory slots to store replacement public keys, allowing for secure and incremental key replacement without erasing the existing bootloader, using a validity flag to manage the last valid key.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire bootloader is rewritten to replace a compromised public key, then security is maintained, but operational interruptions and inability to program the ECU occur
Solution Approach 1:
The bootloader memory segment is divided into two distinct parts: the bootloader code that remains intact and the key table that can be independently updated. This segmentation allows the public key to be replaced without affecting the bootloader's programming capability, resolving the contradiction between maintaining security and preserving productivity.
Solution Approach 2:
The key table is pre-configured with multiple memory slots and validity flags during bootloader initialization. This preliminary setup enables future key replacements to be performed without interrupting operations, as the structure is already in place to accommodate new keys without requiring complete bootloader rewrites.
2Reliability
If the public key is stored in the bootloader memory flash segment, then the bootloader can authenticate digital signatures, but the public key cannot be separately programmed as a calibration
Solution Approach 1:
The memory flash segment is segmented into the bootloader code portion and the key table portion. This allows the public key to be stored within the same flash segment for authentication purposes while being separably programmable through the key table, enabling both authentication capability and key replaceability.
Solution Approach 2:
The key table creates a copyable storage structure within the flash segment that can be independently updated. Instead of modifying the entire bootloader, the key table provides a separate, replaceable copy of the public key storage mechanism, enabling key replacement without affecting the authentication functionality.
3Device complexity
If the bootloader uses a single flash segment for storage, then the structure is simple, but the public key cannot be made separately programmable
Solution Approach 1:
The single flash segment is logically segmented into the bootloader code and the key table. This segmentation adds separate programming capability while maintaining the physical simplicity of using a single flash segment, as the key table is simply another region within the same physical memory space.
Data Source
AI summary
A system and method for writing a new or replacement public key to a bootloader stored in a memory segment in the memory of a vehicle ECU without having to rewrite the entire bootloader. The method includes defining a key table in the bootloader memory segment includes a number of vacant memory slots that are available to store replacement public keys if they are needed. The key table is a separate section of the bootloader memory segment so that the key table memory slots are not used by the bootloader code.


