| Literature DB >> 35928494 |
Amna Amanat1, Muhammad Rizwan1,2, Carsten Maple2, Yousaf Bin Zikria3, Ahmad S Almadhor4, Sung Won Kim3.
Abstract
Healthcare information is essential for both service providers and patients. Further secure sharing and maintenance of Electronic Healthcare Records (EHR) are imperative. EHR systems in healthcare have traditionally relied on a centralized system (e.g., cloud) to exchange health data across healthcare stakeholders, which may expose private and sensitive patient information. EHR has struggled to meet the demands of several stakeholders and systems in terms of safety, isolation, and other regulatory constraints. Blockchain is a distributed, decentralized ledger technology that can provide secured, validated, and immutable data sharing facilities. Blockchain creates a distributed ledger system using techniques of cryptography (hashes) that are consistent and permit actions to be carried out in a distributed manner without needing a centralized authority. Data exploitation is difficult and evident in a blockchain network due to its immutability. We propose an architecture based on blockchain technology that authenticates the user identity using a Proof of Stake (POS) cryptography consensus mechanism and Secure Hash Algorithm (SHA256) to secure EHR sharing among different electronic healthcare systems. An Elliptic Curve Digital Signature Algorithm (ECDSA) is used to verify EHR sensors to assemble and transmit data to cloud infrastructure. Results indicate that the proposed solution performs exceptionally well when compared with existing solutions, which include Proof-Of-Work (POW), Secure Hash Algorithm (SHA-1), and Message Digest (MD5) in terms of power consumption, authenticity, and security of healthcare records.Entities:
Keywords: Internet of Things; blockchain; cloud computing; decentralized; electronic healthcare records
Mesh:
Year: 2022 PMID: 35928494 PMCID: PMC9343689 DOI: 10.3389/fpubh.2022.938707
Source DB: PubMed Journal: Front Public Health ISSN: 2296-2565
Figure 1Healthcare features needs blockchain security.
Figure 2Blockchain uses for EHR.
Figure 3Healthcare blockchain ecosystem.
Figure 4Blockchain architecture in healthcare domain.
Figure 5Hash function computation process.
SHA256 Crypto Computation
| 1: Increase the number of zero 0 bits in the data input until it reaches 448 bits, then add a 64-bit length to the supplied data until it reaches 512 bits |
| 2: Divide the 512-bit data into 16 groups after it has been merged : |
| 3: Set up the vectors |
| 4: Let A,B,C,D,E,F,G, and H have the following initial values: |
| 5: Set t to loop from 0 to 63, then update as follows: |
| 6: |
| 7: |
| 8: Σ1( |
|
|
Blockchain Mining Pseudocode
| 1: P: The hash of the previously mined block |
| 2: B : A block of transaction |
| 3: H : A hash function |
| 4: D : Difficulty level |
| 5: 0 Retrieve P |
| 6: Modify B |
| 7: IF H(P, B, Some Random Number) ≥ D End |
| 8: GOTO 1 |
SHA256 Module: Crypto Node.js Source Code
| 1: var crypto=require('crypto'); |
| 2: exports.sha256Hash function (pubkey) |
| 3: return crypto.createHash ('sha256'). update (pubkey).digest ('hex'); |
Source code of Authoritative Node.js
| 1: var hash=require(‘./sha256module'), |
| 2: var sys require(“sys”), |
| 3: myhttp require(“http”) |
| 4: myhttp.createServer(function(request,response) |
| 5: sys.puts(“Proposal Received”); |
| 6: message request.body.message |
| 7: pubkey request.body.patientId |
| 8: signature request.body.signature |
| 9: source request.body.source |
| 10: if (sourcehash.sha256Hash(pubkey)&& verifySig(signature)) |
| 11: var-proposal(message:message,flag: 'A') |
| 12: request.body.message proposal |
| 13: request.redirect (‘…/coordinator1'); |
| 14: request.redirect (‘…/coordinator2'); |
| 15: (‘…/coordinator3') |
| 16: else |
| 17: var proposal (message:message,flag: 'R') |
| 18: request.body.message proposal |
| 19: request.redirect (‘…/coordinator1'); |
| 20: request.redirect (‘…/coordinator2'); |
| 21: request.redirect (‘…/coordinator3'); |
| 22: response.writeHeader(200, “Content-Type”: “text/plain”); |
| 23: response.write(“Proposal Received”); |
| 24: response.end(); |
| 25: .listen(7777); |
Network throughout with numerous configured nodes.
|
|
|
|
|
|
|
|---|---|---|---|---|---|
| 3 | 2 | 2 | 1 | 3 | 3 |
| 5 | 3 | 3 | 5 | 1 | 6 |
| 3 | 3 | 3 | 4 | 2 | 6 |
| 4 | 3 | 3 | 3 | 2 | 7 |
| 5 | 3 | 3 | 2 | 2 | 9 |
| 6 | 3 | 3 | 1 | 2 | 10 |
| 7 | 3 | 2 | 5 | 2 | 6 |
| 8 | 3 | 1 | 5 | 2 | 7 |
| 9 | 2 | 3 | 5 | 2 | 5 |
| 10 | 1 | 3 | 5 | 2 | 5 |
| 11 | 2 | 3 | 4 | 2 | 6 |
| 12 | 2 | 3 | 3 | 2 | 8 |
| 13 | 2 | 3 | 2 | 2 | 9 |
| 14 | 2 | 3 | 1 | 2 | 12 |
| 15 | 1 | 3 | 3 | 2 | 9 |
| 16 | 1 | 3 | 3 | 2 | 9 |
| 17 | 2 | 2 | 3 | 1 | 9 |
| 18 | 1 | 1 | 1 | 1 | 16 |
Figure 6Analysis of performance.
Figure 7Performance analysis.