Blockchain-Based Code Distribution for IoT Device Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network-connected devices face challenges in verifying the trustworthiness of received code due to vulnerabilities in existing security mechanisms, especially in intermittent or non-persistent network connections, where hashing and signing can be intercepted or spoofed, making it difficult to ensure the reliability and appropriateness of the code.
Innovation Solution
A computer-implemented method using a blockchain data structure maintained by a base station to generate and distribute code to target devices, where each block includes a hash value for the code and devices, allowing the target device to verify the code's origin and suitability by comparing hash values with the blockchain's current and previous states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional hashing and signing mechanisms are used for code distribution, then code verification is simplified, but security is compromised due to interception and spoofing vulnerabilities
Solution Approach 1:
The patent applies preliminary action by pre-distributing blockchain data structure information (including verification algorithms and initial block data) to target devices before code distribution occurs. This allows devices to independently verify code authenticity through the immutable blockchain ledger, establishing verification capability in advance rather than relying on vulnerable post-distribution hashing mechanisms
Solution Approach 2:
The blockchain data structure serves as an intermediary between the code distribution system and target devices. Instead of direct trust between distributor and receiver, the blockchain acts as a neutral, immutable mediator that both parties can independently verify, eliminating the need for vulnerable direct authentication channels
2Reliability
If comprehensive security mechanisms are implemented in network connected devices, then code trustworthiness verification improves, but device resource requirements and complexity increase
Solution Approach 1:
The patent extracts the complex security verification functionality from the embedded device and relocates it to the blockchain infrastructure. Target devices only need to implement lightweight blockchain verification client functionality, while the heavy lifting of maintaining security credentials and verification logic resides in the distributed blockchain network
Solution Approach 2:
The blockchain data structure serves multiple functions simultaneously: it acts as a verification credential repository, an immutable audit trail, a distributed trust anchor, and a code integrity checkpoint. This multi-functionality eliminates the need for separate security mechanisms that would otherwise be required
3Adaptability or versatility
If code distribution occurs over intermittent network connections, then device connectivity flexibility improves, but verification reliability deteriorates due to potential data interception
Solution Approach 1:
The system performs preliminary distribution of blockchain verification data to devices during periods when network connection is available, storing this verification information locally. When intermittent connections occur later, devices can independently verify code authenticity using this pre-loaded blockchain data without requiring active network communication, thus maintaining verification reliability despite connection flexibility
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A computer implemented method for code distribution by a base station to a target device via a network, the distribution being made via one or more distribution servers arranged between the base station and the target device on the network, the method comprising: the base station maintaining a blockchain data structure storing one or more blocks and having a state determined by a most recently committed block in the blockchain; the base station generating a new transaction for storage in the blockchain corresponding to code for distribution by the base station to a defined list of network connected devices including the target device, the new transaction including a hash value for the code and the list of network connected devices, wherein the new transaction is stored and committed as a new block in the blockchain such that the blockchain has a new current state, the new block having associated a hash value based on the contents of the new transaction and a hash value evaluated for a block corresponding to a preceding state in the blockchain; sending the code, the defined list of devices and the hash value for the code and the defined list of devices to the target device via the one or more distribution servers; and broadcasting the current state of the blockchain for receipt by target device such that the target device is able to verify the code and the suitability of the code for the target device.