Blockchain-assisted public key infrastructure for internet of things applications
First Claim
1. A computer-implemented method of registering a device to a computer system, the computer system comprising a blockchain and a name/value storage (NVS), wherein the NVS is an add-on database to the blockchain, wherein name and value pairs in the NVS can be modified using a modify operation and deleted using a delete operation, the method comprising:
- receiving, from the device, an identifier (ID) and a hash of a public key, wherein the device generates the ID, the public key, and a private key; and
generating a first blockchain transaction, wherein the first blockchain transaction adds the received ID and hash of the public key to a first block, and adds the first block to a blockchain, wherein the received ID and hash of the public key located within the first block cannot be altered retrospectively, and further wherein the first blockchain transaction adds the received ID and hash of the public key as a name and value pair in the NVS.
2 Assignments
0 Petitions
Accused Products
Abstract
An approach is disclosed for registering and authenticating Internet of things (IoT) devices. In one embodiment, an installation device receives, from an IoT device, an identifier (ID) and a hash of a public key, where the IoT device itself generates the ID, the public key, and a private key. To register the IoT device, a blockchain wallet in the installation devices generates a blockchain transaction which adds the received ID and hash of the public key as a name and value pair in a name/value storage (NVS). The hash of the public key may then be retrieved from the NVS and used in authentication of the IoT device to other IoT devices or servers, among other things.
18 Citations
22 Claims
-
1. A computer-implemented method of registering a device to a computer system, the computer system comprising a blockchain and a name/value storage (NVS), wherein the NVS is an add-on database to the blockchain, wherein name and value pairs in the NVS can be modified using a modify operation and deleted using a delete operation, the method comprising:
-
receiving, from the device, an identifier (ID) and a hash of a public key, wherein the device generates the ID, the public key, and a private key; and generating a first blockchain transaction, wherein the first blockchain transaction adds the received ID and hash of the public key to a first block, and adds the first block to a blockchain, wherein the received ID and hash of the public key located within the first block cannot be altered retrospectively, and further wherein the first blockchain transaction adds the received ID and hash of the public key as a name and value pair in the NVS. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium comprising instructions executable by a computer, the computer having one or more physical central processing units (CPUs), wherein the instructions, when executed, cause the computer to perform operations for registering a device to a computer system, the computer system comprising a blockchain and a name/value storage (NVS), wherein the NVS is an add-on database to the blockchain, wherein name and value pairs in the NVS can be modified using a modify operation and deleted using a delete operation, the operations comprising:
-
receiving, from the device, an identifier (ID) and a hash of a public key, wherein the device generates the ID, the public key, and a private key; and generating a first blockchain transaction, wherein the first blockchain transaction adds the received ID and hash of the public key to a first block, and adds the first block to a blockchain, wherein the received ID and hash of the public key located within the first block cannot be altered retrospectively, and further wherein the first blockchain transaction adds the received ID and hash of the public key as a name and value pair in the NVS. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer system comprising:
-
a blockchain; a name/value storage (NVS), wherein the NVS is an add-on database to the blockchain, wherein name and value pairs in the NVS can be modified using a modify operation and deleted using a delete operation; a processor, wherein the processor is programmed to carry out a method of registering a device to the computer system, the method comprising; receiving, from the device, an identifier (ID) and a hash of a public key, wherein the device generates the ID, the public key, and a private key; and generating a first blockchain transaction, wherein the first blockchain transaction adds the received ID and hash of the public key to a first block, and adds the first block to a blockchain, wherein the received ID and hash of the public key located within the first block cannot be altered retrospectively, and further wherein the first blockchain transaction adds the received ID and hash of the public key as a name and value pair in the NVS. - View Dependent Claims (22)
-
Specification