A Traceable Online Insurance Claims System Based on Blockchain and Smart Contract Technology
Abstract
:1. Introduction
1.1. Background
- (1)
- Effectively solve the problem of online underwriting.
- (2)
- Conducive to improving supervision.
- (3)
- Conducive to solving risk control problems.
- (4)
- Conducive to effective anti-money laundering.
- ✓
- Blockchain smart contracts can improve the efficiency of claims settlement to a certain extent.
- ✓
- The security of the blockchain can solve the privacy and security issues of the policyholders to a certain extent.
- ✓
- Blockchain can solve the trust problem between policyholders and insurance institutions to a certain extent.
- ✓
- Blockchain can solve the problem of traceability in sales links and prevent data tampering to a certain extent.
1.2. Research Goals
- (1)
- Mutual authentication: the proposed scheme must be able to verify the legitimacy of the identities of the sender and receiver. This study intended to use the BAN logic proof to determine whether the two parties have achieved mutual authentication.
- (2)
- Resist man-in-the-middle attacks: attackers can intercept messages during transmission and send illegal messages as users. The proposed scheme uses the ECDSA system to protect messages. Therefore, when attackers perform a man-in-the-middle attack, they cannot correctly intercept important information.
- (3)
- Verifiable: in the proposed scheme, the sender’s information stream will be signed, and the receiver can verify whether the signature is true.
- (4)
- Integrity and unforgery: to ensure the integrity of the message during the communication process, the proposed scheme uses a signature mechanism to ensure that the message is not tampered with.
- (5)
- Traceable: due to equal information, blockchain technology guarantees that all participants have equal rights to know and choose. The health of the insured, the insurance record, and the types of insurance services provided by the insurance company are all auditable. All participants can obtain all the transaction information. Because of the decentralized storage verification feature, all change records will be synchronized on the chain. When any dispute occurs in the future, there will be data to prove to protect the rights of policyholders.
- (6)
- Openness: with the setting of the public key and the private key, except that the private information of the transaction subject is encrypted, everyone can query the blockchain data and develop related applications through the public interface. The system information is open and transparent, reducing information asymmetry and thereby solving the problems of moral hazard and adverse selection between the supply and demand of insurance. With the help of openness, the use of big data and cloud computing can be improved, and the development and pricing of insurance products can be more accurate.
- (7)
- Privacy: behind the alliance chain combined with blockchain technology, only the data that the policyholder agrees to share will be stored on the blockchain. Blockchain technology can not only allow authorized persons to access data through signature private keys, encryption technology, and secure multi-party computing technology but also ensure that the core data and privacy of the blockchain alliance member database are not leaked. To protect the privacy of users, the content of the insurance contract is restricted to access. Only the party can view the personal contract, and the key is in the hands of the party. The contract review, query, modification, and other information will occur and record in the block, and the insurance contract is fully implemented automatically through smart contracts.
- (8)
- Decentralization and information sharing: accounting and storage is decentralized; that is, all nodes have the same rights and obligations, and any error or shutdown of any node will not affect the operation of the entire network.
- (9)
- Non-repudiation: once the data is verified and added to the blockchain, it will be permanently stored, and the inherent time stamp function of the blockchain can record the creation time. Information changes need to control more than 51% of the system nodes, which will be very difficult under an open system.
2. Preliminary
2.1. Blockchain and Smart Contract
2.2. ECDSA
2.3. BAN Logic
2.4. Hyperledger Fabric
3. Method
3.1. System Architecture
- Step 1:
- All CA, MI, IC, BK, and PT need to be registered with BCC to obtain public and private keys for ECDSA signature and public and private keys for PKI encryption. BCC also stores all patient medical blockchain information. In addition, various CA of different natures will form different alliances with their members, and the information of the alliance members will be shared. For example, CA1 is a medical alliance, and its members are MI, while CA2 is a financial alliance, and its members are IC and BK.
- Step 2:
- The patient PT purchases medical insurance from the insurance company IC. The IC will first verify the identity of the PT and sign an insurance contract with the PT. The PT needs to provide the IC with its BK account, and the record will be transferred to the BCC through the CA. When the PT visits the medical institution MI in the future, if the diagnosis result meets the claimed content specified in the insurance contract, the IC will proceed with the insurance claim.
- Step 3:
- When the patient PT visits a medical institution MI and informs MI that he/she has purchased medical insurance, the MI will first verify the identity of the PT, read the electronic medical record EMR of the PT, and then make a diagnosis, and the records will be transmitted to the BCC through CA.
- Step 4:
- The medical institution MI informs the insurance company IC to carry out insurance claims, and the IC obtains the PT medical-related diagnosis content provided by MI. If the claims are eligible, the IC will inform the PT of the claim amount and payment time, and the record will be sent to the BCC through the CA.
- Step 5:
- The insurance company IC informs the bank BK to pay the patient PT, and the record is transmitted to the BCC through the CA.
- Step 6:
- In the event of a claims dispute, the patient PT can appeal to the arbitration institution AI. AI will obtain the message content of each party and make reasonable judgments.
3.2. Notation
q | A k-bit prime number |
GF(q) | Finite group q |
E | The elliptic curve defined on finite group q |
G | A generating point based on the elliptic curve E |
IDx | A name representing identity x |
kx | A random value on the elliptic curve |
(rx, sx) | Elliptic curve signature value of x |
Mx-y | A message from x to y |
IDBC | An index value of blockchain message |
BCx | Blockchain message of x |
TSx | Timestamp message of x |
Encx | Encrypted message using the asymmetric key of x |
Certx | The certificate of role x |
BKx | The bank account of role x |
EMRx | The electronic medical record of role x |
ICPT | The insurance contract of the patient |
ICTID | A transaction number that is changed every round |
h(.) | Hash function |
Verify whether A is equal to B |
3.3. Smart Contract Initialization
3.4. Registration Phase
- Step 1:
- Role X generates an identity and sends it to the blockchain center.
- Step 2:
- The blockchain center generates an ECDSA private key based on the role X and calculates:
Algorithm 1. Smart contract xins of the proposed scheme. |
function insert x smart contract xins ( string x_id, string x_detail) { count ++; x[count].id = id; x[count].detail = detail; } string x_keypairs; |
- Step 3:
- The role X stores .
3.5. ECDSA Authentication Process
- Step 1:
- Role A generates a random value , calculates
Algorithm 2. ECDSA signature process between role A and role B. |
string token, kA−B, dA; function signature process (token, kA−B, dA) zA−B = token; (xA−B, yA−B) = kA−BG; rA−B = xA−B mod n; sA−B = kA−B−1(zA−B + rA−BdA) mod n; return (rA−B, sA−B); |
- Step 2:
- Role B first calculates
Algorithm 3. ECDSA verification process between role A and role B. |
string token, rA−B, sA−B, QA; function verification process (rA−B, sA−B, QA) zA−B’ = token; uA−B1 = zA−B’sA−B−1 mod n; uA−B2 = rA−BsA−B−1 mod n; (xA−B’, yA−B’) = uA−B1G + uA−B2QA; check if xA−B’ = rA−B mod n; return valid/invalid; |
- Step 3:
- Role A first calculates
3.6. CA Communication Process
- Step 1:
- AP generates a random value , calculates
- Step 2:
- CA first calculates
Algorithm 4. Smart contract apcains and apcachk of the proposed scheme. |
function insert smart contract apcains (string ap_id, string ap_detail, string ap_cert, string ap_tsp) { count ++; ap[count].id = id; ap[count].detail = detail; ap[count].cert = cert; ap[count].tsp = tsp; } sign string ap_key (ap_id, ap_detail, ap_cert, ap_tsp); verify string ap_key (ap_id, ap_detail, ap_cert, ap_tsp); function check smart contract apcachk (string ap_id, string ap_detail, string ap_cert, string ap_tsp) { return ap_id.exist; return ap_detail.exist; return ap_cert.exist; return ap_tsp.exist; } |
- Step 3:
- AP first calculates
Algorithm 5. Smart contract caapins and caapchk of the proposed scheme. |
function insert smart contract caapins (string ca_id, string ca_detail, string ca_cert, string ca_tsp) { count ++; ca[count].id = id; ca[count].detail = detail; ca[count].cert = cert; ca[count].tsp = tsp; } sign string ca_key (ca_id, ca_detail, ca_cert, ca_tsp); verify string ca_key (ca_id, ca_detail, ca_cert, ca_tsp); function check smart contract caapchk (string ca_id, string ca_detail, string ca_cert, string ca_tsp) { return ca_id.exist; return ca_detail.exist; return ca_cert.exist; return ca_tsp.exist; } |
3.7. Insurance Purchasing Phase
- Step 1:
- PT generates a random value , calculates
- Step 2:
- IC first calculates
Algorithm 6. Smart contract pticins and pticchk of the proposed scheme. |
function insert smart contract pticins (string pt_id, string pt_detail, string pt_cert, string pt_bkpt, string pt_tsp) { count ++; pt[count].id = id; pt[count].detail = detail; pt[count].cert = cert; pt[count].bkpt = bkpt; pt[count].tsp = tsp; } sign string pt_key (pt_id, pt_detail, pt_cert, pt_bkpt, pt_tsp); verify string pt_key (pt_id, pt_detail, pt_cert, pt_bkpt, pt_tsp); function check smart contract pticchk (string pt_id, string pt_detail, string pt_cert, string pt_bkpt, string pt_tsp) { return pt_id.exist; return pt_detail.exist; return pt_cert.exist; return pt_bkpt.exist; return pt_tsp.exist; } |
- Step 3:
- PT first calculates
Algorithm 7. Smart contract icptins and icptchk of the proposed scheme. |
function insert smart contract icptins (string ic_id, string ic_detail, string ic_cert, string ic_icpt, string ic_tsp) { count ++; ic[count].id = id; ic[count].detail = detail; ic[count].cert = cert; ic[count].icpt = icpt; ic[count].tsp = tsp; } sign string ic_key (ic_id, ic_detail, ic_cert, ic_icpt, ic_tsp); verify string ic_key (ic_id, ic_detail, ic_cert, ic_icpt, ic_tsp); function check smart contract icptchk (string ic_id, string ic_detail, string ic_cert, string ic_icpt, string ic_tsp) { return ic_id.exist; return ic_detail.exist; return ic_cert.exist; return ic_icpt.exist; return ic_tsp.exist; } |
3.8. Patient Treatment Phase
- Step 1:
- PT generates a random value , calculates
- Step 2:
- MI first calculates
Algorithm 8. Smart contract ptmiins and ptmichk of the proposed scheme. |
function insert smart contract ptmiins (string pt_id, string pt_detail, string pt_cert, string pt_icpt, string pt_tsp) { count ++; pt[count].id = id; pt[count].detail = detail; pt[count].cert = cert; pt[count].icpt = icpt; pt[count].tsp = tsp; } sign string pt_key (pt_id, pt_detail, pt_cert, pt_icpt, pt_tsp); verify string pt_key (pt_id, pt_detail, pt_cert, pt_icpt, pt_tsp); function check smart contract ptmichk (string pt_id, string pt_detail, string pt_cert, string pt_icpt, string pt_tsp) { return pt_id.exist; return pt_detail.exist; return pt_cert.exist; return pt_icpt.exist; return pt_tsp.exist; } |
- Step 3:
- PT first calculates
Algorithm 9. Smart contract miptins and miptchk of the proposed scheme. |
function insert smart contract miptins (string mi_id, string mi_detail, string mi_cert, string mi_emrpt, string mi_tsp) { count ++; mi[count].id = id; mi[count].detail = detail; mi[count].cert = cert; mi[count].emrpt = emrpt; mi[count].tsp = tsp; } sign string mi_key (mi_id, mi_detail, mi_cert, mi_emrpt, mi_tsp); verify string mi_key (mi_id, mi_detail, mi_cert, mi_emrpt, mi_tsp); function check smart contract miptchk (string mi_id, string mi_detail, string mi_cert, string mi_emrpt, string mi_tsp) { return mi_id.exist; return mi_detail.exist; return mi_cert.exist; return mi_emrpt.exist; eturn mi_tsp.exist; } |
3.9. Automatic Claims Phase
- Step 1:
- MI generates a random value , calculates
- Step 2:
- IC first calculates
Algorithm 10. Smart contract miicins and miicchk of the proposed scheme. |
function insert smart contract miicins (string mi_id, string mi_detail, string mi_cert, string mi_emrpt, string mi_icpt, string mi_tsp) { count ++; mi[count].id = id; mi[count].detail = detail; mi[count].cert = cert; mi[count].emrpt = emrpt; mi[count].icpt = icpt; mi[count].tsp = tsp; } sign string mi_key (mi_id, mi_detail, mi_cert, mi_emrpt, mi_icpt, mi_tsp); verify string mi_key (mi_id, mi_detail, mi_cert, mi_emrpt, mi_icpt, mi_tsp); function check smart contract miicchk (string mi_id, string mi_detail, string mi_cert, string mi_emrpt, string mi_icpt, string mi_tsp) { return mi_id.exist; return mi_detail.exist; return mi_cert.exist; return mi_emrpt.exist; return mi_icpt.exist; return mi_tsp.exist; } |
- Step 3:
- MI first calculates
Algorithm 11. Smart contract icmiins and icmichk of the proposed scheme. |
function insert smart contract icmiins (string ic_id, string ic_detail, string ic_cert, string ic_ictid, string ic_tsp) { count ++; ic[count].id = id; ic[count].detail = detail; ic[count].cert = cert; ic[count].ictid = ictid; ic[count].tsp = tsp; } sign string ic_key (ic_id, ic_detail, ic_cert, ic_ictid, ic_tsp); verify string ic_key (ic_id, ic_detail, ic_cert, ic_ictid, ic_tsp); function check smart contract icmichk (string ic_id, string ic_detail, string ic_cert, string ic_ictid, string ic_tsp) { return ic_id.exist; return ic_detail.exist; return ic_cert.exist; return ic_ictid.exist; return ic_tsp.exist; } |
3.10. Bank Payment Phase
- Step 1:
- IC generates a random value , calculates
- Step 2:
- BK first calculates
Algorithm 12. Smart contract icbkins and icbkchk of the proposed scheme. |
function insert smart contract icbkins (string ic_id, string ic_detail, string ic_cert, string ic_ictid, string ic_bkpt, string ic_tsp) { count ++; ic[count].id = id; ic[count].detail = detail; ic[count].cert = cert; ic[count].ictid = ictid; ic[count].bkpt = bkpt; ic[count].tsp = tsp; } sign string ic_key (ic_id, ic_detail, ic_cert, ic_ictid, ic_bkpt, ic_tsp); verify string ic_key (ic_id, ic_detail, ic_cert, ic_ictid, ic_bkpt, ic_tsp); function check smart contract icbkchk (string ic_id, string ic_detail, string ic_cert, string ic_ictid, string ic_bkpt, string ic_tsp) { return ic_id.exist; return ic_detail.exist; return ic_cert.exist; return ic_ictid.exist; return ic_bkpt.exist; return ic_tsp.exist; } |
- Step 3:
- IC first calculates
Algorithm 13. Smart contract bkicins and bkicchk of the proposed scheme. |
function insert smart contract bkicins (string bk_id, string bk_detail, string bk_cert, string bk_ictid, string bk_bkic, string bk_tsp) { count ++; bk[count].id = id; bk[count].detail = detail; bk[count].cert = cert; bk[count].ictid = ictid; bk[count].bkic = bkic; bk[count].tsp = tsp; } sign string bk_key (bk_id, bk_detail, bk_cert, bk_ictid, bk_bkic, bk_tsp); verify string bk_key (bk_id, bk_detail, bk_cert, bk_ictid, bk_bkic, bk_tsp); function check smart contract bkicchk (string bk_id, string bk_detail, string bk_cert, string bk_ictid, string bk_bkic, string bk_tsp) { return bk_id.exist; return bk_detail.exist; return bk_cert.exist; return bk_ictid.exist; return bk_bkic.exist; return bk_tsp.exist; } |
3.11. Arbitration Mechanism Phase
- Step 1:
- The AI can download the certificate, signature, and blockchain data of the package through , and then the AI verifies
- Step 2:
- If the signature between the PT and the MI, and the blockchain data, are verified, the AI will verify
- Step 3:
- If the signature between the MI and the IC, and the blockchain data, are verified, the AI will verify
- Step 4:
- If the signature between IC and BK, and the blockchain data are verified, the blockchain data has been fully verified, and the AI can confirm that the claim has been paid successfully.
4. Security Analysis
4.1. Mutual Authentication
- G1
- :
- G2
- :
- G3
- :
- G4
- :
- G5
- :
- G6
- :
- G7
- :
- G8
- :
- M1
- :
- M2
- :
- A1
- :
- A2
- :
- A3
- :
- A4
- :
- A5
- :
- A6
- :
- A7
- :
- A8
- :
- a.
- The role B authenticates the role A.
- b.
- The role A authenticates the role B.
4.2. Resists Man-in-the-Middle Attacks
- Scenario:
- the attacker intercepts the message from the sender to the accessing party and tampers with the message before sending it to the accessing party.
- Analysis:
- the attacker will fail because our proposed method uses public keys to encrypt data as follows:
4.3. Verifiable
4.4. Integrity and Unforgery
4.5. Traceable
4.6. Openness
4.7. Privacy
4.8. Decentralization and Information Sharing
4.9. Non-Repudiation
5. Discussions
5.1. Computation Cost
5.2. Communication Performance
5.3. Characteristic Comparison
6. Conclusions
- (1)
- Realize automatic claims settlement through smart contracts.
- (2)
- Realize customer identity security verification through information sharing.
- (3)
- Establish an industry blacklist through data deposit
- (4)
- Improve the mutual insurance mechanism through traceability technology.
- (5)
- Combating false claims through the subject information on the chain.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- International Association of Insurance Supervisors (IAIS). Available online: https://www.iaisweb.org/home (accessed on 20 August 2021).
- Raikwar, M.; Mazumdar, S.; Ruj, S.; Gupta, S.S.; Chattopadhyay, A.; Lam, K.Y. A Blockchain Framework for Insurance Processes. In Proceedings of the 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS), Paris, France, 26–28 February 2018. [Google Scholar] [CrossRef]
- Limin, H.; Jianmin, Y. Application Research of Blockchain in the Field of Medical Insurance. In Proceedings of the 2019 3rd International Conference on Economics, Management Engineering and Education Technology (ICEMEET 2019), Suzhou, China, 18–19 May 2019. [Google Scholar] [CrossRef]
- Zhang, X. Design and Implementation of Medical Insurance System Based on Blockchain Smart Contract Technology. Master’s Thesis, Huazhong University of Science & Technology, Wuhan, China, May 2019. [Google Scholar]
- Esposito, C.; De Santis, A.; Tortora, G.; Chang, H.; Choo, K.K.R. Blockchain: A panacea for healthcare cloud-based data security and privacy? IEEE Cloud Comput. 2018, 5, 31–37. [Google Scholar] [CrossRef]
- Novo, O. Blockchain meets IoT: An architecture for scalable access management in IoT. IEEE Internet Things J. 2018, 5, 1184–1195. [Google Scholar] [CrossRef]
- Wang, J.; Li, M.; He, Y.; Li, H.; Xiao, K.; Wang, C. A blockchain based privacy-preserving incentive mechanism in crowdsensing applications. IEEE Access 2018, 6, 17545–17556. [Google Scholar] [CrossRef]
- Dorri, A.; Steger, M.; Kanhere, S.S.; Jurdak, R. Blockchain: A distributed solution to automotive security and privacy. IEEE Commun. Mag. 2017, 55, 119–125. [Google Scholar] [CrossRef] [Green Version]
- Xia, Q.; Sifah, E.; Smahi, A.; Amofa, S.; Zhang, X. BBDS: Blockchain-Based data sharing for electronic medical records in cloud environments. Information 2017, 8, 44. [Google Scholar] [CrossRef]
- Xu, J.; Xue, K.; Li, S.; Tian, H.; Hong, J.; Hong, P.; Yu, N. Healthchain: A blockchain-based privacy preserving scheme for large-scale health data. IEEE Internet Things J. 2019, 6, 8770–8781. [Google Scholar] [CrossRef]
- Liu, X.; Wang, Z.; Jin, C.; Li, F.; Li, G. A Blockchain-based medical data sharing and protection scheme. IEEE Access 2019, 7, 118943–118953. [Google Scholar] [CrossRef]
- Chen, Z.; Xu, W.; Wang, B.; Yu, H. A blockchain-based preserving and sharing system for medical data privacy. Future Gener. Comput. Syst. 2021, 124, 338–350. [Google Scholar] [CrossRef]
- Johari, R.; Kumar, V.; Gupta, K.; Vidyarthi, D.P. BLOSOM: BLOckchain technology for Security of Medical records. ICT Express 2021, in press. [Google Scholar] [CrossRef]
- Chiuchisan, I.; Dimian, M. Internet of Things for e-Health: An approach to medical application. In Proceedings of the IEEE International Workshop on Computational Intelligence for Multimedia Understanding (IWCIM), Prague, Czech Republic, 29–30 October 2015; pp. 1–5. [Google Scholar]
- Moosavi, S.R.; Gia, T.N.; Nigussie, E.; Rahmani, A.M.; Virtanen, S.; Tenhunen, H.; Isoaho, J. End-to-end security scheme for mobility enabled healthcare Internet of Things. Future Gener. Comput. Syst. 2016, 64, 108–124. [Google Scholar] [CrossRef]
- Azeez, N.A.; Vyver, C.V.D. Security and privacy issues in e-health cloud-based system: A comprehensive content analysis. Egypt. Inform. J. 2019, 20, 97–108. [Google Scholar] [CrossRef]
- Li, C.T.; Shih, D.H.; Wang, C.C. Cloud-assisted mutual authentication and privacy preservation protocol for telecare medical information systems. Comput. Methods Programs Biomed. 2018, 157, 191–203. [Google Scholar] [CrossRef]
- Iribarren, S.J.; Brown, W.; Giguere, R.; Stone, P.; Schnall, R.; Staggers, N.; Carballo-Diéguez, A. Scoping review and evaluation of SMS/text messaging platforms for mHealth projects or clinical interventions. Int. J. Med. Inform. 2017, 101, 28–40. [Google Scholar] [CrossRef] [Green Version]
- Khemissa, H.; Tandjaoui, D. A lightweight authentication scheme for e-health applications in the context of Internet of Things. In Proceedings of the 9th International Conference on Next Generation Mobile Applications, Services and Technologies, Paris, France, 29–30 June 2015; pp. 90–95. [Google Scholar]
- Yang, Y.; Ma, M. Conjunctive keyword search with designated tester and timing enabled proxy re-encryption function for e-health clouds. IEEE Trans. Inf. Forensics Secur. 2016, 11, 746–759. [Google Scholar] [CrossRef]
- Shakhovska, N.; Fedushko, S.; Greguš ml, M.; Melnykova, N.; Shvorob, I.; Syerov, Y. Big Data analysis in development of personalized medical system. Proc. Comput. Sci. 2019, 160, 229–234. [Google Scholar] [CrossRef]
- Chen, C.C.; Deng, Y.Y.; Weng, W.; Sun, H.; Zhou, M. A Blockchain-Based Secure Inter-Hospital EMR Sharing System. Appl. Sci. 2020, 10, 4958. [Google Scholar] [CrossRef]
- Chen, C.C.; Huang, P.T.; Deng, Y.Y.; Chen, H.C.; Wang, Y.C. A Secure Electronic Medical Record Authorization System for Smart device application in cloud computing environments. Hum. Centr. Comput. Inf. Sci. 2020, 10, 21. [Google Scholar] [CrossRef]
- Wang, H.; Song, Y. Secure cloud-based EHR system using attribute-based cryptosystem and blockchain. J. Med. Syst. 2018, 42, 152. [Google Scholar] [CrossRef]
- Buterin, V. A next-generation smart contract and decentralized application platform. Ethereum White Paper 2014, 3, 36. [Google Scholar]
- Roy, S.; Das, A.K.; Chatterjee, S.; Kumar, N.; Chattopadhyay, S.; Rodrigues, J.J. Provably secure fine-grained data access control over multiple cloud servers in mobile cloud computing based healthcare applications. IEEE Trans. Ind. Inform. 2018, 15, 457–468. [Google Scholar] [CrossRef]
- Wazid, M.; Das, A.K.; Kumari, S.; Li, X.; Wu, F. Provably secure biometric-based user authentication and key agreement scheme in cloud computing. Secur. Commun. Netw. 2016, 9, 4103–4119. [Google Scholar] [CrossRef] [Green Version]
- Sureshkumar, V.; Amin, R.; Vijaykumar, V.R.; Sekar, S.R. Robust secure communication protocol for smart healthcare system with FPGA implementation. Future Gener. Comput. Syst. 2019, 100, 938–951. [Google Scholar] [CrossRef]
- Roy, S.; Chatterjee, S.; Das, A.K.; Chattopadhyay, S.; Kumari, S.; Jo, M. Chaotic map-based anonymous user authentication scheme with user biometrics and fuzzy extractor for crowdsourcing Internet of Things. IEEE Internet Things J. 2017, 5, 2884–2895. [Google Scholar] [CrossRef]
- Banerjee, S.; Odelu, V.; Das, A.K.; Srinivas, J.; Kumar, N.; Chattopadhyay, S.; Choo, K.K.R. A provably secure and lightweight anonymous user authenticated session key exchange scheme for the Internet of Things deployment. IEEE Internet Things J. 2019, 6, 8739–8752. [Google Scholar] [CrossRef]
- Shuai, M.; Yu, N.; Wang, H.; Xiong, L. Anonymous authentication scheme for smart home environment with provable security. Comput. Secur. 2019, 86, 132–146. [Google Scholar] [CrossRef]
- Abbas, A.; Khan, S. A review on the state-of-the-art privacy preserving approaches in e-health clouds. IEEE J. Biomed. Health Inform. 2014, 18, 1431–1441. [Google Scholar] [CrossRef] [PubMed]
- Yang, J.; Li, J.; Niu, Y. A hybrid solution for privacy preserving medical data sharing in the cloud environment. Future Gener. Comput. Syst. 2015, 43–44, 74–86. [Google Scholar] [CrossRef]
- Soni, P.; Pal, A.K.; Islam, S.H. An improved three-factor authentication scheme for patient monitoring using WSN in remote health-care system. Comput. Methods Programs Biomed. 2019, 182, 105054. [Google Scholar] [CrossRef]
- Masdari, M.; Ahmadzadeh, S. A survey and taxonomy of the authentication schemes in Telecare Medicine Information Systems. J. Netw. Comput. Appl. 2017, 87, 1–19. [Google Scholar] [CrossRef]
- Amin, R.; Islam, S.H.; Biswas, G.P.; Khan, M.K.; Kumar, N. A robust and anonymous patient monitoring system using wireless medical sensor networks. Future Gener. Comput. Syst. 2018, 80, 483–495. [Google Scholar] [CrossRef]
- Chen, L.; Lee, W.K.; Chang, C.C.; Choo, K.K.R.; Zhang, N. Blockchain based searchable encryption for electronic health record sharing. Future Gener. Comput. Syst. 2019, 95, 420–429. [Google Scholar] [CrossRef]
- Tanwar, S.; Parekh, K.; Evans, R. Blockchain-based electronic healthcare record system for healthcare 4.0 applications. J. Inf. Secur. Appl. 2020, 50, 102407. [Google Scholar] [CrossRef]
- Szabo, N. Smart contracts: Building blocks for digital markets. EXTROPY J. Transhum. Thought 1996, 18, 16. [Google Scholar]
- Szabo, N. The Idea of Smart Contracts. 1997. Available online: http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_idea.html (accessed on 20 August 2021).
- Vanstone, S. Responses to NIST’s proposal. Commun. ACM 1992, 35, 50–52. [Google Scholar]
- Johnson, D.; Menezes, A.; Vanstone, S. The Elliptic Curve Digital Signature Algorithm (ECDSA). Int. J. Inf. Secur. 2001, 1, 36–63. [Google Scholar] [CrossRef]
- Burrows, M.; Abadi, M.; Needham, R. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
- Sierra, J.M.; Hernández, J.C.; Alcaide, A.; Torres, J. Validating the Use of BAN LOGIC; Springer: Berlin/Heidelberg, Germany, 2004; pp. 851–858. [Google Scholar]
- Hyperledger Fabric Docs. Available online: https://hyperledger-fabric.readthedocs.io/_/downloads/en/release-2.2/pdf/ (accessed on 20 August 2021).
- Foschini, L.; Gavagna, A.; Martuscelli, G.; Montanari, R. Hyperledger Fabric Blockchain: Chaincode Performance Analysis. In Proceedings of the ICC 2020—2020 IEEE International Conference on Communications (ICC), Dublin, Ireland, 7–11 June 2020; pp. 1–6. [Google Scholar] [CrossRef]
- Uddin, M. Blockchain Medledger: Hyperledger fabric enabled drug traceability system for counterfeit drugs in pharmaceutical industry. Int. J. Pharm. 2021, 597, 120235. [Google Scholar] [CrossRef]
- Marcus, M.J. 5G and IMT for 2020 and beyond. IEEE Wirel. Commun. 2015, 22, 2–3. [Google Scholar] [CrossRef]
struct smart contract apcainf/caapinf { string ap/ca id; string ap/ca detail; string ap/ca cert; string ap/ca tsp; } struct smart contract pticinf { string pt id; string pt detail; string pt cert; string pt bkpt; string pt tsp; } struct smart contract icptinf { string ic id; string ic detail; string ic cert; string ic icpt; string ic tsp; } struct smart contract ptmiinf { string pt id; string pt detail; string pt cert; string pt icpt; string pt tsp; } struct smart contract miptinf { string mi id; string mi detail; string mi cert; string mi emrpt; string mi tsp; } | struct smart contract miicinf { string mi id; string mi detail; string mi cert; string mi emrpt; string mi icpt; string mi tsp; } struct smart contract icmiinf { string ic id; string ic detail; string ic cert; string ic ictid; string ic tsp; } struct smart contract icbkinf { string ic id; string ic detail; string ic cert; string ic ictid; string ic bkpt; string ic tsp; } struct smart contract bkicinf { string bk id; string bk detail; string bk cert; string bk ictid; string bk bkic; string bk tsp; } string keypairs; string count; |
Item | Signature | Sender | Receiver | Signature Verification | |
---|---|---|---|---|---|
Phase | |||||
CA communication process | AP | CA | |||
CA | AP | ||||
Insurance-purchasing phase | PT | IC | |||
IC | PT | ||||
Patient treatment phase | PT | MI | |||
MI | PT | ||||
Automatic claims phase | MI | IC | |||
IC | MI | ||||
Bank payment phase | IC | BK | |||
BK | IC |
Party | PT | MI | IC | BK | |
---|---|---|---|---|---|
Phase | |||||
Insurance purchasing phase | 2Tasy + 2Tcmp +3Th + 7Tmul | N/A | 2Tasy + 2Tcmp +3Th + 7Tmul | N/A | |
Patient treatment phase | 2Tasy + 2Tcmp +3Th + 7Tmul | 2Tasy + 2Tcmp +3Th + 7Tmul | N/A | N/A | |
Automatic claims phase | N/A | 2Tasy + 2Tcmp +3Th + 7Tmul | 2Tasy + 2Tcmp +3Th + 7Tmul | N/A | |
Bank payment phase | N/A | N/A | 2Tasy + 2Tcmp +3Th + 7Tmul | 2Tasy + 2Tcmp +3Th + 7Tmul |
Party | Message Length | Round | 4G (100 Mbps) | 5G (20 Gbps) | |
---|---|---|---|---|---|
Phase | |||||
CA communication process | 2Tsig + 2Tasy + 5Tohter = 2 * 512 + 2 * 1024 + 2 * 80 = 3232 bits | 2 | 3232/102,400 = 0.032 ms | 3232/20,480,000 = 0.16 us | |
Insurance purchasing phase | 2Tsig + 2Tasy + 5Tohter = 2 * 512 + 2 * 1024 + 2 * 80 = 3232 bits | 2 | 3232/102,400 = 0.032 ms | 3232/20,480,000 = 0.16 us | |
Patient treatment phase | 2Tsig + 2Tasy + 5Tohter = 2 * 512 + 2 * 1024 + 2 * 80 = 3232 bits | 2 | 3232/102,400 = 0.032 ms | 3232/20,480,000 = 0.16 us | |
Automatic claims phase | 2Tsig + 2Tasy + 5Tohter = 2 * 512 + 2 * 1024 + 2 * 80 = 3232 bits | 2 | 3232/102,400 = 0.032 ms | 3232/20,480,000 = 0.16 us | |
Bank payment phase | 2Tsig + 2Tasy + 5Tohter = 2 * 512 + 2 * 1024 + 2 * 80 = 3232 bits | 2 | 3232/102,400 = 0.032 ms | 3232/20,480,000 = 0.16 us |
Authors | Year | Objective | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|---|
Esposito et al. [3] | 2018 | Proposed a conceptual blockchain-based EMR/EHR/PHR ecosystem. | Y | NA | NA | Y | NA | Y |
Xia et al. [7] | 2018 | Proposed a blockchain-based data sharing for electronic medical records in cloud environments. | Y | NA | Y | NA | Y | Y |
Chen et al. [10] | 2021 | Proposed a blockchain-based preserving and sharing system for medical data privacy. | Y | NA | Y | Y | NA | Y |
Johari et al. [11] | 2021 | Proposed a BLOSOM: BLOckchain technology for Security Of Medical records. | Y | NA | Y | NA | Y | Y |
Our scheme | 2021 | Proposed a traceable online insurance claims system based on blockchain and smart contract technology. | Y | Y | Y | Y | Y | Y |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chen, C.-L.; Deng, Y.-Y.; Tsaur, W.-J.; Li, C.-T.; Lee, C.-C.; Wu, C.-M. A Traceable Online Insurance Claims System Based on Blockchain and Smart Contract Technology. Sustainability 2021, 13, 9386. https://doi.org/10.3390/su13169386
Chen C-L, Deng Y-Y, Tsaur W-J, Li C-T, Lee C-C, Wu C-M. A Traceable Online Insurance Claims System Based on Blockchain and Smart Contract Technology. Sustainability. 2021; 13(16):9386. https://doi.org/10.3390/su13169386
Chicago/Turabian StyleChen, Chin-Ling, Yong-Yuan Deng, Woei-Jiunn Tsaur, Chun-Ta Li, Cheng-Chi Lee, and Chih-Ming Wu. 2021. "A Traceable Online Insurance Claims System Based on Blockchain and Smart Contract Technology" Sustainability 13, no. 16: 9386. https://doi.org/10.3390/su13169386
APA StyleChen, C. -L., Deng, Y. -Y., Tsaur, W. -J., Li, C. -T., Lee, C. -C., & Wu, C. -M. (2021). A Traceable Online Insurance Claims System Based on Blockchain and Smart Contract Technology. Sustainability, 13(16), 9386. https://doi.org/10.3390/su13169386