Blockchain cybersecurity solutions
Technology related to blockchain cybersecurity solutions and a blockchain applicability framework is disclosed. In one example of the disclosed technology, a system is configured to store, in a database, a plurality of cryptographically-signed records of data transmitted between an asset and a utility historian, and store, in a distributed ledger, a respective hash value corresponding to each record of the database. The system can be further configured to verify a selected record by recomputing a hash value corresponding to the selected record and comparing the recomputed hash value to the respective hash value stored in the distributed ledger in correspondence with the selected record.
1. A system comprising:
memory;
a processor coupled to a network interface; and
at least one computer-readable storage medium storing computer-readable instructions,
which when executed by the processor, cause the processor to perform distributed ledger operations, the operations comprising:
storing, in a database, a plurality of records of data transmitted between an energy delivery system asset and a utility historian for an energy delivery system, the plurality of records being cryptographically-signed;
performing an asset validation for the energy delivery system asset, the asset validation comprising validating the energy delivery system asset and generating a unique identifier based on the validation of the energy delivery system asset;
storing, in a distributed ledger, a respective hash value corresponding to each record of the plurality of records stored in the database;
verifying a selected record stored in the database by recomputing a hash value corresponding to the selected record to generate a recomputed hash value for the selected record and comparing the recomputed hash value to the respective hash value stored in the distributed ledger in correspondence with the selected record; and
configuring at least one aspect of the energy delivery system based on the verifying the selected record.
2. The system of claim 1 , wherein at least one of the plurality of cryptographically-signed records includes the unique identifier.
3. The system of claim 1 , wherein the unique identifier is derived from a combination of at least two of: a serial number associated with the energy delivery system asset, a media access control (MAC) address associated with the energy delivery system asset, or a checksum or bar code associated with the energy delivery system asset.
4. The system of claim 1 , wherein the configuration occurs responsive to the comparing indicating that the recomputed hash value and the respective hash value are the same.
5. The system of claim 1 , wherein the computer-readable instructions are first instructions, and the at least one computer-readable storage medium further stores second instructions, which when executed by the processor, cause the processor to output an indication of non-matching hash values responsive to the comparison of the recomputed hash value to the respective hash value stored in the distributed ledger in correspondence with the selected record yielding a non-matching result.
6. The system of claim 5 , wherein the at least one computer-readable storage medium further stores third instructions, which when executed by the processor, cause the processor to store the indicator in a log.
7. The system of claim 1 , wherein at least one of the database and the distributed ledger is connected in-line with the utility historian and the plurality of records of data flow through the at least one of the database and the distributed ledger.
8. The system of claim 1 , wherein at least one of the database and the distributed ledger is connected in parallel with the utility historian.
9. A computer-implemented method comprising:
storing, in a distributed ledger, a respective hash value representing each of a plurality of cryptographically-signed data records, the plurality of cryptographically-signed data records including a record of data transmitted between an energy delivery system asset and a utility historian for the energy delivery system or between the energy delivery system asset and another hardware system, wherein the plurality of cryptographically-signed data records further includes a record of a unique identifier generated for the energy delivery system asset during an asset registration, the unique identifier being generated based on a validation of asset information for the energy delivery system asset;
verifying the record of data by recomputing a hash value for the record of data to generate a recomputed hash value and comparing the recomputed hash value to the respective hash value representing the record of data as stored in the distributed ledger; and
selectively configuring at least one aspect of the energy delivery system using the record of data based on a result of the verifying the record of data.
10. The computer-implemented method of claim 9 , further comprising verifying an identity of an energy delivery system asset by comparing a unique identifier for the energy delivery system asset with a stored unique identifier in the distributed ledger.
11. The computer-implemented method of claim 9 , wherein the plurality of cryptographically-signed data records are secured in an on-chain, data-at-rest configuration.
12. The computer-implemented method of claim 9 , wherein the plurality of cryptographically-signed data records are secured in an off-chain, data-at-rest configuration.
13. The computer-implemented method of claim 9 , wherein the plurality of cryptographically-signed data records are secured in an on-chain, data-in-transit configuration.
14. The computer-implemented method of claim 9 , wherein the plurality of cryptographically-signed data records are secured in an off-chain, data-in-transit configuration.
15. One or more computer-readable storage media storing computer-readable instructions that upon execution by a computer, cause the computer to perform a method, the instructions comprising:
instructions that cause the computer to receive asset-specific data identifying a remote asset;
instructions that cause the computer to perform an asset validation for the energy delivery system asset, the asset validation comprising validating an energy delivery system asset and generating a unique identifier based on the validation of the energy delivery system asset using the asset-specific data;
instructions that cause the computer to record at least one of a record of the unique identifier, an associated hash of the unique identifier, or the asset-specific data;
instructions that cause the computer to combine data for a transaction to generate the record into a block of a blockchain;
instructions that cause the computer to product approval for the block using a consensus mechanism; and
instructions that cause the computer to append the approved block to the blockchain.
16. The one or more computer-readable storage media of claim 15 , wherein the unique identifier is generated by addressing the asset-specific data to a registration smart contract that is configured to process the asset-specific data and output the unique identifier responsive to determining that the asset-specific data is valid.
17. The one or more computer-readable storage media of claim 16 , wherein the determination that the asset-specific data is valid is based on output of a group of consensus nodes.
18. The one or more computer-readable storage media of claim 15 , wherein the record is recorded in a distributed ledger.