Device Certificate Chain Update for Bootloader Changes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating device certificates face challenges when the bootloader of a device is changed, leading to potential errors and disruptions in device operation.
Innovation Solution
A certificate update method and system that involves generating a device unique identifier, using a device identify certificate engine (DICE) to create device certificates, and updating certificate chains through secure protocol and data model (SPDM) to ensure seamless operation even when the bootloader is modified.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the bootloader is updated by a different manufacturer, then device functionality can be improved or enhanced, but certificate verification fails and device operation is disrupted
Solution Approach 1:
The certificate storage is divided into multiple slots (first slot and second slot) allowing separate storage of original certificates and updated certificates. This segmentation enables the system to maintain both the original certificate chain and the updated certificate chain simultaneously, allowing bootloader updates while preserving the ability to verify certificates through either path.
Solution Approach 2:
The system performs preliminary certificate verification using the original certificate stored in the first slot before allowing bootloader updates. Additionally, the updated certificate is pre-stored in the second slot in anticipation of future verification needs, ensuring that certificate verification can succeed regardless of which bootloader is executing.
2Adaptability or versatility
If a new certificate is issued by a different certification authority, then the device can be re-endorsed, but the original certificate chain verification fails
Solution Approach 1:
The system introduces an intermediary mechanism by storing both the original certificate chain (from the first certification authority) and the updated certificate chain (from the new certification authority) in separate slots. The verification process can switch between these two certificate chains based on which bootloader is active, acting as a mediator that reconciles the conflict between different certification authorities.
Solution Approach 2:
The system dynamically selects which certificate chain to use for verification based on the active bootloader. When the original bootloader is active, it uses the original certificate chain; when an updated bootloader is active, it uses the updated certificate chain. This dynamic adaptation allows the system to maintain certificate chain integrity relative to the active bootloader while supporting certificate re-endorsement.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of updating a certificate for device identification of at least one example embodiment includes generating a device identifier comprising unique information of the device (100), generating a device identity (ID) certificate signing request (CSR) based on the device identifier, updating the bootloader (120), the updating including updating a certificate of the device (100) based on the device ID CSR using firmware of the device (100) in response to a request of a host device (200), and in response to the bootloader (120) being changed, authenticating the updating of the bootloader (120) based on a second certificate generated by an original equipment manufacturer (OEM) of the device (100) in response to authentication of the bootloader (120) failing based on a first certificate generated by a manufacturer of the device (100).