Next Article in Journal
The Quality Assessment of Different Geolocalisation Methods for a Sensor System to Monitor Structural Health of Monumental Objects
Next Article in Special Issue
Enhancing Key Management in LoRaWAN with Permissioned Blockchain
Previous Article in Journal
Robust Combined Binarization Method of Non-Uniformly Illuminated Document Images for Alphanumerical Character Recognition
Previous Article in Special Issue
A Distributed Oracle Using Intel SGX for Blockchain-Based IoT Applications
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Design of Secure Protocol for Cloud-Assisted Electronic Health Record System Using Blockchain

1
School of Electronics Engineering, Kyungpook National University, Daegu 41566, Korea
2
School of Computer Engineering, Keimyung University, Daegu 42601, Korea
*
Authors to whom correspondence should be addressed.
Sensors 2020, 20(10), 2913; https://doi.org/10.3390/s20102913
Submission received: 15 April 2020 / Revised: 19 May 2020 / Accepted: 20 May 2020 / Published: 21 May 2020
(This article belongs to the Special Issue Blockchains in the Era of Smart Sensors)

Abstract

:
In the traditional electronic health record (EHR) management system, each medical service center manages their own health records, respectively, which are difficult to share on the different medical platforms. Recently, blockchain technology is one of the popular alternatives to enable medical service centers based on different platforms to share EHRs. However, it is hard to store whole EHR data in blockchain because of the size and the price of blockchain. To resolve this problem, cloud computing is considered as a promising solution. Cloud computing offers advantageous properties such as storage availability and scalability. Unfortunately, the EHR system with cloud computing can be vulnerable to various attacks because the sensitive data is sent over a public channel. We propose the secure protocol for cloud-assisted EHR system using blockchain. In the proposed scheme, blockchain technology is used to provide data integrity and access control using log transactions and the cloud server stores and manages the patient’s EHRs to provide secure storage resources. We use an elliptic curve cryptosystems (ECC) to provide secure health data sharing with cloud computing. We demonstrate that the proposed EHR system can prevent various attacks by using informal security analysis and automated validation of internet security protocols and applications (AVISPA) simulation. Furthermore, we prove that the proposed EHR system provides secure mutual authentication using BAN logic analysis. We then compare the computation overhead, communication overhead, and security properties with existing schemes. Consequently, the proposed EHR system is suitable for the practical healthcare system considering security and efficiency.

1. Introduction

As patient healthcare records have been developed from traditional paper management to electronic record management, they can be safely stored and accessed and authorized only by legitimate medical centers [1]. With the electronic health record (EHR) management system, storage availability and historical errors can be minimized, improving the availability and accuracy of healthcare records. EHR systems can help people to prevent diseases and enhance the cure rate, and ensures great convenience for medical centers and patients. However, health-related information from each healthcare system is stored in their own medical servers, respectively, in traditional EHR systems [2]. Therefore, when the patients transfer from a hospital to another one, hospitals should establish a point-to-point channel to share patients information. Furthermore, the traditional EHR system is generally established as a centralized system so that it has a single point of failure. Blockchain can serve as a helpful method to solve these problems.
In the last few years, numerous blockchain-based EHR system studies have been presented to address the problems of traditional EHR system and improve efficiency [3,4,5]. Blockchain is a network technology that ensures the decentralization and integrity of information by sharing records with multiple distributed nodes [6,7]. Blockchain is considered as a trusted distributed ledger that keeps transactions in a chain of chronological blocks linked through hash values. In addition, the blockchain has properties such as data anonymity, decentralization, and so on. In particular, many blockchain studies have presented various models such as ethereum and hyperledger [8]. Although both models have similar structures, hyperledger is relatively better in terms of network performance and energy efficiency [9]. Furthermore, hyperledger fabric [10] aims to solve the bottleneck problem of a cloud system and enables users to keep ownership of their own data, as well as to share data securely with feedback. However, the EHR system should consider that it is hard to store whole EHR data in blockchain because of the size and the price of blockchain [11]. Thus, if there is a sudden and unexpected demand for storage and resources, blockchain-based EHR systems should guarantee sufficient capacities.
In the last few years, many blockchain-based EHR systems have adopted cloud computing to enlarge scalability and to solve the storage problem associated with blockchain [12,13]. As an important technology to improve the development of smart medical services, cloud technology can serve as a platform for sharing information between remote hospitals and can solve the problem of remote collaboration diagnostic [14,15]. The health information can be efficiently managed on a cloud server facilitating precise and accurate diagnosis and treatment, as well as the development of various healthcare services [16]. Unfortunately, the cloud-based EHR system can be vulnerable to potential attacks because the sensitive data is sent over a public channel. To resolve these security problems, the cloud-based EHR systems require a secure and efficient protocol. Thus, we develop the security protocol using elliptic curve cryptosystems (ECC) that provides high security level, and efficient computation and communication overheads even in small storage spaces.
Recently, numerous EHR systems have been presented that combine blockchain, cloud, and authentication to solve each problem associated with cloud and blockchain [17,18]. Kaur et al. [17] presented a model architecture for EHR data using blockchain in the cloud environment to provide secure healthcare services. Furthermore, Nagasubramanian et al. [18] presented a cloud-assisted secure E-health record system using blockchain to provide integrity and decentralization for the EHR sharing and health diagnosis. However, these cloud-assisted EHR systems using blockchain [17,18] do not specifically address a secure protocol for registration, authentication, transaction uploading, and so on. Therefore, we propose the secure protocol for cloud-assisted EHR system using blockchain to guarantee security, integrity, and decentralization for EHR sharing and health diagnosis. The proposed EHR system utilizes the cloud technology to achieve storage efficiency, and the data in each block only stores metadata to increase block construction efficiency and minimize distributed storage waste. Furthermore, in the proposed EHR system, blockchain technology is used to efficiently provide data integrity and access control using log transactions. Moreover, the proposed EHR system provides secure health data sharing in a public channel using ECC.

1.1. Research Contributions

The detailed contributions in this paper are summarized as below.
  • We propose the secure protocol for cloud-assisted EHR system using blockchain. The proposed scheme combines cloud computing, blockchain, and authentication to provide a secure and effective medical diagnosis for legitimate patients.
  • The proposed scheme withstands various attacks, including impersonation, session key disclosure, and replay attacks, and also provides secure mutual authentication and anonymity.
  • We present the Burrows–Abadi–Needham (BAN) logic analysis [19,20] to analyze that the proposed scheme provides secure mutual authentication.
  • We perform the automated validation of internet security protocols and applications (AVISPA) [21,22] to analyze against man-in-the-middle (MITM) and replay attacks. Furthermore, we show the performance analysis of the proposed scheme with existing schemes.

1.2. Organization

