Centralized ledger system for device authentication
A method of authenticating devices utilizes a central ledger distributed to a plurality of local systems includes storing a unique identifier locally on each device, modifying a central ledger to include an entry associated with the unique identifier and communicating the central ledger to a plurality of local systems for storage. To authorize a device, the local system receives a unique identifier from a connected device and searches the local ledger to verify/authenticate the validity of the connected device for use in the local system. The local system may then modify an entry in the local ledger associated with the unique identifier to reflect use and communicate the modified local ledger from each of the plurality of local systems to the centralized system. The central system then modifies the central ledger based on the received local ledger and communicates the modified central ledger to a local system.
1 . A method of authenticating devices, the method comprising:
storing a unique identifier locally on each device, wherein a first unique identifier is stored locally on a first device;
modifying a central ledger located on a centralized system to include a first entry associated with the first unique identifier stored locally on the first device, wherein inclusion of the first unique identifier in the central ledger authorizes the first device for use;
communicating the central ledger to a plurality of local systems including at least a first local system, wherein each of the local systems stores the central ledger as a local ledger and the first local system stores the central ledger as a first local ledger;
receiving at the first local system the first unique identifier from the first device, and searching the first local ledger to verify/authenticate a validity of the first device for use in the first local system;
modifying the first entry in the first local ledger associated with the first unique identifier based on the use of the first device with the first local system, wherein modifying the first entry in the first local ledger associated with the first unique identifier includes deleting the first entry from the first local ledger, wherein deletion of the first entry from the first local ledger deauthorizes the first device for use;
communicating the first modified local ledger from the first local system to the centralized system;
modifying the central ledger based on the first modified local ledger received from the first local system, wherein the modifying the central ledger based on the first modified local ledger includes comparing the central ledger with the first modified local ledger and removing entries from the central ledger that do not appear in the first modified local ledger; and
communicating the modified central ledger to each of the plurality of local systems, including the first local system.
2 . The method of claim 1 , wherein modifying a central ledger located on a centralized system to include the first entry associated with the first unique identifier stored locally on the first device further includes:
applying a cryptographic hash function to the first unique identifier to generate a first device hash number, wherein the first device hash number uniquely identifies the first device in the central ledger.
3 . The method of claim 2 , wherein receiving at the first local system the first unique identifier from the first device, and searching the first local ledger to verify/authenticate the validity of the first device for use in the first local system further includes:
applying the cryptographic hash function to the first unique identifier received from the first device to generate a first device hash number, wherein the first local ledger is searched using the first device hash number to verify/authenticate the validity of the first device.
4 . The method of claim 1 , further comprising:
creating a block based on the central ledger, wherein the block includes an index field, a hash field, a previous hash field, and the central ledger, wherein the index field stores a value identifying each block in a blockchain, the hash field stores a hash number generated by applying a hash function to the block, and the previous hash field stores a previous hash number corresponding with a previous block in the blockchain.
5 . The method of claim 4 , wherein in response to receiving a central ledger from the central system, the first local system compares the previous hash field to the hash field of a block previously received and stored by the first local system to verify that the received block is a child of the previously received block.
6 . The method of claim 1 , wherein modifying the first entry in the first local ledger associated with the first unique identifier based on the use of the first device with the first local system further includes:
applying a public encryption certificate to the first unique identifier to generate an encrypted first unique identifier, wherein the modifying the first entry in the first local ledger includes appending the encrypted first unique identifier to the first entry.
7 . The method of claim 6 , wherein modifying the central ledger based on the received first local ledger further includes:
applying a private key corresponding with the public encryption certificate to the encrypted first device identifier to validate physical possession of the first device by the first local system that communicated the modified first local ledger.
8 . The method of claim 1 , wherein communicating the modified first local ledger from the first local system to the centralized system includes signing the modified first local ledger using a non-migratable unique private key owned by the first local system so that the centralized system can verify an authenticity, integrity and non-repudiation of the modified first local ledger.
9 . The method of claim 1 , wherein communicating the modified central ledger to each of the plurality of local systems includes signing the modified central ledger by the central ledger system using a unique private key and transmitting a corresponding public certificate along with the signed central ledger to each of the plurality of local systems.
10 . The method of claim 3 , wherein appending to the first entry further comprises appending one or more generator settings used during the medical procedure, wherein generator settings include one or more of procedure time or power setting.
11 . A method of authenticating devices, the method comprising:
storing a unique identifier locally on each device, wherein a first unique identifier is stored locally on a first device;
modifying a central ledger located on a centralized system to include a first entry associated with the first unique identifier stored locally on the first device, wherein inclusion of the first unique identifier in the central ledger authorizes the first device for use;
communicating the central ledger to a plurality of local systems including at least a first local system, wherein each of the local systems stores the central ledger as a local ledger and the first local system stores the central ledger as a first local ledger;
receiving at the first local system the first unique identifier from the first device, and searching the first local ledger to verify/authenticate a validity of the first device for use in the first local system;
modifying the first entry in the first local ledger associated with the first unique identifier based on the use of the first device with the first local system, wherein modifying the first entry in the first local ledger associated with the first unique identifier includes appending to the first entry information regarding use of the first device by the first local system in a medical procedure;
communicating the first modified local ledger from the first local system to the centralized system;
modifying the central ledger based on the first modified local ledger received from the first local system, wherein modification of the central ledger includes appending to the first entry information regarding use of the first device by the first local system in the medical procedure; and
communicating the modified central ledger to each of the plurality of local systems, including the first local system.
12 . The method of claim 11 , wherein appending information to the first entry comprises appending at least one of: (i) a procedure date/time, (ii) a procedure duration, (iii) a procedure type identifier, (iv) a total number of uses, (v) a location of the use, or (vi) conditions of use.
13 . The method of claim 11 , wherein appending information to the first entry comprises appending a generator identifier that identifies the first local system with which the first device was used.
14 . A method of authenticating devices, the method comprising:
storing a unique identifier locally on each device, wherein a first unique identifier is stored locally on a first device;
modifying a central ledger located on a centralized system to include a first entry associated with the first unique identifier stored locally on the first device, wherein inclusion of the first unique identifier in the central ledger authorizes the first device for use;
communicating the central ledger to a plurality of local systems including at least a first local system, wherein each of the local systems stores the central ledger as a local ledger and the first local system stores the central ledger as a first local ledger;
receiving at the first local system the first unique identifier from the first device, and searching the first local ledger to verify/authenticate a validity of the first device for use in the first local system;
modifying the first entry in the first local ledger associated with the first unique identifier based on the use of the first device with the first local system;
communicating the first modified local ledger from the first local system to the centralized system, wherein communicating the modified first local ledger from the first local system to the centralized system includes signing the modified first local ledger using a non-migratable unique private key owned by the first local system so that the centralized system can verify the authenticity, integrity and non-repudiation of the modified first local ledger;
modifying the central ledger based on the first modified local ledger received from the first local system, wherein modifying the central ledger based on the received first local ledger includes verifying authenticity and integrity of each local ledger received from each of the plurality of local systems using a public certificate accompanying each of the received local ledgers; and
communicating the modified central ledger to each of the plurality of local systems, including the first local system.