IP Library › Granted Patent US 11,921,838
Granted Patent B2
US 11,921,838 · App. 17/957,759 · Granted Mar 5, 2024

Method and system of secure configuration of at least one electronic device

Inventors: Holger Assenmacher (Las Vegas, NV); Thomas Dienwiebel (Los Gatos, CA)
Assignee: CRYPTOWERK CORP.
G06F21/44G06F9/44505H04L9/3239
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,921,838
App. No.
17/957,759
Granted
Mar 5, 2024
Kind
B2
Abstract

The present invention relates to the secure configuration of electronic devices, such as for example network-connected “smart” devices and appliances, collectively referred to as “IoT devices”. A computer-implemented method of secure configuration of at least one electronic device is provided. According to the method, the electronic device connects to a blockchain database; determines from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device; obtains configuration information from said configuration block; and using the configuration information, conducts configuration of the electronic device.

Claims (89)

1. A computer-implemented method of secure configuration of at least one electronic device, comprising:

connecting to a blockchain database;

determining from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device;

obtaining configuration information from said configuration block; and

using the configuration information, conducting configuration of the electronic device;

wherein said electronic device is additionally configured to conduct a forward update routine comprising:

obtaining a forward update indicator from the configuration block;

determining from said blockchain database using the forward update indicator, an updated configuration block having updated configuration information; and

if the updated configuration block exists, obtaining the updated configuration information and using the updated configuration information, conducting configuration of the electronic device;

wherein the forward update indicator comprises a public update key of a private/public update key pair and a subsequent or younger updated configuration block of the blockchain database comprises data/information that is encrypted with the private update key.

2. The computer-implemented method of claim 1 , wherein determining the configuration block comprises determining an oldest block of the blockchain database, where the block identification data corresponds to the device identification data.

3. The computer-implemented method of claim 1 , wherein the step of determining the configuration block comprises searching for a block, where the block identification data corresponds to the device identification data.

4. The computer-implemented method of claim 1 , wherein the device identification data comprises a block identifier and determining the configuration block comprises querying the blockchain database for a block, corresponding to the block identifier.

5. The computer-implemented method of claim 1 , wherein a configuration pointer is stored with the electronic device and obtaining the configuration information from the configuration block comprises querying the blockchain database using the configuration pointer.

6. The computer-implemented method of claim 1 , wherein a minimum block height value is stored with the electronic device and determining the configuration block comprises searching for a block, where the block identification data corresponds to the device identification data, and where said search begins from a block of the blockchain database, which corresponds to the minimum block height value.

7. The computer-implemented method of claim 1 , wherein determining the configuration block comprises connecting to a blockchain search server, providing the device identification data to the blockchain search server, and receiving the configuration block.

8. The computer-implemented method of claim 1 , wherein in case the updated

configuration block also comprises a forward update indicator, conducting the forward update

routine repeatedly, so that the electronic device is configured with configuration information, comprised in a youngest or last

configuration block of the blockchain database.

9. The computer-implemented method of claim 1 , wherein the updated configuration

information is encrypted with the private update key and the electronic device decrypts the updated configuration information using the public update key of a previous or

older updated configuration block.

10. The computer-implemented method of claim 1 ,

wherein the configuration information comprises at least one or more of a configuration script, an electronic link to a configuration script, an electronic link to an operating software, an electronic link to an operating software for the electronic device, an electronic link to a firmware, an electronic link to a firmware for the electronic device, an electronic link to a software update, an electronic link to a software update for the electronic device, an electronic link to a configuration update, an electronic link to a configuration update for the electronic device, a hash and a signing key and/or a public key of a public key cryptography system.

11. The computer-implemented method of claim 1 , wherein the method provides one or more of secure bootstrapping, secure re-configuration, and secure update of the at least one electronic device.

12. The computer-implemented method of claim 1 , wherein the block identification data or the device identification data comprises at least random data.

13. The computer-implemented method of claim 1 , wherein the block identification data or the device identification data comprises at least pseudo-random and/or true random data.

14. The computer-implemented method of claim 1 , wherein the electronic device is an IoT device, a smart device, and/or a wireless device.

15. The computer-implemented method of claim 1 , wherein the electronic device comprises at least one or more of a sensor, a camera, an actuator, a user interface, a network interface, a wireless interface, a display device, and an I/O interface.