The remainder of this paper is organized as follows. Section 2 presents the related works, and Section 3 shows the preliminaries for help explanation of this paper. In Section 4 and Section 5, we introduce the system model and also propose a secure protocol for cloud-assisted EHR system using blockchain. Section 6 performs the security analysis of the proposed scheme using informal and formal security analysis. In Section 7, we compare the performance analysis of the proposed scheme with related schemes. Finally, we summarize the paper in Section 8.

2. Related Works

In the past decades, many authentication schemes in the healthcare system have been presented to ensure secure healthcare service and EHR sharing [23,24,25,26]. Kumar et al. [23] presented an efficient authentication scheme for healthcare applications in wireless medical sensor networks to provide secure healthcare services. Wu et al. [24] presented a reliable RFID-based authentication scheme in healthcare environments. Their scheme [24] does not reveal any private data, including the identity number and the health data of the legitimate patient. Liu et al. [25] presented a remote authentication protocol for wireless body area networks. Their scheme [25] is not suitable for limited-resource wearable sensor devices because it utilizes bilinear pairing cryptography with high computation and communication overheads. Renuka et al. [26] presented a three-factor authentication protocol for smart healthcare using ECC. Renuka et al. [26] demonstrated that their scheme can prevent against various attacks. However, their schemes for the healthcare system [23,24,25,26] are essentially a centralized system so that these schemes do not solve problems such as the single point of failure. Therefore, a blockchain mechanism with decentralized properties is essential for solving the problems of centralized systems.
In the last few years, many EHR system studies have been presented using blockchain to ensure data integrity along with decentralized properties [27,28,29]. Pandey and Litoriya [27] presented secure e-health networks from counterfeit medicine penetration using blockchain. Their scheme [27] ensures data integrity and security capability properties against drug data to provide secure healthcare services. Agbo and Mahmoud [28] presented a comparison of blockchain frameworks for healthcare applications. Tanwar et al. [29] presented a blockchain-based EHR system for secure medical data sharing. Their scheme [29] can avoid the reliability problem of the trusted third parties, and also can provide secure medical services between each entity. However, these schemes for the EHR systems using blockchain [27,28,29] should consider that it is hard to store whole EHR data in blockchain because of the size and price of blockchain [11]. Therefore, if there is a sudden and unexpected demand for storage and resources, the EHR systems using blockchain have to guarantee sufficient capacities. Therefore, these schemes require a cloud-based mechanism in the EHR system to provide cloud storage technology and decentralized properties using blockchain.
Recently, numerous cloud-based EHR system studies using the blockchain have been presented to solve the storage overload problem associated with blockchain [30,31,32]. Wang et al. [30] presented a cloud-assisted EHR sharing to ensure security and privacy using blockchain. Their scheme [30] uses searchable encryption and proxy re-encryption to realize data security and access control. Chen et al. [31] designed a secure storage scheme based on blockchain and cloud storage to manage personal health data. Cheng et al. [32] presented a secure medical data sharing scheme based on blockchain utilizing cloud techniques. Their scheme [32] uses bilinear mapping to provide secure medical data sharing and low storage and computing overhead. However, these cloud-based EHR systems using blockchain [30,31,32] have been studied so far, but a secure authentication scheme for EHR sharing has not been specifically considered. Therefore, we present a secure cloud-assisted EHR system using blockchain to ensure secure EHR sharing.

3. Preliminaries

In this section, we introduce the preliminaries for help explanation of this paper.

3.1. Adversary Model

We present the widely used Dolev–Yao (DY) model [33] to analyze the security of the proposed protocol. The detailed assumptions of the DY model are as follows.
  • An attacker can delete, inject, eavesdrop, and intercept the messages transmitted over a public channel.
  • An attacker can steal the smartcard of legitimate patients and can extract secret values stored in a smartcard using power-analysis [34,35].
  • An attacker may attempt various attacks such as impersonation, MITM, replay, session key disclosure attacks, and so on [36,37].

3.2. Hyperledger Fabric

In 2015, hyperledger fabric [10] was presented as an open source blockchain proposed by the Linux Foundation. The goal of this technology is to promote cross-industry cooperation using blockchain. Hyperledger fabric does not require digital currency and provides various advantages such as blockchain performance and reliability. Hyperledger fabric uses practical byzantine fault-tolerant (PBFT) consensus algorithm [38,39]. Therefore, we apply the PBFT algorithm to the proposed system to provide an effective consensus ability. The hyperledger architecture consists of six blockchain components:
  • Membership Service Provider (MSP): MSP is a component that validates and authenticates credentials and defines the rules for accessing a network. The MSP manages user identities and authenticates all participants in the network, making hyperledger fabric available as both private and permissioned networks. This includes providing credentials for the clients to propose transactions. As a result, a single hyperledger fabric network can be controlled by multiple MSPs.
  • Smart Contract: The smart contract of hyperledger fabric is called chaincode. Chaincode is software that defines assets and related transactions. The chaincode is called when the application needs to interact with the ledger. Every chaincode has an attached endorsement policy, which applies to all smart contracts defined in it. This identifies the organizations that need to sign transactions generated by smart contracts. In addition, smart contracts have the advantage of being able to make different smart contracts within the channel or across different channels.
  • Ordering Service: The ordering service packages a transaction in blocks and delivers it to the channel’s peers. It ensures the transaction delivery via the network. It communicates with peers and endorsing peers.
  • Identity: Each node in the network peer, client, ordered, and the manager has a digital identity with the format of certificate X.509. This identity is used to verify at every stage of the transaction to ensure if the source of the transaction is a valid source. In addition to multiple assurances, validation, and version control checks that occur, there are ongoing identity verifications happening during each stage of the transaction flow.
  • Channels: Hyperledger fabric networks can have multiple channels. Channels allow organizations to use the same network while maintaining separation between multiple blockchain. Only the peer of the channel can provide to see transactions made by all members of the channel.
  • Peer Nodes: Peer nodes constitute a fundamental element of the network as they host smart contracts within the ledger. Peer nodes execute chaincode, access ledger data, approve transactions, and interface with applications.

4. Cloud-Assisted EHR System Model Using Blockchain

