Encrypted Firmware Transfer Between Master and Slave MCUs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In conventional data transmission systems, firmware data for a slave MCU is not adequately protected during the download process from a master MCU's non-volatile memory to its volatile memory, as the information is not sufficiently secured.
Innovation Solution
A method and apparatus are introduced where the master MCU stores an encrypted header and firmware data in a non-volatile memory, which is then transmitted to the slave MCU. The slave MCU decrypts this header using a stored decryption key, follows pre-defined settings to obtain and store firmware blocks in its volatile memory, ensuring the information remains protected.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the master MCU obtains the information of firmware data of slave MCU for download, then the firmware data can be transmitted from master MCU to slave MCU, but the information of firmware data of slave MCU is not sufficiently protected
Solution Approach 1:
The patent applies preliminary action by encrypting the firmware data information (including block identifiers, offsets, sizes, and authentication data) before transmission. The master MCU prepares the encrypted header containing all necessary download information in advance, so that the slave MCU receives already-protected data that requires decryption before use, thereby preventing unauthorized access during the download process
Solution Approach 2:
The patent introduces an intermediary mechanism through the use of encrypted headers and authentication data. This intermediary layer acts as a mediator between the master MCU and slave MCU, ensuring that the firmware data information is protected during transmission and that only authorized devices can access and process the data, thus enhancing security without requiring direct unencrypted communication
2Reliability
If the slave MCU decrypts the encrypted header to obtain firmware data information, then the information security is improved, but the processing time and complexity increase
Solution Approach 1:
The decryption key is pre-loaded into the slave MCU's secure memory during device fabrication or initialization, before the firmware download process begins. This preliminary preparation eliminates the need for time-consuming key exchange or key generation during the actual firmware update, allowing the slave MCU to quickly decrypt the header information when needed without significant time loss
Solution Approach 2:
The patent changes the state of the decryption key from being stored externally or transmitted (which would be time-consuming and insecure) to being embedded as a fixed parameter in the slave MCU's hardware. This parameter change transforms the key into a permanent, quickly accessible value that can be used for rapid decryption without adding processing overhead
3Reliability
If the firmware data is encrypted and transmitted, then the data protection is enhanced, but the transmission and processing complexity increases
Solution Approach 1:
The patent segments the firmware data transmission into two distinct parts: an encrypted header containing metadata information (block identifiers, offsets, sizes, authentication data) and the actual firmware blocks. This segmentation allows the complex encrypted information to be broken down into manageable components that can be processed independently, reducing the overall complexity of handling encrypted firmware data
Solution Approach 2:
The encrypted header serves as an intermediary structure that contains all necessary information for downloading and verifying firmware blocks without exposing the actual firmware data. This intermediary layer simplifies the encryption process by providing a standardized format that includes authentication data, allowing the system to verify data integrity without decrypting the entire firmware payload
Data Source
AI summary
A data transmission method is provided. The data transmission method may include the following steps. A first memory of a master microcontroller (MCU) of an apparatus may store an encrypted header and firmware data associated with a slave MCU of the apparatus. The encrypted header may include information corresponding to the firmware data, and the firmware data may include a plurality of firmware blocks. Then, the master MCU may transmit the encrypted header to the slave MCU. Then, the slave MCU may decrypt the encrypted header to obtain the information corresponding to the firmware data. Then, the slave MCU may obtain the firmware blocks from the master MCU according to a plurality of pre-defined settings and the information corresponding to the firmware data. Then, a second memory of the MCU may store the firmware blocks.

