| Literature DB >> 32138380 |
Krishna Prasad Satamraju1, Malarkodi B1.
Abstract
The advent of Internet of Things (IoT) brought innovation along with unprecedented benefits of convenience and efficacy in many operations that were otherwise very cumbersome. This innovation explosion has surfaced a new dimension of vulnerability and physical threat to the data integrity of IoT networks. Implementing conventional cryptographic algorithms on IoT devices is not future-proof as these devices are constrained in terms of computational power, performance, and memory. In this paper, we are proposing a novel framework, a unique model that integrates IoT networks with a blockchain to address potential privacy and security threats for data integrity. Smart contracts are instrumental in this integration process and they are used to handle device authentication, authorization and access-control, and data management. We further share a new design model for interfaces to integrate both platforms while highlighting its performance results over the existing models. With the incorporation of off-chain data storage into the framework, overall scalability of the system can be increased. Finally, our research concludes how the proposed framework can be fused virtually into any existing IoT applications with minimal modifications.Entities:
Keywords: Internet of Things; blockchain; healthcare; privacy; security; smart contracts
Mesh:
Year: 2020 PMID: 32138380 PMCID: PMC7085612 DOI: 10.3390/s20051389
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Generalized IoT structure.
Figure 2Cryptography types (a) symmetric cryptography; (b) asymmetric cryptography; (c) digital signature.
Packet loss in MQTT QoS-0 and QoS-1 services with variable loads and users.
| Payload Size | No. of Nodes | Type of Service | Average Latency (mSec) | % of Packets Lost |
|---|---|---|---|---|
| 100 bytes | 100 | QoS-0 | 0.017 | 0 |
| QoS-1 | 670.713 | 0 | ||
| 200 | QoS-0 | 0.016 | 0 | |
| QoS-1 | 2029.758 | 0 | ||
| 500 | QoS-0 | 0.019 | 0 | |
| QoS-1 | 6410.813 | 0 | ||
| 750 | QoS-0 | 0.019 | 0 | |
| QoS-1 | 11592.543 | 1 | ||
| 1000 | QoS-0 | 0.017 | 0 | |
| QoS-1 | 14771.078 | 13 | ||
| 1 KB | 100 | QoS-0 | 0.029 | 0 |
| QoS-1 | 735.773 | 0 | ||
| 200 | QoS-0 | 0.017 | 0 | |
| QoS-1 | 2180.992 | 0 | ||
| 500 | QoS-0 | 0.017 | 0 | |
| QoS-1 | 5144.808 | 1 | ||
| 750 | QoS-0 | 0.017 | 19 | |
| QoS-1 | 7372.016 | 1 | ||
| 1000 | QoS-0 | 0.019 | 0 | |
| QoS-1 | 13362.244 | 27 | ||
| 10 KB | 100 | QoS-0 | 0.017 | 0 |
| QoS-1 | 687.842 | 0 | ||
| 200 | QoS-0 | 0.017 | 0 | |
| QoS-1 | 1746.986 | 0 | ||
| 500 | QoS-0 | 0.016 | 7 | |
| QoS-1 | 5490.489 | 1 | ||
| 750 | QoS-0 | 0.016 | 1 | |
| QoS-1 | 4649.574 | 1 | ||
| 1000 | QoS-0 | 0.016 | 0 | |
| QoS-1 | 7923.592 | 8 |
Figure 3Merkle tree structure in a blockchain.
Applications of a smart contract based blockchain and IoT.
| Reference No. | Category | Platform | Challenge Addressed |
|---|---|---|---|
| [ | Industrial IoT | Multiplatform | Privacy, Security |
| [ | Smart Transportation | Ethereum | Authentication, Privacy |
| [ | Wireless IoT Systems | Ethereum | Security, Authentication |
| [ | Smart Cities | Ethereum | Security |
| [ | Internet of Things | Ethereum | Access Control |
| [ | Electric Vehicle Charging | Multiplatform | Access Control |
| [ | Smart Meters | Ethereum | Access Control |
| [ | Asset Management | Multiplatform | Access Control |
| [ | Blockchain based IoT | Multiplatform | Identity, security |
Figure 4Proposed framework for IoT and blockchain integration.
Figure 5Off-chain based data storage mechanism.
Figure 6Overview of the use case scenario.
Privileges assigned to the users of the system.
| Privilege ID | User | Privileges |
|---|---|---|
|
| Patient | Can store body vital parameters in the off-chain server and can read doctor’s prescription. |
|
| Doctor | Can access patient’s data and can update prescription. |
|
| Pharmacist | Can access doctor’s prescription and address of the patient from the database. |
|
| Insurance Company | Can access patient data, prescriptions and other records during claim validations |
Packages and Libraries used in the system design.
| Package / Library | Version |
|---|---|
| geth | 1.9.6 |
| ethereum | 1.0.8 |
| eth_abi | 2.0.0 |
| ethjsonrpc | 0.3.0 |
| Truffle | 5.0.39 |
| Solidity | 0.5.12 |
| Py_solc | 3.2.0 |
| Node | 10.15.2 |
| Web3.js | 1.2.1 |
| Python | 3.7.3 |
| go | 1.10.4 |
Functions used in smart contracts and their description.
| Function | Input Parameters | Return Value |
|---|---|---|
| isPatientAuthorized() | patientID | |
| isDoctorAuthorized() | patientID | |
| isPharmacyAuthorized() | patientID | |
| isInsurerAuthorized() | patientID | |
| storePatientInfo() | patientID, patient_body_parameters | Patient’s data is stored in the database after successful authentication of the patient—else the transaction is reverted and function reports FAILED transaction. |
| monitorPatient() | patientID, doctorID | Patient’s data is retrieved and from the database after successful authentication of the doctor—else the transaction is reverted and function reports FAILED transaction. |
| prescribeMedicines() | patientID, doctorID, prescription | Prescription is stored in the database after successful authentication process—else the transaction is reverted and function reports FAILED transaction. |
| getPrescription() | patientID, pharmacyID | Retrieves prescription of the patient from the database after successful authentication of the pharmacy—else the transaction is reverted and function reports FAILED transaction. |
| getPatientRecord() | patientID, insurerID | Patient’s records are retrieved from the database after successful authentication of the insurance company—else the transaction is reverted and function reports FAILED transaction. |
Figure 7Hardware Setup (a) miner; (b) medical IoT Device-1 (Raspberry Pi 3 Model B+); (c) medical IoT Device-2 (Raspberry Pi 3 Model B).
Average time taken by different processes in the system.
| Process | Time |
|---|---|
| SHA-3 256 | 193 μS on Raspberry Pi 3 B |
| Block time | 11.21 Seconds |
| Migration and deployment of smart contract | 9.14 Seconds |
| Transaction confirmation time | 1.7 Seconds |
| Total deployment cost | 0.00179117 ETH |
Figure 8Result demonstrating successful storing of patient body vital parameters.
Comparative analysis of proposed framework with related works.
| Method | Blockchain Platform | Authentication | Access Control | Authorization | Scalability | Smart Contract | Off-Chain Storage |
|---|---|---|---|---|---|---|---|
| [ | Bitcoin |
|
|
|
|
|
|
| [ | Multi Platform |
|
|
|
|
|
|
| [ | Hyperledger Fabric |
|
|
|
|
|
|
| [ | Ethereum |
|
|
|
|
|
|
| [ | Multi Platform |
|
|
|
|
|
|
| Proposed Method | Ethereum |
|
|
|
|
|
|