We introduce a cloud-assisted EHR system based on a hyperledger fabric in Figure 1. To improve the security and efficiency of medical data, this system is built on medical centers that share EHR in specific regions. The system model for the EHR comprises the four entities: the patient, the medical center, the cloud server, and the network administrator. The detailed descriptions of each entity are described as follows.
1. 
Patient: A patient transmits the health data to the medical center in order to receive healthcare services through healthcare devices and wearable sensors. Health data of the patient are recorded in EHR with healthcare services provided by the medical center.
2. 
Medical Centers: The medical centers are registered by the network administrator and participate in the private blockchain. The medical centers generate EHR and store it to the cloud server for sharing with other medical centers. When the medical centers view the EHRs of other medical center’s the patient, they upload a log of EHR data to the blockchain as a transaction form.
3. 
Network Administrator: A network administrator is a trusted entity, responsible for the registration of participants, that manages the private blockchain.
4. 
Cloud Server: A cloud server is a trusted entity that has sufficient computing power and capacity. The cloud server stores and manages the patient’s EHRs to provide secure data sharing and storage resources. A cloud server receives the EHR data from the medical center and sends the EHR to other medical centers requesting the EHR using a pre-shared secret key.
The communication flows of the proposed EHR system are described as follows.
1. 
Patient and doctor register their identities with the help of a network administrator to access EHR services.
2. 
Patient and doctor authenticate each other and establish a session key for future secure communication.
3. 
The medical center receives the information for a smart contract from the patient using a session key. Then, the medical center generates a patient’s smart contract and EHR. After that, the medical center uploads a smart contract at the blockchain.
4. 
The medical center encrypts EHRs of the legitimate patient using a pre-shared secret key and sends it to the cloud server. Then, the cloud server decrypts the encrypted EHR data and stores EHR data in the database.
5. 
The other medical center requests the EHR data of the medical center to the cloud server. Next, the cloud server encrypts EHR data of the medical center using a pre-shared secret key and sends it to the other medical center.
6. 
Finally, the medical center decrypts the encrypted EHR data and then uploads the log transaction, including the patient and medical center masked identities, signatures, and timestamps at the blockchain.

5. Proposed Protocol for Cloud-Assisted EHR System Using Blockchain

We present a secure protocol for cloud-assisted EHR system using hyperledger fabric. The proposed EHR system is that only the EHRs can be outsourced by authenticated participants and each operation on outsourcing EHRs is integrated into the blockchain as a transaction. The proposed scheme consists of six phases: the registration, authentication, smart contract uploading, EHR storing, EHR requesting, and log transaction uploading. Before the registration phase, a network administrator ( N A ) sets up the networks. The N A selects a base point G over an elliptic curve E p with order p that is a large prime number. P of order q is one of G’s generators, in which q is a large prime number. Then, the N A selects a secret key s N A and generates a public key P K N A = s N A · G . Finally, N A shares the network configuration and policies with all system participants. Furthermore, the N A publishes, { p , q , G , P , P K N A } as system parameters, and a cloud server ( C S ) establishes a secure pre-shared key with medical centers. Table 1 illustrates the notations used in the proposed scheme.

5.1. Registration Phase

In the proposed scheme, the registration phase consists of the patient registration and the medical center registration.

5.1.1. Patient Registration Phase

If a patient ( P i ) wants to receive a medical diagnosis, the P i must first register his/her information with the N A and generate a private key and a public key. The patient registration phase is executed over a secure channel. Figure 2 shows the patient registration phase and detailed steps are as follows.
Step 1: 
The P i requests registration to the network administrator N A . First, P i inputs identity I D i and password P W i . Then, the P i generates a random number a i and computes H I D i = h ( a i | | I D i ) and sends H I D i to the N A .
Step 2: 
The N A chooses a random number K N A and computes x i = h ( H I D i | | K N A ) using the H I D i received from the P i . Then, the N A stores { x i } into the smartcard and issues it to the P i in the blockchain. Finally, the N A stores { H I D i } in secure database.
Step 3: 
After the P i receives smartcard from the N A , the P i generates a random number r i as a secret key. P i computes H P W i = h ( I D i | | P W i ) , A i = H P W i a i , B i = h ( I D i | | P W i | | a i ) r i , C i = h ( a i | | r i ) x i and D i = h ( a i | | r i | | x i ) . And then, the P i generates a public key P K i = r i · G and replaces { x i } with { C i } in a smartcard. Finally, P i stores { A i , B i , C i , D i } in the smartcard.

5.1.2. Medical Center Registration Phase

A medical center ( M C j ) must register with the N A to have a key agreement with patients and exchange information with other related medical centers. The masked identity of the M C j is shared with other entities. This registration phase is also executed over a secure channel. The detailed steps are described as follows and are illustrated in Figure 3.
Step 1: 
A medical center M C j chooses a unique identity I D j and generates a random number r j as a its secret key. Then, the M C j computes a masked identity P I D j = h ( I D j | | r j ) and generates a public key P K j = r j · G . M C j sends P I D j to the N A .
Step 2: 
After receiving registration request message, the N A chooses a random number r N A and retrieves { H I D i } in secure database. Then, the N A computes C e r t j = h ( P I D j | | r N A ) + s N A · P K j . The N A stores C e r t j with P I D j and sends { C e r t i , H I D i } to M C j .
Step 3: 
After the M C j receives the messages, the M C j stores { C e r t j , H I D i } in secure database.

5.2. Authentication Phase

If the P i wants a secure health diagnosis, the patient and medical center must establish a session key. The detailed steps are as following in Figure 4.
Step 1: 
The P i inputs his/her I D i , P W i , and smartcard. Then, the smartcard computes H P W i = h ( I D i | | P W i ) , a i = H P W i A i , H I D i = h ( a i | | I D i ) , r i = h ( I D i | | P W i | | a i ) B i , x i = h ( a i | | r i ) C i , and D i * = h ( a i | | r i | | x i ) . Then, the smartcard checks whether D i * = ? D i . If it is correct, the P i generates a timestamp T 1 and encrypts messages M 1 = { ( x i | | H I D i | | T 1 ) + r i · P K j } and computes M a p = h ( x i | | H I D i ) . Next, the P i sends a message < M 1 , M a p , T 1 > to M C j via a public channel.
Step 2: 
After receiving the message < M 1 , M a p , T 1 > , the M C j decrypts ( x i | | H I D i | | T 1 ) = M 1 r j · P K i . After that, the M C j retrieves H I D i * in secure database and checks whether H I D i * = ? H I D i . If it is correct, the M C j computes M a p * = h ( x i | | H I D i ) and checks whether M a p * = ? M a p . If it is valid, the M C j generates a random number b j and timestamp T 2 and calculates E i = b j x i , M a m c = h ( P I D j | | b j | | T 2 ) . H I D i updates at the proper period. After that, the M C j generates a session key S K i j = h ( H I D i | | P I D j | | x i | | b j ) . Finally, M C j sends message < E i , M a m c , T 2 > to P i over an open channel.
Step 3: 
When the P i receives the message from the M C j , the P i computes b j = E i x i , and M a m c * = h ( P I D j | | b j | | T 2 ) . Then, the P i checks whether M a m c * = ? M a m c . If it is valid, the P i computes a session key S K i j = h ( H I D i | | P I D j | | x i | | b j ) .

5.3. Smart Contract Uploading Phase

After receiving information for the smart contract from the P i , the M C j generates a smart contract and then uploads the smart contract in the blockchain. The detailed steps are as following in Figure 5.
Step 1: 
The P i generates message M s c = h ( H I D i | | P I D j | | S K i j ) and encrypts his/her information with S K i j ; M i n f = ( H I D i | | P I D j ) S K i j . Then, the P i sends < M s c , M i n f > to the M C j .
Step 2: 
The M C j computes M s c * = h ( H I D i | | P I D j | | S K i j ) and checks M S C * = ? M S C . If it is valid, M C j decrypts M i n f and generates a smart contract S c using ( H I D i , P I D j , C e r t j ) . Finally, the M C j uploads S c in the blockchain.

