Blockchain-Based Code Distribution for IoT Device Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecode verification reliabilityVSAvoidinterception and spoofing vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive security mechanisms are implemented in network connected devices, then code trustworthiness verification improves, but device resource requirements and complexity increase

Engineering Contradiction:
Improvecode trustworthiness verificationVSAvoidsecurity mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvenetwork connection flexibilityVSAvoidcode verification reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3437289B1Untrusted code distribution
Publication Date: 2020.07.15 BRITISH TELECOM PLC
  • EP3437289B1 patent drawingFigure 1~2
  • EP3437289B1 patent drawingFigure 3
  • EP3437289B1 patent drawingFigure 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.