Security Module Firmware Update via Intermediary Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating firmware in security modules are costly and resource-intensive due to the need for significant memory storage, especially for partial or complete exchanges, which is challenging given the limited resources of security modules and the requirement for continuous updates to maintain security and functionality.
Innovation Solution
A method and system that allow for efficient firmware updates by using a minimal storage footprint, involving a device and security module communication to receive and unpack firmware updates, utilizing a boot loader to manage the process, and employing unlock secrets for verification and decryption, thereby reducing resource requirements and ensuring security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a complete writing of the patch into a memory of the security module is performed for patching, then the firmware can be updated, but a corresponding amount of memory in the security module is required which is typically not available
Solution Approach 1:
The firmware update process is divided into multiple blocks that are transferred separately from the provider to the equipment. Each block is verified individually using checksums, and only after all blocks are successfully received and verified is the complete firmware unpacked and installed. This segmentation allows incremental transfer without requiring the entire firmware to be stored simultaneously in the security module's limited memory.
Solution Approach 2:
The equipment acts as an intermediary between the provider and the security module. The equipment's memory serves as a temporary storage location for the firmware update blocks during transfer, while the security module's memory is used only for verification and final installation. This intermediary approach offloads the storage burden from the resource-constrained security module.
2Reliability
If firmware updates are performed frequently to maintain security and functionality, then security mechanisms remain reliable, but the cost and resource consumption increase
Solution Approach 1:
The firmware update blocks are transferred and stored in the equipment's memory before being verified and installed in the security module. The verification process using checksums is performed in advance on each block, ensuring integrity before installation. This preliminary verification prevents failed update attempts that would waste resources and requires fewer repeated updates.
Solution Approach 2:
The system implements a feedback mechanism where the security module sends a transaction number to the equipment, which then requests the appropriate firmware update from the provider. After successful verification and installation, the system can confirm the update status. This feedback loop ensures updates are performed only when needed and necessary, reducing unnecessary update costs while maintaining security.
Data Source
Figure 1~2
Figure 3
AI summary
The invention describes a method for updating a firmware of a security module (16) in an equipment (E) comprising a device (14) and the security module (16) which are arranged such that data can be exchanged between the security module (16) and the device (14). The method of the invention comprises the step of receiving a first message by the security module (16), wherein the first message indicates the availability of a firmware update provided by a provider (P) and wherein the first message contains a transaction number which is individual for the security module (16). A second message is transferred from the equipment (E) to the provider (P) with which the firmware update is requested from the provider (P), wherein the second message contains the individual transaction number to enable the provider (P) to conduct an identification of the security module (16). Furthermore, the firmware update is transferred from the provider (P) to the equipment (E) based on an evaluation of the individual transaction number. Afterwards, the firmware update is stored in a memory of the device (14). Finally, the firmware is unpacked by a boot loader of the equipment (E) or the security module (16).