5.4. EHR Storing Phase

After uploading smart contract, the M C j generates E H R i and stores E H R i in C S . Detailed steps are as follows in Figure 6.
Step 1: 
The M C j generates E H R i including H I D i , P I D j , an information of health record R I , and EHR’s uploading time T u p . Then, the M C j encrypts E H R i using a secure pre-shared key M u p = ( E H R i ) K M S j and computes M C U = h ( E H R i P I D j ) . Finally, the M C j sends < M u p , M C U > to the C S .
Step 2: 
The C S decrypts M u p with K M S j , computes M C U * = h ( E H R i P I D j ) and checks M C U * = ? M C U . If it is correct, the C S stores E H R i in the server database.

5.5. EHR Requesting Phase

If the M C j wants to confirm E H R i , M C j sends request messages to the C S . Then, the C S sends E H R i to M C j . Detailed steps are as follows in Figure 7.
Step 1: 
The M C j generates request messages R E and encrypts M r e q = ( R E | | P I D j ) K M S j using K M S j and computes M C R = h ( R E P I D j ) . Then, the M C j sends < M r e q , M C R > to the C S .
Step 2: 
After receiving the messages < M r e q , M C R > , the C S decrypts M r e q with K M S j . After that, the C S computes M C R * = h ( R E P I D j ) and checks M C R * = ? M C R . If it is correct, the C S retrieves E H R i corresponding request. The C S encrypts E H R i with K M S j and calculates M C E = h ( R E | | E H R i | | P I D j ) . After then, the C S sends < M E , M C E > to the M C j .
Step 3: 
M C j decrypts the received M E with K M S j and computes M C E * = h ( R E | | E H R i | | P I D j ) . Then, the M C j checks M C E * = ? M C E . If it is not valid, the M C j eliminates communication and received data.

5.6. Log Transaction Uploading Phase

After M C j receives E H R i from C S , M C j generates a log transaction and uploads the log transaction in the blockchain. The M C j generates a log transaction T x = { H I D i , P I D j , T a c c e s s , S i g j } , where T a c c e s s is accessing time of E H R i and S i g j is a signature of the M C j . Finally, the M C j uploads T x in the blockchain. The detailed step is as following in Figure 8.

6. Security Analysis

In this section, we analyze the proposed protocol as a security aspect. We show that the proposed protocol is secure against malicious attacks using informal analysis. We also prove that the proposed protocol can provide secure mutual authentication using a widely adopted BAN logic. In addition, we simulate Automated Validation of Internet Security Protocols and Applications (AVISPA) to prove that the proposed protocol is secure against MITM and replay attacks.

6.1. Informal Security Analysis

We analyze the proposed protocol to perform informal security analysis and show the protocol can resist various attacks. Moreover, we show that our protocol can provide secure mutual authentication and patient’s anonymity.

6.1.1. Impersonation Attack

A malicious adversary M A tries to impersonate a legitimate patient P i to obtain sensitive information. To impersonate P i , the M A has to successfully compute a message < M 1 , M a p , T 1 > . However, the M a p is masked with a secret value x i and the adversary cannot compute x i because he/she does not know a random number K N A . Moreover, the M 1 is encrypted by the P i ’s secret key. Therefore, the proposed protocol is secure against impersonation attacks.

6.1.2. Session Key Disclosure Attack

If the M A wants to generate a legitimate session key S K i j = h ( H I D i | | P I D j | | x i | | b j ) , the M A must know random number b j . However, the M A cannot obtain b j . Moreover, the M A cannot reveal real the identities of P i and M C j because they are masked with random numbers a i and r j . Therefore, the proposed protocol can prevent session key disclosure attacks.

6.1.3. Perfect Forward Secrecy

Even if a M A knows a long-term private secret key s N A , the M A cannot obtain the previous session key, because a session key S K i j = h ( H I D i | | P I D j | | x i | | b j ) does not include s N A . Further, if the long-term private parameter K N A is compromised, the M A cannot obtain x i . Because x i is masked with H I D i and H I D i is masked with a random number a i . Therefore, the proposed protocol guarantees perfect forward secrecy.

6.1.4. Replay Attack

Suppose a M A learns transmitted messages performing a replay attack. However, the M A cannot use previous messages, because transmitted messages include timestamps, and P i and M C j check the timestamps are correct. Then, they check that M a p * = ? M a p and M a m c * = ? M a m c are correct. Thus, the proposed protocol can resist replay attacks.

6.1.5. Privileged Insider Attack

Suppose a privileged insider user of the system, the user is an insider adversary. The insider adversary knows the registration information < H I D i > of a legitimate user. Moreover, the adversary also can know stored values { A i , B i , C i , D i } in the smartcard to perform power analysis attacks. However, stored values in the smartcard are masked with H P W i . Therefore, the adversary cannot know H P W i that cannot guess a valid password. Therefore, the proposed protocol prevents privileged insider attack.

6.1.6. Anonymity

A M A cannot reveal a legitimate patient’s real identity I D i , because I D i is masked by hash function or encryption with random numbers or secret key. Therefore, our protocol provides the patient’s anonymity.

6.1.7. Mutual Authentication

According to Section 6.1.1, the M A cannot compute a valid session key and cannot impersonate a legitimate patient. Moreover, P i and M C j check a legitimate entity to verify whether M a p * = ? M a p and M a m c * = ? M a m c are correct. If the conditions are correct, the P i and M C j authenticate each other. Therefore, our protocol can provide secure mutual authentication.

6.2. BAN Logic Analysis

We demonstrate that the proposed protocol provides secure mutual authentication between P and M C using BAN logic [19,20]. Table 2 presents BAN logic notations. In addition, we define the rules, goals, idealized forms, and assumptions for performing BAN logic analysis.

6.2.1. BAN Logic Rules

The BAN logic rules are defined as follows.
1. 
Message meaning rule:
X | X K Y , X Q K X Y Q
2. 
Nonce verification rule:
X # ( Q ) , X Y | Q X Y Q
3. 
Jurisdiction rule:
X Y Q , X Y Q X | Q
4. 
Freshness rule:
X | # ( Q ) X | # Q , Z
5. 
Belief rule:
X | Q , Z X | Q

6.2.2. Goals

We define the security goals to prove that the proposed system is capable of performing secure mutual authentication.
Goal 1: 
P ( P S K M C )
Goal 2: 
P M C ( P S K M C )
Goal 3: 
M C ( P S K M C )
Goal 4: 
M C P ( P S K M C )

6.2.3. Idealized Forms

