Abstract
Nowadays, data between hospitals are usually not interoperable, which brings great inconvenience to medical data sharing and patients’ medical treatment. In addition, patients do not want their medical data to be leaked during the sharing process. Researchers have employed blockchain to build data-sharing systems to address these issues. However, current systems do not restrict the power of participants, nor do they prevent visitors from sharing the obtained data to unauthorized parties. To address these issues, we propose a private data-sharing system with symmetric encryption for the medical industry that implements power restriction and access control, and prevents the leakage of private data. To be specific, firstly, symmetric encryption algorithm is utilized to encrypt medical data to protect the privacy of data owner. Secondly, our proposed system is built on a new blockchain framework, in which only visitors with permission can access the medical data. Thirdly, we employ chameleon signature to prevent visitors from sharing data with other parties without permission. Finally, we make the power of participants in the system revocable to prevent them from abusing their power. Our proposed system has been proven to be secure through security analysis and can protect the privacy of patients. In addition, the experimental results show that our system has excellent performance in terms of time overhead compared to other systems.
1. Introduction
With the improvement of people’s living quality, health problems are receiving greater attention [1]. Effectively using patients’ medical data is crucial for improving people’s health, which requires hospitals to store and share medical data efficiently and securely. However, hospitals usually store patients’ data locally and do not share them with others. This lack of circulation of medical data causes significant inconvenience to patients and some medical research. When patients seek treatment at a different hospital, if their previous medical data cannot be accessed, they may need to undergo repeated examinations, resulting in wasted time and money. More seriously, it may cause medical accidents. Medical data are also a valuable resource for medical research [2], and a significant amount of medical data need to be used when conducting medical research. Therefore, the medical data in only a hospital’s database are not enough. Some cases of research value are difficult to aggregate together without data circulation. However, the hospital only stores the data instead of sharing them, which leads to a waste of medical data. In addition, ensuring the security of medical data is also a significant challenge that cannot be ignored. In the medical field, there are many incidents of data breaches every year [3], such as data tampering, data leaks, and unauthorized access. The increasing digitization of the medical field also demands that people take this issue seriously. If the data cannot be guaranteed to be secure, the interests of patients will be compromised [4], which is unacceptable.
In recent years, blockchain [5] has been utilized for medical data sharing [6], which is a decentralized distributed ledger. The transactions in the ledger cannot be tampered with, and each client in the system has the complete transaction of the ledger. Data in the blockchain are stored in blocks, which are added to the blockchain in chronological order. The new block is generated by the consensus protocol and connected to the blockchain chronologically through hash value. Due to its immutability, security [7], anonymity and data integrity [8], blockchain has been widely used in electronic currency, data storage, data integrity verification [9], and data sharing. In the future, blockchain will play an irreplaceable role in various fields, such as federated learning [10,11,12], finance [13] and medicine, especially in the medical field [14,15].
In the medical field, blockchain can play a crucial role in improving data security and interoperability [16]. According to [17], people require data to be secure, but this cannot always be achieved. We have found that blockchain can solve this problem to some extent. Firstly, there is often a lack of secure and reliable methods for storing medical data in the medical field. Blockchain technology provides a decentralized database that can securely store medical data to prevent malicious tampering. Secondly, blockchain can be leveraged to enhance data interoperability. Since information systems in various hospitals are often built using incompatible technologies, data sharing among hospitals has become a challenging task. The emergence of blockchain provides hospitals with a unified, decentralized database, enabling hospitals to access and share medical data more easily. Additionally, quantum communication [18,19,20,21] is also a promising solution to address the aforementioned issues, but it is challenging to conduct experiments due to hardware limitations. Therefore, due to blockchain’s unique advantages in the secure sharing of medical data [22], it can be used to design a secure and efficient data-sharing system. However, designing such a system still faces some security challenges. Firstly, the issue of how to restrict the power of data managers needs to be solved [23]. Most systems provide data managers with great power, but data owners have no corresponding power to restrict them. The second challenge is preventing shared data from being leaked to unauthorized parties. Once the data manager shares the data, he also loses control over them. In this situation, visitor can freely share the data with others, which seriously compromises the interests of data owner. The last challenge is access control, which means that only authorized visitors can access the data. In recent years, several systems have been proposed to address the aforementioned challenges, which will be introduced briefly as follows.
Related work. In order to realize the function of access control, Rahulamathavan et al. [24] utilized attributed-based encryption (ABE) [25] to protect the privacy of data by storing the encrypted data on the blockchain, resulting in high storage overhead. The system implements access control functions and protects user privacy to some extent. However, the system does not restrict the power of participants, nor does it consider the situation where the data are shared with unauthorized third parties by the visitor after obtaining them. Additionally, since the encrypted data are stored on the blockchain, this system incurs a high data storage overhead. In 2021, Qi et al. proposed a sharing system [26] that supports data compression called Cpds, which encrypts the compressed data by symmetry encryption and submits the ciphertext to the blockchain. In addition, Cpds implements access control by encrypting the symmetry key and sending the ciphertext to the blockchain, reducing the storage overhead by compressing data before encryption. However, visitor can share the obtained data with unauthorized parties in Cpds, which greatly infringes upon the interests of the patients. At the same time, the power of the system participants is so great that they can even change previously generated data. Therefore, an effective algorithm is needed to limit the power of nodes. Du et al. proposed a medical data-sharing system [27] based on blockchain. The data sharer stores the data digest in the platform’s database while the complete data are stored locally. Authorized access by the sharer is required to obtain corresponding data. However, the system does not solve the problem of data misuse after sharing, and there is no specific algorithm for authorizing operations. In addition, as the hospital can maliciously send patients’ medical data to unauthorized parties, the power restriction function is also not implemented. In order to address the issue of data misuse, Wang et al. [28] and Xiao et al. [29] designed data-sharing systems based on blockchain that utilize trusted execution environments (TEEs), such as Intel SGX. In these two systems, an algorithm, negotiated in advance, is used to process the original data in TEE. Afterwards, the calculation result is sent to the visitor without revealing the original data. Therefore, these two systems solve the problem of data misusing. However, these systems still do not limit the power of the participants. Moreover, as visitors may apply the data in areas such as machine learning that require the original data, it is inappropriate to only send the computation results in such cases. Nguyen et al. proposed the new distributed medical network architecture BEdgeHealth [30] to transfer and share data, which utilizes smart contracts to enable data sharing without a third party. However, patients are unable to control their own data in this system. In addition, in 2022, Wu et al. proposed a blockchain-based smart healthcare system [31] for medical data exchanging and sharing. The system deploys smart contracts to meet the requirements of access control and data sharing, which improves the efficiency of the system. However, similar to BEdgeHealth, this system does not restrict the power of participants nor consider the issue of data misuse. In addition, Ref. [32] provides a secure data-sharing scheme for different levels of visitors. The scheme employs a ciphertext-based attribute encryption algorithm, allowing for more fine-grained access control. However, the power possessed by the administrator of the system attributes is too great and cannot be limited such that it can ignore or incorrectly respond to user’s requests. In addition, the access control function is still not implemented in this system.
Overall, as shown in Table 1, although ABE is utilized for implementing access control in [24,26], it does not limit the permission of participants in the systems, nor does it design an algorithm to prevent the shared data from being leaked to unauthorized parties. The protection of data privacy is realized in the system of [27], but the remaining functions in the table are not realized. Systems of [28,29] use intel SGX [33] technology to ensure that the shared data are not leaked and that they have access control function, but they lack permission revocation. Systems of [30,31,32] utilize smart contracts to protect user privacy and implement access control. However, neither of these systems implemented functionalities permission revocation and use control.
Table 1.
The comparison of protocols.
To sum up, the current blockchain-based data-sharing systems still face several challenges that must be addressed. Firstly, data owners do not want unauthorized parties to obtain their data. Secondly, honest parties in the system hope that the power of malicious parties can be limited. Thirdly, after sharing the data with the visitors, the data owners do not want the data to be shared with a third party without permission by the visitor. Finally, data privacy should be protected [34]. Unfortunately, existing blockchain-based data-sharing systems cannot overcome these challenges simultaneously.
In this article, as shown in Table 1, a blockchain-based secure medical data-sharing system is proposed to meet these challenges. Specifically, a blockchain-based system is designed to securely share medical data. The data visitor is only eligible to access the data with the consent of the data owner. A permission revocation algorithm is also designed to limit the power of data managers and prevent the abuse of power that could compromise patients’ privacy. In addition, we also use the chameleon signature algorithm to prevent shared data from being leaked to unauthorized parties. In summary, our article has the following contributions:
- A medical data-sharing system is proposed based on blockchain for secure data sharing between hospitals. This system only stores simple data records on the blockchain, while the complete data are encrypted and stored in the application platform.
- A verification system is also proposed based on chameleon hash with revocable trapdoor, enabling patients to revoke the hospital’s right of managing data and allowing hospitals to revoke the application platform’s right of signing medical data.
- The proposed system can prevent the misuse of shared data based on chameleon signature. By designing this algorithm, we solve the problem of data misuse, which prevents data that have been shared from being leaked to other parties who do not have permission to access them.
2. Preliminaries
The key technologies used in our system are introduced briefly in this section, including blockchain and chameleon hash.
2.1. Blockchain
Blockchain is a chained data structure that groups blocks of data together in chronological order, which is shared and maintained by all peers in a distributed system. Blocks in the blockchain are generated through a consensus protocol and appended to the blockchain using hash function. Whenever a new block is generated, it is broadcast to all peers in the system. Peers then connect the new block to the end of the blockchain through a hash function when they receive it. As shown in Figure 1, blocks are connected in such a way that each block stores the hash value of the previous block.
Figure 1.
The chain structure of the blockchain.
Since the blocks in the blockchain are connected in this way, if the data in the previous block are tampered with, the blockchain will be broken. If the tamperer wants the blocks to remain connected after tampering, he needs to recalculate the hash value of all subsequent blocks through the proof-of-work algorithm. This requires the tamperer to have more computing power than the sum of the other nodes in the system, which is almost impossible. Therefore, the data in the blockchain cannot be tampered with.
2.2. Chameleon Hash
In the chameleon hash function, the party that calculates the chameleon hash value holds both the chameleon public key and the chameleon private key (trapdoor) . When calculating the chameleon hash value h, he needs to use for the calculation. Unlike hash function , the chameleon hash calculator can use the trapdoor to compute the collision between the origin message m and new message , resulting in the new chameleon hash value calculated from equal to h. Therefore, we utilize the chameleon hash function to allow the data owner to restrict the power of other participants. In addition, compared to the existing chameleon hash functions [35,36], our proposed chameleon hash function based on elliptic curves has better performance in terms of time overhead. The parts of the chameleon hash (, , , , and ) are described as follows [37]:
- : On inputting a security parameter , the algorithm outputs a system parameter .
- : On inputting system parameter , the algorithm outputs a pair of private and public key .
- : On inputting a public key and a message m, the algorithm outputs chameleon randomness r and chameleon hash value h.
- : On inputting a private key , a chameleon hash value h, a chameleon randomness r, a message m and a new message , the algorithm outputs a new chameleon randomness .
- : On inputting a chameleon hash value h, a public key , a message m and a chameleon randomness r, the algorithm outputs 1 if is valid and otherwise outputs 0.
Three properties of secure chameleon hashes are given in [38]: correct, indistinguishable and collision resistance. However, in our system, it is not necessary to hide the computation of collisions, so indistinguishability is not applicable to our system.
Definition 1
(Secure Chameleon Hashes). If for all , m and , there is and for any , , and , the chameleon hash can be considered to satisfy correctness. If an efficient adversary without the chameleon private key cannot compute collisions for any message, the chameleon hash can be considered to satisfy collision resistance. If a chameleon hash satisfies both correctness and collision resistance, it can be considered secure.
3. Chameleon Hash with Revocable Trapdoor
Our goal is to design a secure medical data-sharing system in which the participants’ rights can be revoked. To achieve this, we consider using a chameleon hash function with a revocable trapdoor. We first propose a chameleon hash function based on the elliptic curve group to improve the efficiency of the operation, and then give the specific construction of the chameleon hash with revocable trapdoor.
3.1. Chameleon Hash Based on Elliptic Curve Group
A chameleon hash based on elliptic curve group consists of five algorithms (, , , , and ):
- : Let G be the generator point of the elliptic curve group E, and the smallest n that satisfies is a very large prime number, where O is the infinity point on the elliptic curve. The algorithm outputs the system parameter .
- : Choose an integer as the trapdoor and compute public key . Then , .
- : Randomly choose , where R is a random point on the elliptic curve group and . Compute and . Then the chameleon hash value .
- : Randomly choose . Compute and . Then .
- : Compute h = and . The algorithm outputs 1 if , and otherwise outputs 0.
In order to analyze the security of the above chameleon hashing algorithm, we use the following security theorem:
Theorem 1.
The proposed chameleon hash is secure and key-exposure-free.
From the Definition 1, we know that a chameleon hash is secure if it satisfies correctness and collision resistance. Key exposure free means that an adversary cannot calculate the private key even if he has a pair of collisions. It is clear that the chameleon hash is correct. The proofs of collision resistance and key exposure free can be referred to in [38,39], which are similar to ours.
3.2. Construction of CHRT
The general construction of the chameleon hash with revocable trapdoor (CHRT) is given in this section:
- : Run the algorithm and to obtain the public parameter and , and then return .
- : Run the algorithm to obtain the chameleon key pair , and then return .
- : Run the algorithm to obtain the chameleon key pair , and then return .
- : Run the algorithm to obtain hash/check string pair (, ). Then, run the algorithm to obtain hash/check string pair (, ). Finally, return .
- : Phrase r as and run the algorithm to obtain new check string . Then, return .
- : Phrase r as and run the algorithm to obtain a new hash value . Then, run the algorithm to obtain a new check string . Finally, return .
- : Choose a new chameleon public key using the algorithm . Then, run the algorithm to obtain and . Run the algorithm to obtain . Finally, return .
- : Phrase r as and run the algorithm to obtain hash value . Then run to obtain hash value . If , return 1; otherwise, return 0.
As shown above, CHRT consists of two chameleon hash functions which are represented by and , respectively, where uses the output of as its input. By using such a structure, everyone can compute the chameleon hash by the algorithm using and after executing algorithm and . In addition, both and holders can compute collisions by the algorithm and , but the holder of can revoke the ability of the holder of to compute collisions by the algorithm . We can use this property to design permission revocation algorithms in data sharing.
4. The Proposed System
The proposed system and the operations involved in the system are introduced in detail in this section.
4.1. The System Model
We give the architecture of our system in Figure 2, which illustrates the operations that can be performed by the participants in the system. Specifically, there are five types of participants in our system:
Figure 2.
Architecture of our system.
Hospital: Hospital collects patients’ medical data and submits their digests to the blockchain. After the patient is discharged, the hospital encrypts and submits the medical data to the application platform. When a visitor obtains permission from the patient, he needs to send the corresponding authorization information to the hospital. The hospital then sends the decryption key to him through a secure channel.
Patient: Medical data are generated during the patient’s medical treatment in the hospital. Additionally, the patient can provide the visitor with permission to access the data.
Visitor: Visitor applies to the patient for permission to access the patient’s medical data.
Blockchain: The blockchain stores transactions that include the identity of patients, digests of medical data and so on. Additionally, hospitals and patients will also submit verification transactions to the blockchain, which are used to verify the permission of the participant.
Application platform: The platform stores encrypted medical data sent by the hospital and the transactions published on the blockchain. When the platform receives a visitor’s application, it signs the data and sends the signature along with the encrypted data to the visitor. The research [40] suggests that the application platform can provide essential support for research and learning.
In addition, the steps in Figure 3 are as follows:
Figure 3.
Workflow diagram of our system.
- When a hospital receives a new patient, the hospital must register him to grant him control over his own medical data.
- During the visit of the patient, the hospital stores the generated medical data in the local database and submits the description and digest of the data to the blockchain.
- When the patient is discharged, the hospital sends the encrypted medical data, description and digest of the entire medical data to the application platform.
- The visitor applies for the patient to access his medical data. If the patient agrees to the visitor’s request, he needs to sends access parameters to the visitor.
- The visitor sends the access parameters to the hospital. If the access parameters is valid, the hospital sends the decryption key to the visitor.
- The platform signs the medical data and sends them along with the encrypted data to the visitor.
There are four operations in our medical data-sharing system: new patient registration, data storage, data sharing, and permission revocation. These operations are introduced in detail in the rest of this section, and the notations are described in Table 2.
Table 2.
Notations.
4.2. New Patient Registration
When a hospital admits a new patient, the hospital must complete the registration process, which involves the following steps:
- Hospital uses its chameleon public key and patient’s chameleon public key to calculate
- The hospital selects a random number d and computes a new randomness using its chameleon private key :
- The hospital obtains the chameleon public key of the application platform. Then, it calculates using its private key and then sends to the application platform to give it proxy signing authority, where is the digital signature algorithm.
- The hospital sets and computeswhere represents the kind of transaction.
- The hospital submits the following transaction to the blockchain:
4.3. Data Storage
As shown in Figure 4, medical data are generated in the system one by one. In the process of a patient’s medical treatment, his medical data cannot be generated at the same time but at different time or places. If the medical data record is uploaded to the blockchain when the patient is discharged, there is a risk of tampering. Therefore, we decide to submit the digest of the medical data to the blockchain when they are just generated.
Figure 4.
Generation of medical data.
The transactions submitted to the blockchain are divided into three categories—A, B, and C—and use to represent the hospital department that generates the corresponding medical data. Next, we will describe in detail how to deal with these three kinds of data separately in our algorithm.
When a patient seeks medical treatment, his first piece of medical data , which is generated by , is usually the admission information. needs to use the following algorithm to store this type of data:
- sets and computes and , where is the signature key of and is the identifier of a series of medical data generated by this medical treatment.
- computes , where A represents this kind of medical data, and contains brief information about the piece of medical data, such as the description and the time when the data were generated.
- submits to the blockchain, which will return the hash value of the transaction to .
- saves in the local database, where .
The second type of medical data is generated during the treatment by and denoted by . For this type of data, performs the following operations:
- obtains by in the hospital’s local database.
- sets and computes and .
- computes , where B represents this of medical data.
- submits the transaction to the blockchain and obtains the hash value of this transaction.
- saves in the local database, where .
The third type of medical data is generated when a patient is discharged from the hospital after completing the medical procedure. The last medical data is generated by as follows:
- obtains by in the hospital’s local database.
- sets and computes , and , where .
- generates a symmetry key and saves and in the local database.
- computes , where C represents the kind of transaction.
- submits the transaction to the blockchain.
- computes and sends to the application platform. In our article, we choose the AES algorithm for encrypting and decrypting medical data.
Through the above algorithm, we submit the digest of the patient’s medical data to the blockchain and the ciphertext of the complete medical data to the application platform. We also store the hash value of the previous transaction in the current transaction, allowing visitors to easily search for a complete transaction chain of the patient.
4.4. Data Sharing
In this operation, the visitor first needs to request the patient to access the medical data. If the patient agrees on the application, he performs the corresponding calculation and sends the result to the visitor. The visitor then applies to the hospital through the application platform for the data. The hospital verifies the eligibility of the visitor. After the verification is passed, the hospital sends the symmetric key to the visitor. After obtaining the encrypted data and signature from the application platform, the visitor only needs to perform the decryption operation to obtain the medical data and verify their validity.
4.4.1. Permission Acquisition
The visitor sends a request to the patient to access his data marked with . If the patient agrees to the request, he needs to calculate the following:
and sends to the visitor, where is the visitor’s chameleon public key.
After the visitor receives , he sends to the hospital for verification through a secure channel. Then the hospital calculates the following:
If , it proves that the visitor has the permission to obtain the data. The hospital then needs to send the symmetric key of the data requested by the visitor to him through a secure channel.
According to the collision-resistant characteristics of the chameleon hash, for a party who does not know the chameleon private key, even if he owns m, r and , he cannot calculate such that . If the visitor can pass the verification, then the hospital can fully trust that the visitor has obtained the permission.
4.4.2. Data Acquisition
The application platform finds by and run the algorithm to obtain . To be specific, it randomly selects and computes . Then the platform computes . Through the above calculation, the chameleon signature is calculated. Finally, the application platform sends and to the visitor. Visitor can decrypt the ciphertext to obtain the data by , and confirm the validity of the signature through the following steps.
Firstly, the visitor needs to confirm the validity of and . If , then is valid, where is the verification algorithm of the digital signature. If , it proves that is valid.
Next, the visitor needs to confirm whether is valid. He should obtain the verification transaction from the blockchain first, and then calculate
If , then it proves that is valid, which means that the application platform is eligible to sign.
In such a case, only the visitor can verify the validity of the signature. Next, we will describe how we use the chameleon hash function to protect the privacy of the patient.
If the visitor wants to disclose the message m to an unauthorized third party, they must send both and m to the party. If the visitor sends the signature generated by itself or only sends the medical data m to the third party, he will not be trusted by the third party.
However, even if the third party receives , he still cannot confirm whether the medical data m is the original data or has been tampered with by the visitor. This is because if the visitor changes m to , he can calculate a collision using its trapdoor , which keeps the chameleon hash value of equal to the original value . As a result, the chameleon signature remains unchanged. Since the third party knows that the visitor has this ability, they cannot determine whether the message has been tampered with, and therefore they can only choose not to trust the medical data. This operation ensures that medical data will not be leaked to any unauthorized parties.
4.5. Permission Revocation
The permission revocation algorithm is divided into two parts: the hospital revokes the application platform’s permission, and the patient revokes the hospital’s permission.
Firstly, the hospital gives the signing right to the application platform, allowing it to sign the medical data instead of the hospital. However, the application platform may not respond to legitimate signature requests or collude with a visitor who has obtained medical data to share the data with an unauthorized party.
Secondly, the hospital itself may exhibit malicious behaviors. It may not respond to the requests from verified visitors, or share medical data without consent, which could severely compromise patient privacy.
Therefore, the following two algorithms are designed to revoke the corresponding permissions.
4.5.1. Application Permission Revocation
The hospital randomly selects a number and a new chameleon public key . Then it computes and , and sets , where is used to transfer the permission to another application platform. Finally, the hospital submits the following transaction to the blockchain:
After the permission is revoked, if the visitor wants to verify whether is valid, he first gets the verification transaction from the blockchain and then calculates
It is obvious that , which proves that is invalid.
The public key can be selected randomly, or can be the chameleon public key of another application platform. After the revocation operation, even though the original application platform cannot pass the verification, the party corresponding to the new public key can pass the verification, which makes it possible to transfer permissions. The process of passing the verification with the new public key is as follows. The validator obtains the transaction from the blockchain, then calculates
Since there is , so is valid.
Through this algorithm, the hospital gains the ability to revoke the permission of the application platform, or transfer the permission to another application platform, which significantly improves the scalability of the system and provides more directions for its future application. Please note that in our article, scalability refers to the system’s ability to be further developed.
4.5.2. Hospital Permission Revocation
In order to revoke the hospital’s permission to manage the data, the patient needs to set and compute
Then, he submits the following transaction to the blockchain:
Since is calculated by the patient using the new public key , the hospital no longer has the ability to calculate the collision of , which means that the hospital loses the permission to manage the data.
5. Analysis of the System
5.1. The Security of CHRT
As mentioned in our contribution, we propose a chameleon hash with revocable trapdoor (CHRT) for distributing and validating permissions. Similar to [36], we give the definition about the security of CHRT as follows to analyze the security of CHRT.
Definition 2
(Secure CHRT). A secure chameleon hash with revocable trapdoor is secure if it satisfies correctness, collision resistance, revocability and permission revocation resistance.
Correctness: Correctness means that all the hash/check string pair correctly generated from , , or can pass the verification of . According to the [36], it is clear that CHRT is correct.
Collision resistance: An adversary cannot calculate the collision of a certain hash value without knowing the private key or .
Revocability: The owner of can make the collision calculated by the owner of unable to pass the verification through the algorithm and the way of publishing some revocation parameters.
Permission revocation resistance: The party that does not own cannot revoke the permission that the collision calculated by the owner can be verified.
Theorem 2.
If the underlying chameleon hash is secure, then CHRT is also secure.
Lemma 1.
If the chameleon hash that makes up CHRT is secure, then the CHRT is collision-resistant.
Proof.
In CHRT, after calculating the chameleon hash value h of a message m using the algorithm , if a modifier wants to change the message m to without changing h, he needs to execute the algorithms or . For the owner of , he needs to run algorithm to obtain a new randomness . For the owner of , he first needs to run algorithm to obtain a new hash value and then run algorithm to obtain a new randomness . If an adversary without and wants to break the collision resistance of , he needs to break the collision resistance of or . From this, it can be inferred that the probability of breaking the collision resistance of is , where and are the probability that can break the collision resistance of the chameleon hash that makes up CHRT. Since and are negligible, p is negligible. □
Lemma 2.
If the chameleon hash that makes up is secure, then the CHRT is revocability.
Proof.
In our algorithm, we regenerate the key pair and publish on the blockchain after revocation. Therefore, the probability that the revocability of our algorithm is broken is equal to the probability that the regenerated key pair is exactly the same as the original key pair , which is negligible. □
Lemma 3.
The CHRT is permission-revocation-resistant if the chameleon hash that makes up CHRT is secure.
Proof.
In CHRT, after calculating the chameleon hash value h of a message m using the algorithm , if the owner of wants to revoke the ability of the owner of to calculate collisions, he needs to execute the algorithm . Specifically, he first needs to execute the algorithm to obtain a new chameleon key pair and then run the algorithms and to obtain the check string . If an adversary without wants to break the permission revocation resistance of , he needs to break the collision resistance of . From this, it can be inferred that the probability of breaking the permission revocation resistance of is p, where p is the probability that can break the collision resistance of . According to Theorem 3, since the chameleon hash that makes up is secure, p is negligible. □
5.2. Data Access Control
Our system relies on cryptographic security to ensure access control. If visitor v wants to access medical data m of patient p, he needs to apply to the patient. If the patient agrees to the visitor’s request, he computes the hash value of , and then computes the collision of and using . Visitor v then sends to the hospital for verification. If is valid, the hospital sends the decryption key to visitor v. Since the visitor cannot forge without , it is impossible for v to obtain the data without authorization.
5.3. Data Security
The validity of the chameleon signature can only be verified by the recipient designated by the signer, and no one else can confirm whether the signature was generated by the signer or forged by the designated recipient. That is, the recipient cannot convince any third party by transferring the signer’s signature. Using the non-transferable chameleon signature can ensure that the data will not be leaked by the recipient after being shared, thus protecting the rights and interests of the data owner.
Theorem 3
(Non-Transferability). A chameleon signature is non-transferable if the private key of chameleon hash is not leaked.
Proof.
Suppose that an adversary can share the acquired data with a third party without permission. We prove that cannot tell whether the data leaked by was tampered with by .
The adversary sends medical data m and signature signed by application platform to . needs to compute to verify the validity of the and compute to verify whether is valid.
However, can also generate such a signature by following the steps below. First, obtains the original signature . Then he chooses a new message , and computes , where is ’s chameleon private key. then replaces in signature with . Finally, sends the replaced signature and the new message to .
When verifies the validity of , it can still pass the verification. The validity verification step of is , and if it is valid, continues to verify the validity of the signature through . Although the message changes from m to , since replaces with , it can still pass the verification. Since has already calculated the collision of m and , there is , that is, , which means that the signature can still be verified.
After receives sent by , since owns the chameleon private key, cannot tell whether are the original signature and message, or forged by . Therefore, can only think that the data are invalid. This ensures that shared medical data are not shared with unauthorized parties. □
6. Experiments
To examine the efficiency of our system, we performed experiments in several aspects and compared ours with existing systems [26,27,35,36]. We compare the time for computing chameleon hash, permission distribution, data encryption and decryption in our system and existing systems. The data storage overhead is also compared. Additionally, we measure the time required for permission revocation in our system. Since the computation of data in system [28] differs depending on the usage of the data, we do not compare our system with it. The experiments are based on the Ethereum blockchain and are conducted on a computer with 16 GB RAM and AMD Ryzen 5 4600H CPU@3.00 GHz running Win 10, and JPBC 2.0.0 library is used to generate the elliptic curve group. In addition, unlike machine learning, the focus of our system is on protecting the privacy of data. Therefore, as shown in Figure 5, we followed the process of patients seeking medical care and recorded the condition of the human body at different times and places multiple times, such as body temperature and blood pressure. The above information was packaged as medical data to conduct experiments. As our system does not involve statistics, we did not use the methods provided in [41].
Figure 5.
The sample of medical data.
6.1. Computational Costs of Chameleon Hash
The chameleon hash based on the elliptic curve group is proposed in Section 3.1, and its computational cost is analyzed in this section. We implemented the chameleon hashes as described in our scheme and the scheme of [35,36] on the same computer and software. As shown in Figure 6, we compare the computational cost of our scheme and schemes of [35,36]. In [35], a discrete logarithm was used to build a chameleon hash, while the latter proposes an RSA-based chameleon hash. We test the time token for computing the chameleon hash with different lengths of message m. It can be seen that under the condition that the length of message m exceeds 3000, the time cost in our scheme is the lowest. Therefore, our scheme has higher efficiency in computing the chameleon hash.
Figure 6.
Time consumption of computing chameleon hash [35,36].
6.2. Computational Costs of Permission Operation
The time taken for the data owner to approve a visitor’s request is tested in this section. As shown in Figure 7, the time overhead of permission acquisition in [26] is proportional to the number of attributes. However, in our system, the computational cost of permission acquisition is almost constant. This is because, unlike the system of [26] that uses the key generation algorithm in attribute-based encryption to distribute permissions, the permission acquisition in our system only needs to calculate a collision of the chameleon hash.
Figure 7.
Time consumption of permission acquisition [26].
Next, we test the time overhead of permission revocation in our system. The results are shown in Figure 8. Multiple experiments are conducted to measure the time consumption for different times of revoking permissions. It can be seen that the time spent on revocation increases with the number of revocations, and the time for a single revocation does not exceed 30 ms. Therefore, we think that this time overhead is acceptable in our system.
Figure 8.
Time consumption of permission revocation.
6.3. Computational Costs of Encryption and Decryption
We conduct experiments on the existing system of [26,27] and ours to compare the time overhead of data encryption and decryption. The time consumption of data encryption is shown in Figure 9a. It can be seen that the encryption time consumption of data in the system [26] is proportional to the number of attributes and the size of the data. In our system, the encryption time of the data is only related to the size of them. In the system of [26,27], the data are first encrypted using symmetric encryption, and then the symmetric encryption key is encrypted using attribute-based encryption and ElGamal encryption, respectively. In contrast, only symmetric encryption is required in our system, making it more efficient than the existing systems in terms of processing.
Figure 9.
Time consumption of encrypt and decrypt data [26,27].
Figure 9b shows the decryption time of the system of [26,27]. In the system of [26], the decryption is divided into two stages: symmetric decryption and attribute-based decryption. In the system of [27], symmetric decryption and ElGamal decryption are required. It can be seen from the figure that the decryption time of the system of [26] is proportional to the number of attributes and the size of the data, while it is only related to the size of data in the system of [27]. In our system, only symmetric decryption is required, resulting in higher efficiency compared to the existing systems.
6.4. Data Storage Overhead
If the original data are compressed and stored on the blockchain according to the algorithm of the system of [26], the storage overhead of the data-sharing system is greatly increased. Therefore, instead of storing the complete data, we decide to just store important information about them on the blockchain. Since the data need to be processed by a specific algorithm before being submitted to the blockchain, we first measure the size of the processed data in Cpds [26] and our system, respectively, when the size of the original data is different. Then we calculate the ratio of the size of the original data to the size of the processed data in Cpds [26] and our system, respectively, shown in Table 3. The larger the ratio, the smaller the data storage overhead. As shown in Table 3, the data storage overhead in our system is smaller than that of Cpds [26].
Table 3.
Data storage overhead.
7. Conclusions
Since the existing systems generally lack the ability to restrict the power of participants and prevent visitors from sharing obtained data to unauthorized parties, this article proposed a blockchain-based medical data-sharing system to tackle these problems. Firstly, medical data are encrypted by symmetric encryption and stored on application platforms to protect the privacy of the medical data. Secondly, patients have the ability to authorize visitors to access their medical data in this system by using a chameleon hash. Thirdly, the power of hospitals and the application platform is limited and can be revoked in the system by our proposed CHRT. Finally, our system employs a chameleon signature to prevent visitors from sharing the obtained data with unauthorized parties. The security analysis and experimental results show that our system is secure and has excellent performance compared to other systems. In future research, we will explore ways to more effectively restrict and transfer permissions.
Author Contributions
Conceptualization, M.H. and Y.R.; Software, M.H.; Validation, C.C.; Writing—original draft, M.H.; Writing—review & editing, Y.R.; Supervision, Y.R.; Funding acquisition, Y.R. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by Natural Science Foundation of Shanghai (20ZR1419700, 22ZR1481000), and Henan Key Laboratory of Network Cryptography Technology (LNCT2021-A13).
Acknowledgments
The authors would like to thank the anonymous reviewers for their helpful comments.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Engelhardt, M. Hitching Healthcare to the Chain: An Introduction to Blockchain Technology in the Healthcare Sector. Technol. Innov. Manag. Rev. 2017, 12, 22–34. [Google Scholar] [CrossRef]
- Pazaitis, A.; De Filippi, P.; Kostakis, V. Blockchain and Value Systems in the Sharing Economy: The Illustrative Case of Backfeed. Technol. Forecast. Soc. Chang. 2017, 12, 105–115. [Google Scholar] [CrossRef]
- Fiore, M.; Capodici, A.; Rucci, P.; Bianconi, A.; Longo, G.; Ricci, M.; Sanmarchi, F.; Golinelli, D. Blockchain for the Healthcare Supply Chain: A Systematic Literature Review. Appl. Sci. 2023, 13, 686. [Google Scholar] [CrossRef]
- Zhou, N.; Long, S.; Liu, H.; Liu, H. Structure—Attribute Social Network Graph Data Publishing Satisfying Differential Privacy. Symmetry 2022, 14, 2531. [Google Scholar] [CrossRef]
- Colomo-Palacios, R.; Sánchez-Gordón, M.; Arias-Aranda, D. A critical review on blockchain assessment initiatives: A technology evolution viewpoint. J. Softw. Evol. Process. 2020, 32, e2272. [Google Scholar] [CrossRef]
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Available online: http://bitcoin.org/bitcoin.pdf (accessed on 14 April 2021).
- Yong, Y.; Wang, F. Blockchain: The State of the Art and Future Trends. Acta Autom. Sin. 2016, 42, 481–494. [Google Scholar]
- Yeh, K.-H.; Yang, G.-Y.; Butpheng, C.; Lee, L.-F.; Liu, Y.-H. A Secure Interoperability Management Scheme for Cross-Blockchain Transactions. Symmetry 2022, 14, 2473. [Google Scholar] [CrossRef]
- Wang, H.; Wang, Q.; He, D. Blockchain-Based Private Provable Data Possession. IEEE Trans. Dependable Secur. Comput. 2021, 18, 2379–2389. [Google Scholar] [CrossRef]
- Ma, Z.; Ma, J.; Miao, Y.; Li, Y.; Deng, R.H. ShieldFL: Mitigating model poisoning attacks in privacy-preserving federated learning. IEEE Trans. Inf. Forensics Secur. 2022, 17, 1639–1654. [Google Scholar] [CrossRef]
- Ma, Z.; Ma, J.; Miao, Y.; Liu, X.; Choo, K.-K.R.; Deng, R. Pocket diagnosis: Secure federated learning against poisoning attack in the cloud. IEEE Trans. Serv. Comput. 2022, 15, 3429–3442. [Google Scholar] [CrossRef]
- Weng, J.; Weng, J.; Zhang, J.; Li, M.; Zhang, Y.; Luo, W. DeepChain: Auditable and privacy-preserving deep learning with blockchain-based incentive. IEEE Trans. Dependable Secur. Comput. 2021, 18, 2438–2455. [Google Scholar] [CrossRef]
- Swan, M. Blockchain: Blueprint for a New Economy; O’Reilly Media, Inc.: Newton, MA, USA, 2015. [Google Scholar]
- Khan, M.A.; Salah, K. IoT Security: Review, Blockchain Solutions, and Open Challenges. Future Gener. Comput. Syst. 2018, 82, 395–411. [Google Scholar] [CrossRef]
- Zhang, R.; Xue, R.; Liu, L. Security and Privacy for Healthcare Blockchains. IEEE Trans. Serv. Comput. 2022, 15, 3668–3686. [Google Scholar] [CrossRef]
- Saeed, H.; Malik, H.; Bashir, U.; Ahmad, A.; Riaz, S.; Ilyas, M.; Bukhari, W.A.; Khan, M.I.A. Blockchain technology in healthcare: A systematic review. PLoS ONE 2022, 17, e0266462. [Google Scholar] [CrossRef]
- Yin, H.L.; Fu, Y.; Li, C.L.; Weng, C.X.; Li, B.H.; Gu, J.; Lu, Y.S.; Huang, S.; Chen, Z.B. Experimental quantum secure network with digital signatures and encryption. Natl. Sci. Rev. 2022, 10, nwac228. [Google Scholar] [CrossRef]
- Bennett, C.H.; Brassard, G. Quantum cryptography: Public-key distribution and coin tossing. In Proceedings of the IEEE International Conference on Computers, Systems and Signal Processing, Bangalore, India, 9–12 December 1984; pp. 175–179. [Google Scholar]
- Lucamarini, M.; Yuan, Z.L.; Dynes, J.F. Overcoming the rate-distance limit of quantum key distribution without quantum repeaters. Nature 2018, 557, 400–403. [Google Scholar] [CrossRef]
- Xie, Y.M.; Lu, Y.S.; Weng, C.X.; Cao, X.Y.; Jia, Z.Y.; Bao, Y.; Wang, Y.; Fu, Y.; Yin, H.L.; Chen, Z.B. Breaking the Rate-Loss Bound of Quantum Key Distribution with Asynchronous Two-Photon Interference. PRX Quantum 3 2022, 3, 020315. [Google Scholar] [CrossRef]
- Gu, J.; Cao, X.Y.; Fu, Y.; He, Z.W.; Yin, Z.J.; Yin, H.L.; Chen, Z.B. Experimental measurement-device-independent type quantum key distribution with flawed and correlated sources. Sci. Bull. 2022, 67, 2167–2175. [Google Scholar] [CrossRef]
- Kassab, M.; DeFranco, J.; Malas, T. Exploring Research in Blockchain for Healthcare and a Roadmap for the Future. IEEE Trans. Emerg. Top. Comput. 2021, 9, 1835–1852. [Google Scholar] [CrossRef]
- Pan, H.; Zhang, Y.; Si, X.; Yao, Z.; Zhao, L. MDS2-C3PF: A Medical Data Sharing Scheme with Cloud-Chain Cooperation and Policy Fusion in IoT. Symmetry 2022, 14, 2479. [Google Scholar] [CrossRef]
- Rahulamathavan, Y.; Phan, R.; Rajarajan, M. Privacy-Preserving Blockchain Based IoT Ecosystem using Attribute-based Encryption. In Proceedings of the 2017 IEEE International Conference on Advanced Networks and Telecommunications Systems, Bhubaneswar, India, 17–20 December 2017; pp. 1–6. [Google Scholar]
- Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
- Qi, S.; Lu, Y.; Zheng, Y.; Li, Y.; Chen, X. Cpds: Enabling Compressed and Private Data Sharing for Industrial Internet of Things over Blockchain. IEEE Trans. Ind. Inform. 2021, 17, 2376–2387. [Google Scholar] [CrossRef]
- Du, M.; Chen, Q.; Chen, J. An Optimized Consortium Blockchain for Medical Information Sharing. IEEE Trans. Eng. Manag. 2020, 68, 1677–1689. [Google Scholar] [CrossRef]
- Wang, Y.; Su, Z.; Zhang, N. SPDS: A Secure and Auditable Private Data Sharing Scheme for Smart Grid Based on Blockchain and Smart Contract. IEEE Trans. Ind. Inform. 2020, 17, 7688–7699. [Google Scholar] [CrossRef]
- Zhang, N.; Li, J.; Lou, W.; Hou, Y.T. PrivacyGuard: Enforcing Private Data Usage with Blockchain and Attested Execution. In International Workshop on Data Privacy Management; Springer: Berlin, Germany, 2018; pp. 345–353. [Google Scholar]
- Nguyen, D.; Pathirana, P.; Ding, M. BEdgeHealth: A Decentralized Architecture for Edge-Based IoMT Networks Using Blockchain. IEEE Internet Things J. 2021, 8, 11743–11757. [Google Scholar] [CrossRef]
- Wu, G.; Wang, S.; Ning, Z.; Zhu, B. Privacy-Preserved Electronic Medical Record Exchanging and Sharing: A Blockchain-Based Smart Healthcare System. IEEE J. Biomed. Health Inform. 2022, 26, 1917–1927. [Google Scholar] [CrossRef]
- Yu, C.; Zhan, Y.; Sohail, M. SDSM: Secure Data Sharing for Multilevel Partnerships in IoT Based Supply Chain. Symmetry 2022, 14, 2656. [Google Scholar] [CrossRef]
- Costan, V.; Devadas, S. Intel SGX Explained. Available online: https://eprint.iacr.org/2016/086.pdf (accessed on 17 September 2021).
- Ren, Y.; Zhang, X.; Gu, D.; Feng, G. Efficient outsourced extraction of histogram features over encrypted images in cloud. Sci. China Inf. Sci. 2021, 64, 139105. [Google Scholar] [CrossRef]
- Krawczyk, H.; Rabin, T. Chameleon Hashing and Signatures. In Proceedings of the 7th Annual Network and Distributed System Security Symposium, San Diego, CA, USA, 3–4 February 2000; pp. 143–154. [Google Scholar]
- Jia, Y.; Sun, S.; Zhang, Y. Redactable Blockchain Supporting Supervision and Self-Management. In Proceedings of the ASIA CCS, Virtual Event, Hong Kong, China, 7–11 June 2021; pp. 844–858. [Google Scholar]
- Chen, X.; Zhang, F.; Kim, K. Chameleon Hashing without Key Exposure. In Proceedings of the International Conference on Information Security, Palo Alto, CA, USA, 27–29 September 2004; pp. 87–98. [Google Scholar]
- Camenisch, J.; Derler, D.; Krenn, S. Chameleon Hashes with Ephemeral Trapdoors—And Applications to Invisible Sanitizable Signatures. Public Key Cryptogr. 2017, 20, 152–182. [Google Scholar]
- Ateniese, G.; de Medeiros, B. On the Key Exposure Problem in Chameleon Hashes. In Proceedings of the International Conference on Security in Communication Networks, Amalfi, Italy, 8–10 September 2004; pp. 165–179. [Google Scholar]
- Cordoş, A.A.; Bolboacă, S.D.; Prato, R.; Fortunato, F. iGeneration’s social media usage in retrieving information related to healthcare education: A web-based survey among Italian and Romanian undergraduate medical students. Ann. Ist. Super. Sanita 2019, 55, 34–40. [Google Scholar]
- Jäntschi, L. Binomial Distributed Data Confidence Interval Calculation: Formulas, Algorithms and Examples. Symmetry 2022, 14, 1104. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 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/).