16. The computer-implemented method of claim 1 , further comprising connecting to a first blockchain database and in case no configuration information can be obtained from said first blockchain database, connecting to at least a second blockchain database to obtain the configuration information.

17. A computer-implemented method of secure configuration of at least one electronic device, comprising:

connecting to a blockchain database;

determining from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device;

obtaining configuration information from said configuration block; and

using the configuration information, conducting configuration of the electronic device;

wherein said electronic device is additionally configured to conduct a forward update routine comprising:

obtaining a forward update indicator from the configuration block;

determining from said blockchain database using the forward update indicator, an updated configuration block having updated configuration information; and

if the updated configuration block exists, obtaining the updated configuration information and using the updated configuration information, conducting configuration of the electronic device;

wherein the forward update indicator comprises a hash of verification data and a subsequent or younger updated configuration block of the blockchain database comprises or corresponds to the verification data.

18. The computer-implemented method of claim 17 , wherein the updated configuration

block(s) of the blockchain database comprises at least a further hash of further verification data.

19. An electronic device, comprising:

a network interface for connecting to a communications network; and comprising

a processing device, connected with the network interface for communicating with at least one blockchain database; wherein

the processing device is configured to:

connect to the blockchain database;

determine from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device;

obtain configuration information from said configuration block;

using the configuration information, configure the electronic device; and

conduct a forward update routine wherein the processing device is configured to:

obtain a forward update indicator from the configuration block;

determine from said blockchain database using the forward update indicator, an updated configuration block having updated configuration information; and

if the updated configuration block exists, obtain the updated configuration information and using the updated configuration information, conducting configuration of the electronic device; and

wherein the forward update indicator comprises a public update key of a private/public update key pair and a subsequent or younger updated configuration block of the blockchain database comprises data/information that is encrypted with the private update key.

20. A non-transitory computer-readable medium including instructions that, when loaded and executed by a processor, cause the processor to:

connect to a blockchain database;

determine from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device;

obtain configuration information from said configuration block;

using the configuration information, conduct configuration of the electronic device;

conduct a forward update routine comprising causing the processor to:

obtain a forward update indicator from the configuration block;

determine from said blockchain database using the forward update indicator, an updated configuration block having updated configuration information;

if the updated configuration block exists, obtain the updated configuration information and using the updated configuration information, conducting configuration of the electronic device; and

wherein the forward update indicator comprises a public update key of a private/public update key pair and a subsequent or younger updated configuration block of the blockchain database comprises data/information that is encrypted with the private update key.

21. An electronic device, comprising:

a network interface for connecting to a communications network; and comprising

a processing device, connected with the network interface for communicating with at least one blockchain database; wherein

the processing device is configured to:

connect to the blockchain database;

determine from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device;

obtain configuration information from said configuration block;

using the configuration information, configure the electronic device; and

conduct a forward update routine wherein the processing device is configured to:

obtain a forward update indicator from the configuration block;

determine from said blockchain database using the forward update indicator, an updated configuration block having updated configuration information; and

if the updated configuration block exists, obtain the updated configuration information and using the updated configuration information, conducting configuration of the electronic device;

wherein the forward update indicator comprises a hash of verification data and a subsequent or younger updated configuration block of the blockchain database comprises or corresponds to the verification data.

22. A non-transitory computer-readable medium including instructions that, when loaded and executed by a processor, cause the processor to:

connect to a blockchain database;

determine from said blockchain database a configuration block comprising block identification data, where the block identification data corresponds to device identification data, stored with the electronic device;

obtain configuration information from said configuration block;

using the configuration information, conduct configuration of the electronic device;

conduct a forward update routine wherein the processor is caused to:

obtain a forward update indicator from the configuration block;

determine from said blockchain database using the forward update indicator, an updated configuration block having updated configuration information; and

if the updated configuration block exists, obtain the updated configuration information and using the updated configuration information, conducting configuration of the electronic device;

wherein the forward update indicator comprises a hash of verification data and a subsequent or younger updated configuration block of the blockchain database comprises or corresponds to the verification data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: ASSENMACHER, HOLGER; DIENWIEBEL, THOMAS
To: CRYPTOWERK CORP.
Reel/Frame 061276/0993 →
Continuity (3)
Continuation 16632136
Provisional Application 62533562 · Jul 17, 2017
Related Publication 20230028273A1 · Jan 26, 2023