We define the idealized forms as below.
M s g 1 :
P M C : ( x i , H I D i , T 1 ) M C P K j
M s g 2 :
M C P : ( P I D j , b j , T 2 ) x i

6.2.4. Assumptions

The initial assumptions are given below.
A 1 :
P ( P x i M C )
A 2 :
M C # ( P K j )
A 3 :
P # ( b 1 )
A 4 :
P M C ( P S K M C )
A 5 :
M C P ( P S K M C )
A 6 :
M C # ( x i )
A 7 :
M C # ( T 1 )
A 8 :
P # ( T 2 )

6.2.5. Proof Using BAN Logic

We perform the BAN logic analysis. The detailed steps are as follows.
Step 1: 
From M s g 1 we can get,
S 1 : M C ( x i , H I D i , T 1 ) M C P K j
Step 2: 
From the message meaning rule with S 1 and A 2 ,
S 2 : M C P | ( x i , H I D i , T 1 )
Step 3: 
We use the freshness rule with S 2 and A 6 ,
S 3 : M C # ( x i , H I D i , T 1 )
Step 4: 
Using the nonce verification rule with S 2 and S 3 ,
S 4 : M C P ( x i , H I D i , T 1 )
Step 5: 
By the Belief rule with S 4 and A 7 ,
S 5 : M C P ( x i , H I D i )
Step 6: 
Because of the session key S K = h ( H I D i | | P I D j | | x i | | b j ) , from S 5 and A 3 ,
S 6 : M C P ( P S K M C ) ( Goal 4 )
Step 7: 
Using the jurisdiction rule with S 6 and A 5 ,
S 7 : M C ( P S K M C ) ( Goal 3 )
Step 8: 
From M s g 2 we can get,
S 8 : P ( P I D j , b j , T 2 ) x i
Step 9: 
From the message meaning rule with S 8 and A 1 ,
S 9 : P M C | ( P I D j , b j , T 2 ) x i
Step 10: 
We use the freshness rule with S 9 and A 3 ,
S 10 : P # ( P I D j , b j , T 2 ) x i
Step 11: 
Using the nonce verification rule with S 8 and S 9 ,
S 11 : P M C ( P I D j , b j , T 2 ) x i
Step 12: 
By the belief rule with S 11 and A 8 ,
S 12 : P M C ( P I D j , b j ) x i
Step 13: 
Because of the session key S K = h ( H I D i | | P I D j | | x i | | b j ) , from S 12 and A 6 ,
S 13 : P M C ( P S K M C ) ( Goal 2 )
Step 14: 
Using the jurisdiction rule with S 13 and A 4 ,
S 14 : P ( P S K M C ) ( Goal 1 )
Therefore, the goals 1–4 clearly show that the proposed protocol provides secure mutual authentication between P i and M C j .

6.3. AVISPA Analysis

This section shows the proposed protocol can resist against adversary’s replay and MITM attacks to perform AVISPA simulation [21,22]. The AVISPA tool consists of High-Level Protocol Specification Language (HLPSL) [40] to generate input format (IF) of four back-ends, i.e., “On-the-Fly Model Checker (OFMC)”, “Constraint Logic-based Attack Searcher (CL-AtSe)”, “Tree automata based on Automatic Approximations for Analysis of Security Protocol (TA4SP)”, and “SAT-based Model Checker (SATMC)”. Then, the output format (OF) is created and the safety of the protocol is verified using OF. Generally, verification is performed with OFMC and CL-AtSe. The HLPSL syntax of each entity is shown in Figure 9, Figure 10 and Figure 11. Furthermore, the goal and environment of the protocol are shown in Figure 12. Goal and environment describe participants, security goals, and environment conditions. As a Figure 13, the results of AVISPA simulation under OFMC and CL-AtSe is safe. The results show that OFMC has 5.88 search time and visits 1040 nodes with 9 piles depths. Furthermore, the CL-AtSe analyzed in 0.07 seconds. Therefore, our proposed protocol provides security against MITM and replay attacks.

7. Performance Analysis

In this section, we analyze the computation and communication costs of the proposed protocol compared with related schemes [25,26].

7.1. Computation Cost

Referring to the work in [41,42,43], we compare computation costs during authentication phase for the proposed system with related schemes [25,26].
  • T b p : The computation time of a bilinear pairing operation ≈ 4.211 ms.
  • T b p s m : The computation time of a scalar multiplication operation on bilinear pairing 1.709 ms.
  • T b p a d : The computation time of a point addition operation on bilinear pairing 0.0071 ms.
  • T e c s m : The computation time of a scalar multiplication operation on elliptic curve cryptography 0.442 ms.
  • T e c a d : The computation time of a point addition operation on elliptic curve cryptography 0.0018 ms.
  • T e c e n c : The computation time of a encryption with elliptic curve cryptography 0.5102 ms.
  • T e c d e c : The computation time of a decryption with elliptic curve cryptography 0.7399 ms.
  • T h : The computation time of a one-way hash function operation 0.0001 ms.
  • T e x p : The computation time of an exponentiation operation 3.886 ms.
Table 3 shows computation costs of the proposed scheme with related schemes [25,26]. In Liu et al.’s scheme [25], a client computes { T = t P , T = t Q A P } with multiplication on bilinear pairing, { I } with addition on bilinear pairing, { r } with exponential function, { U = k S 2 v s 1 Q 2 } with two multiplication and one addition on bilinear pairing, and { v , k e y , M A C k e y ( v ) } with hash function. Then, a application provider computes { T } with multiplication on bilinear pairing, { I } with addition on bilinear pairing, { v , k e y , M A C k e y ( v ) } with hash function, { r } with one bilinear pairing operation, one multiplication on bilinear pairing, and one exponential function.
In Renuka et al.’s scheme [26], a user computes { V i , A i , F i , s k } with two hash functions, { R i , E i , E s } with multiplication on ECC, { D i , H i } with one hash function. Moreover, in the registration phase, a server computes H ( B i ) and stores it in memory. After that, in authentication phase, the server extracts the H ( B i ) . Thus, we do not include H ( B i ) in the operation. Then, server computes { I D i , h ( x I D i ) , h ( C i | | T 1 | | E i | | H ( B i ) ) , s k , H i } with one hash function, { E i , R s , E s } with multiplication on ECC.
In the proposed scheme, a patient computes { H P W i , r i , x i , D i * , M a p , M a m c * , S K i j } with hash function, M 1 with ECC encryption. Moreover, the medical center computes { M 1 r j · P K i } with ECC decryption, { M a p * , M a m c , S K i j } with hash function. As a result, we provide better efficiency than existing schemes [25,26] because our scheme uses only hash function and ECC encryption/decryption.

7.2. Communication Cost

