BLE Button Firmware Updates with Trusted Device Resumption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware update processes for client devices with limited non-volatile memory are prone to interruptions, leading to extended downtime and loss of functionality if the download process is not completed, especially in devices used for security purposes.
Innovation Solution
A method utilizing crowd sourcing and trust mechanisms, such as PKI, to securely update firmware by verifying and encrypting the firmware on a user device before uploading it to a client device, allowing automatic reinitiation by trusted and verified user devices in case of interruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware update is initiated on a client device with limited non-volatile memory, then the device can be upgraded to new firmware version, but the device loses its intended functionality during the update process and cannot recover if the download is interrupted
Solution Approach 1:
The patent divides the firmware storage space into multiple partitions: a first non-volatile memory partition for storing the current operational firmware image, and a second non-volatile memory partition for storing the updated firmware image. This segmentation allows the device to maintain operational functionality while receiving firmware updates, as the updated firmware can be stored separately and switched to only after successful completion.
Solution Approach 2:
The patent implements preliminary verification of the updated firmware image before it replaces the current operational firmware. The verification process checks the integrity and authenticity of the updated firmware using cryptographic signatures. Only after successful verification does the system switch to the updated firmware, ensuring that the device maintains functionality and can recover if the update process is interrupted.
2Reliability
If the firmware download process is interrupted due to communication connection termination, then the user must reinitiate the process using the same mobile device, but this causes extended downtime and loss of device functionality
Solution Approach 1:
The patent enables multiple user devices to function as firmware update sources for the same client device. Any trusted user device can initiate or resume the firmware update process by providing the firmware image to the client device. This multi-functionality eliminates the limitation of being tied to a single mobile device, allowing update resumption with different devices and reducing downtime.
Solution Approach 2:
The patent implements a mechanism where the client device can continuously receive and verify firmware images from different user devices without interruption. The verification process runs continuously, and once verification succeeds, the firmware update completes automatically. This continuous operation ensures that the firmware update process can resume and complete even after communication interruptions or device changes.
3Adaptability or versatility
If the client device accepts firmware images from any user device, then the update process becomes more flexible and resilient to interruptions, but security risks increase from potentially untrusted sources
Solution Approach 1:
The patent introduces a cryptographic signature verification mechanism as an intermediary between the firmware image and the client device's execution system. The firmware image must be signed by a trusted authority, and the client device verifies this signature before accepting or executing the firmware. This intermediary layer allows the system to accept firmware from multiple user devices while maintaining security, as only properly signed firmware can be executed.
Solution Approach 2:
The patent performs preliminary verification of the firmware image's cryptographic signature before the firmware is executed on the client device. This verification checks that the firmware comes from a trusted source and has not been tampered with. Only after successful verification does the system allow the firmware to replace the current operational image, ensuring security while maintaining flexibility in accepting updates from different user devices.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of updating of firmware to a client device such as a BLE button is provided. The method includes the steps of providing a first user device and detecting the client device with the first user device. It is determined if the client device is in an update mode in response to instructions from a second user device. The firmware is uploaded from the first user device to the client device in response to the client device being in the update mode.