We compare communication costs during authentication phase for the proposed system with related schemes [25,26]. We assume that the ECC-based encryption ( E N e c c ), timestamp (T), identity (I) hash function (H), and message authentication code ( M A C ) are 320, 32, 128, 160, and 160 bits [44,45], respectively. We also define that additive groups on super singular ( G 1 ), and additive group (G) are 1024 and 320 bits [44,45], respectively. Table 4 shows communication costs of the proposed scheme with related schemes [25,26].
In Liu et al.’s scheme [25], transmitted messages { v , U , t c , T , I } and { M A C } . U , T , and I are elements of G 1 . Moreover, v is the element of hash function, t c is a timestamp, and M A C is the element of message authentication code. In Liu et al.’s scheme, transmitted messages require (160 + 1024 + 32 + 1024 + 1024 = 3264 bits) and (160 bits), respectively.
In Renuka et al.’s scheme [26], transmitted messages { D i , R i , F i , T 1 } and { R s , H i , T 2 } . R i and R s are elements of G. D i , F i , and H i are elements of hash function. And also, T 1 and T 2 are elements of timestamp. In Renuka et al.’s scheme, transmitted messages require (160 + 320 + 160 + 32 = 672 bits) and (320 + 160 + 32 = 512 bits), respectively.
In the proposed scheme, transmitted messages { M 1 , M o p , T 1 } and { E i , M a c m , T 2 } . M o p , M a c m , and E i are the elements of hash function and M 1 is the element of ECC-based encryption. And also, T 1 and T 2 are the elements of timestamp. In proposed scheme, transmitted messages require (320 + 160 + 32 = 512 bits) and (160 + 160 + 32 = 352 bits), respectively. Consequently, we provide better efficiency than related schemes [25,26] because our scheme uses hash function, timestamp, and ECC-based encryption/decryption.

7.3. Security Properties

Table 5 shows the comparison between the security properties of the proposed scheme and related schemes [25,26]. Our scheme guarantees perfect forward secrecy, anonymity, and mutual authentication, and avoids the single point of failure and bottleneck. In addition, the proposed scheme has the resistance of impersonation, session key disclosure, replay, and privileged insider attacks.

8. Conclusions

With the rapid development of the EHR system, medical centers obtain patient’s health records to provide accurate medical services through medical wearable sensors. However, these health records contain sensitive information of patients, it is necessary to ensure the security from leakage or counterfeiting in the process of storing and sharing information. Furthermore, traditional protocols for the EHR system cannot prevent the single point of failure, and the EHR system should consider storage overload problems because of the large amounts of EHR data and scalability of the system. In this paper, we proposed the secure protocol for cloud-assisted EHR system using blockchain to resolve these problems. The proposed scheme presented detailed phases for six phases such as registration, authentication, smart contract uploading, EHR storing, EHR requesting, and log transaction uploading. We proved that the proposed scheme prevents various attacks and provides secure mutual authentication, anonymity, and perfect forward secrecy. We demonstrated the safety of the proposed scheme against MITM and replay attacks using AVISPA simulation. Furthermore, we proved that the proposed scheme ensures a secure mutual authentication between patient and medical server using BAN logic. We compared the security features and performance of the proposed scheme with some existing schemes. We proved that our scheme provides better safety and efficiency than related schemes. Therefore, the proposed EHR system can be suitable for the practical healthcare system for EHRs because it is more secure and efficient than other related schemes. In the future, we aim to develop a set of realistic simulations to test the protocol. If these practical simulations are available, it will help to develop a secure protocol for the cloud-assisted EHR system using blockchain.

Author Contributions

Conceptualization, M.K.; Formal analysis, S.Y., J.L. and Y.P. (YoHan Park); Software, M.K., and J.L.; Supervision, Y.P. (YoungHo Park); Validation, S.Y., J.L., Y.P., (YoHan Park) and Y.P. (YoungHo Park); Writing—original draft, M.K.;Writing—review and editing, S.Y., Y.P., (YoHan Park) and Y.P. (YoungHo Park). All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Basic Science Research Program through the National Research Foundation of Korea funded by the Ministry of Science, ICT and Future Planning under Grant 2017R1A2B1002147 and in part by the BK21 Plus project funded by the Ministry of Education, Korea, under Grant 21A20131600011.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Greenhalgh, T.; Hinder, S.; Stramer, K.; Bratan, T.; Russell, J. Adoption, non-adoption, and abandonment of a personal electronic health record: Case study of healthspace. Br. Med. J. 2010, 341, c5814. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. Tang, F.; Ma, S.; Xiang, Y.; Lin, C. An efficient authentication scheme for blockchain-based electronic health records. IEEE Access 2019, 7, 41678–41689. [Google Scholar] [CrossRef]
  3. Fan, K.; Ren, Y.; Wang, Y.; Li, H.; Yang, Y. Blockchain-based efficient privacy preserving and data sharing scheme of content-centric network in 5G. IET Commun. 2018, 12, 527–532. [Google Scholar] [CrossRef]
  4. Dwivedi, A.D.; Malina, L.; Dzurenda, P.; Srivastava, G. Optimized blockchain model for internet of things based healthcare applications. In Proceedings of the 42nd International Conference on Telecommunications and Signal Processing (TSP), Budapest, Hungary, 1–3 July 2019; pp. 135–139. [Google Scholar]
  5. Dwivedi, A.; Srivastava, G.; Dhar, S.; Singh, R. A decentralized privacy-preserving healthcare blockchain for IoT. Sensors 2019, 19, 326. [Google Scholar] [CrossRef] [Green Version]
  6. Rathee, G.; Sharma, A.; Iqbal, R.; Aloquaily, M.; Jaglan, N.; Kumar, R. A blockchain framework for securing connected and autonomous vehicles. Sensors 2019, 19, 3165. [Google Scholar] [CrossRef] [Green Version]
  7. Tseng, L.; Wong, L.; Otoum, S.; Aloqaily, M.; Othman, J.B. Blockchain for managing heterogeneous internet of things: A perspective architecture. IEEE Netw. 2020, 34, 16–23. [Google Scholar] [CrossRef]
  8. Kuo, T.T.; Rojas, H.Z.; Ohno-Machado, L. Comparison of blockchain platforms: A systematic review and healthcare examples. J. Am. Med. Inform. 2019, 26, 462–478. [Google Scholar] [CrossRef]
  9. Chukwu, E.; Garg, L. A systematic review of blockchain in healthcare: Frameworks, prototypes, and implementations. IEEE Access 2020, 8, 2169–3536. [Google Scholar] [CrossRef]
  10. Hyperledger: Open Source Blockchain Technologies. Available online: https://www.hyperledger.org/ (accessed on 8 March 2020).
  11. Ma, H.; Huang, E.X.; Lam, K.Y. Blockchain-based mechanism for fine-grained authorization in data crowdsourcing. Future Gener. Comput. Syst. 2020, 106, 121–134. [Google Scholar] [CrossRef]
  12. Thwin, T.T.; Vasupongayya, S. Blockchain-based access control model to preserve privacy for personal health record systems. Secur. Commun. Netw. 2019, 2019, 8315614. [Google Scholar] [CrossRef]
  13. Zhu, X.; Shi, J.; Lu, C. Cloud health resource sharing based on consensus-oriented blockchain technology: Case study on a breast tumor diagnosis service. J. Med. Internet Res. 2019, 21, e13767. [Google Scholar] [CrossRef] [PubMed]
  14. Li, M.; Yu, S.; Ren, K.; Lou, W. Securing personal health records in cloud computing: Patient-centric and fine-grained data access control in multi-owner settings. In Proceedings of the 6th International ICST Conference on Security and Privacy in Communication Networks (SecureComm 2010), Singapore, 7–9 September 2010; pp. 89–106. [Google Scholar]
  15. Ridhawi, I.A.; Otoum, S.; Aloquaily, M.; Jararweh, Y.; Baker, T. Providing secure and reliable communication for next generation networks in smart cities. Sustain. Cities Soc. 2020, 56, 102080. [Google Scholar] [CrossRef]
  16. Park, Y.; Park, Y. A selective group authentication scheme for IoT-based medical information system. J. Med. Syst. 2017, 41, 48. [Google Scholar] [CrossRef] [PubMed]
  17. Kaur, H.; Alam, M.A.; Jameel, R.; Mourya, A.K.; Chang, V. A proposed solution and future direction for blockchain-based heterogeneous medicare data in cloud environment. J. Med. Syst. 2018, 42, 156. [Google Scholar] [CrossRef] [Green Version]
  18. Nagasubramanian, G.; Sakthivel, R.K.; Patan, R.; Gandomi, A.H.; Sankayya, M.; Balusamy, B. Securing e-health records using keyless signature infrastructure blockchain technology in the cloud. Neural Comput. Appl. 2020, 32, 639–647. [Google Scholar] [CrossRef]
  19. Burrows, M.; Abadi, M.; Needham, R. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
  20. Lee, J.Y.; Yu, S.J.; Park, K.S.; Park, Y.H.; Park, Y.H. Secure three-factor authentication protocol for multi-gateway IoT environments. Sensors 2019, 19, 2358. [Google Scholar] [CrossRef] [Green Version]
  21. AVISPA. Automated Validation of Internet Security Protocols and Applications. Available online: http://www.avispa-project.org/ (accessed on 8 March 2020).
  22. SPAN: A Security Protocol Animator for AVISPA. Available online: http://www.avispa-project.org/ (accessed on 8 March 2020).
  23. Kumar, P.; Lee, S.G.; Lee, H.J. E-SAP: Efficient-strong authentication protocol for healthcare applications using wireless medical sensor networks. Sensors 2012, 12, 1625–1647. [Google Scholar] [CrossRef] [Green Version]
  24. Wu, Z.Y.; Chen, L.; Wu, J.C. A reliable RFID mutual authentication scheme for healthcare environments. J. Med. Syst. 2013, 37, 9917. [Google Scholar] [CrossRef]
  25. Liu, J.; Zhang, Z.; Chen, X.; Kwak, K.S. Certificateless remote anonymous authentication schemes for wireless body area networks. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 332–342. [Google Scholar] [CrossRef]
  26. Renuka, K.; Kumari, S.; Li, X. Design of a secure three-factor authentication scheme for smart healthcare. J. Med. Syst. 2019, 43, 133. [Google Scholar] [CrossRef] [PubMed]
  27. Pandey, P.; Litoriya, R. Securing e-health networks from counterfeit medicine penetration using blockchain. Wirel. Pers. Commun. 2020. [Google Scholar] [CrossRef]
  28. Agbo, C.C.; Mahmoud, Q.H. Comparison of blockchain frameworks for healthcare applications. Internet Technol. Lett. 2019, 2, e122. [Google Scholar] [CrossRef] [Green Version]
  29. 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]
  30. Wang, Y.; Zhang, A.; Zhang, P.; Wang, H. Cloud-assisted EHR sharing with security and privacy preservation via consortium blockchain. IEEE Access 2019, 7, 136704–136719. [Google Scholar] [CrossRef]
  31. Chen, Y.; Ding, S.; Xu, Z.; Zheng, H.; Yang, S. Blockchain-based medical records secure storage and medical service framework. J. Med. Syst. 2019, 43, 5. [Google Scholar] [CrossRef]
  32. Cheng, X.; Chen, F.; Xie, D.; Sun, H.; Huang, C. Design of a secure medical data sharing scheme based on blockchain. J. Med. Syst. 2020, 44, 52. [Google Scholar] [CrossRef]
  33. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  34. Li, C.T.; Lee, C.C.; Weng, C.Y.; Chen, S.J. A secure dynamic identity and chaotic maps based user authentication and key agreement scheme for e-Healthcare systems. J. Med. Syst. 2016, 40, 233. [Google Scholar] [CrossRef]
  35. Kocher, P.; Jaffe, J.; Jun, B. Differential power analysis. In Proceedings of the Annual International Cryptology Conference (CRYPTO), Santa Barbara, CA, USA, 15–19 August 1999; pp. 388–397. [Google Scholar]
  36. Yu, S.J.; Lee, J.Y.; Lee, K.K.; Park, K.S.; Park, Y.H. Secure authentication protocol for wireless sensor networks in vehicular communications. Sensors 2018, 18, 3191. [Google Scholar] [CrossRef] [Green Version]
  37. Park, Y.H.; Park, Y.H. Three-factor user authentication and key agreement using elliptic curve cryptosystem in wireless sensor networks. Sensors 2016, 16, 2123. [Google Scholar] [CrossRef] [PubMed]
  38. Novo, O. Blockchain meets IoT: An architecture for scalable access management in IoT. IEEE Internet Things J. 2018, 5, 1184–1195. [Google Scholar] [CrossRef]
  39. Lu, N.; Zhang, Y.; Shi, W.; Kumari, S.; Choo, K.K.R. A secure and scalable data integrity auditing scheme based on hyperledger fabric. Comput. Secur. 2020, 92, 101741. [Google Scholar] [CrossRef]
  40. Von Oheimb, D. The high-level protocol specification language HLPSL developed in the EU project avispa. In Proceedings of the APPSEM 2005 Workshop, Tallinn, Finland, 13–15 September 2005; pp. 1–2. [Google Scholar]
  41. Lei, A.; Cruickshank, H.; Cao, Y.; Asuquo, P.; Ogah, C.P.A.; Sun, Z. Blockchain-based dynamic key management for heterogeneous intelligent transportation systems. IEEE Internet Things J. 2017, 4, 1832–1843. [Google Scholar] [CrossRef] [Green Version]
  42. Islam, S.K.H.; Obaidat, M.S.; Vijayakumar, P.; Abdulhay, E.; Li, F.; Reddy, M.K.C. A robust and efficient password-based conditional privacy preserving authentication and group-key agreement protocol for VANETs. Future Gener. Comput. Syst. 2018, 84, 216–227. [Google Scholar] [CrossRef]
  43. Zhang, Q.; Wang, X.; Yuan, J.; Liu, L.; Wang, R.; Huang, H.; Li, Y. A hierarchical group key agreement protocol using orientable attributes for cloud computing. Inform. Sci. 2019, 480, 55–69. [Google Scholar] [CrossRef]
  44. Lee, H.; Lee, D.; Moon, J.; Jung, J.; Kang, D.; Kim, H.; Won, D. An improved anonymous authentication scheme for roaming in ubiquitous networks. PLoS ONE 2018, 13, e0193366. [Google Scholar] [CrossRef] [Green Version]
  45. Ying, B.; Nayak, A. Lightweight remote user authentication protocol for multi-server 5G networks using self-certified public key cryptography. J. Netw. Comput. Appl. 2019, 131, 66–74. [Google Scholar] [CrossRef]
Figure 1. Proposed cloud-assisted electronic health record (EHR) system model using blockchain.
Figure 1. Proposed cloud-assisted electronic health record (EHR) system model using blockchain.
Sensors 20 02913 g001
Figure 2. Patient registration phase of the proposed protocol.
Figure 2. Patient registration phase of the proposed protocol.
Sensors 20 02913 g002
Figure 3. Medical center registration phase of the proposed protocol.
Figure 3. Medical center registration phase of the proposed protocol.
Sensors 20 02913 g003
Figure 4. Authentication phase of the proposed protocol.
Figure 4. Authentication phase of the proposed protocol.
Sensors 20 02913 g004
Figure 5. Smart contract uploading phase of the proposed protocol.
Figure 5. Smart contract uploading phase of the proposed protocol.
Sensors 20 02913 g005
Figure 6. EHR storing phase of the proposed protocol.
Figure 6. EHR storing phase of the proposed protocol.
Sensors 20 02913 g006
Figure 7. EHR requesting phase of the proposed protocol.
Figure 7. EHR requesting phase of the proposed protocol.
Sensors 20 02913 g007
Figure 8. Log transaction uploading phase of the proposed protocol.
Figure 8. Log transaction uploading phase of the proposed protocol.
Sensors 20 02913 g008
Figure 9. High-Level Protocol Specification Language (HLPSL) syntax of patient.
Figure 9. High-Level Protocol Specification Language (HLPSL) syntax of patient.
Sensors 20 02913 g009
Figure 10. HLPSL syntax of medical center.
Figure 10. HLPSL syntax of medical center.
Sensors 20 02913 g010
Figure 11. HLPSL syntax of network administrator.
Figure 11. HLPSL syntax of network administrator.
Sensors 20 02913 g011
Figure 12. HLPSL syntax of session and environment.
Figure 12. HLPSL syntax of session and environment.
Sensors 20 02913 g012
Figure 13. Automated Validation of Internet Security Protocols and Applications (AVISPA) analysis result using OFMC and CL-AtSe.
Figure 13. Automated Validation of Internet Security Protocols and Applications (AVISPA) analysis result using OFMC and CL-AtSe.
Sensors 20 02913 g013
Table 1. Notations.
Table 1. Notations.
NotationsMeanings
P i i-th patient
M C j j-th medical center
N A Network Administrator
I D i , I D j Identity of P i and M C j
P W i Password of P i
r i , r j Secret keys of P i and M C j
s N A Secret key of N A
T 1 , T 2 Timestamps
T u p , T a c c e s s Uploading/accessing time of EHR
K N A , r N A Random numbers generated by N A
P K i , P K j Public keys of P i and M C j
C e r t i , C e r t j Certificates of P i and M C j
E p ( a , b ) A nonsingular elliptic curve y 2 = x 3 + a x + b (mod p)
GA base point for elliptic curve
H I D i , P I D j Pseudo-identities of P i and M C j
T x Log transaction
K M S j Secure pre-shared key among M C j and C S
E H R Electronic health record
R I Information of health record
R E Request message of EHR
S K Common session key shared among P i and M C j
h ( * ) Collision resistant one-way hash function
XOR operation
| | Concatenation operation
Table 2. Notations of Burrows–Abadi–Needham (BAN) logic.
Table 2. Notations of Burrows–Abadi–Needham (BAN) logic.
NotationDescription
X | Q Xbelieves statement Q
X | Q X once said Q
X Q Xcontrols statement Q
#QStatement Q is fresh
X Q Xsees statement Q
< Q > Z Formula Q is combined with formula Z
{ Q } K Q is encrypted under key K
Y K Y has K as a public key
X K Y X and Y may use shared key K to communicate
S K Session key used in the current session
Table 3. Computation costs of the proposed scheme with related schemes.
Table 3. Computation costs of the proposed scheme with related schemes.
Liu et al. [25]Renuka et al. [26]Proposed
Patient/Client 4 T b p s m + 2 T b p a d + T e x p + 3 T h 10.8643 ms 3 T e c s m + 10 T h 1.327 ms T e c e n c + 7 T h 0.5109 ms
Medical center 2 T b p s m + T b p a d + T e x p + T b p + 3 T h 11.5863 ms 3 T e c s m + 5 T h 1.3265 ms T e c d e c + 3 T h 0.7402 ms
Table 4. Communication costs of the proposed scheme with related schemes.
Table 4. Communication costs of the proposed scheme with related schemes.
Liu et al. [25]Renuka et al. [26]Proposed
Patient/Client H + 3 G 1 + T = 3264 bits 2 H + G + T = 672 bits E N e c c + H + T = 512 bits
Medical center M A C = 160 bits G + H + T = 512 bits 2 H + T = 352 bits
Table 5. Security properties of the proposed scheme with related schemes.
Table 5. Security properties of the proposed scheme with related schemes.
Liu et al. [25]Renuka et al. [26]Proposed
Impersonation attackXOO
Session key disclosure attackXOO
Perfect forward secrecyXOO
Replay attackOOO
Privileged insider attackXOO
Single point of failureXXO
AnonymityOOO
Mutual authenticationXOO
BottleneckXXO

Share and Cite

MDPI and ACS Style

Kim, M.; Yu, S.; Lee, J.; Park, Y.; Park, Y. Design of Secure Protocol for Cloud-Assisted Electronic Health Record System Using Blockchain. Sensors 2020, 20, 2913. https://doi.org/10.3390/s20102913

AMA Style

Kim M, Yu S, Lee J, Park Y, Park Y. Design of Secure Protocol for Cloud-Assisted Electronic Health Record System Using Blockchain. Sensors. 2020; 20(10):2913. https://doi.org/10.3390/s20102913

Chicago/Turabian Style

Kim, MyeongHyun, SungJin Yu, JoonYoung Lee, YoHan Park, and YoungHo Park. 2020. "Design of Secure Protocol for Cloud-Assisted Electronic Health Record System Using Blockchain" Sensors 20, no. 10: 2913. https://doi.org/10.3390/s20102913

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop