Movatterモバイル変換


[0]ホーム

URL:


Next Article in Journal
Decoherence Effects in a Three-Level System under Gaussian Process
Next Article in Special Issue
An Energy-Efficient Method for Recurrent Neural Network Inference in Edge Cloud Computing
Previous Article in Journal
Effects of the Numerical Values of the Parameters in the Gielis Equation on Its Geometries
Previous Article in Special Issue
Bidirectional Statistical Feature Extraction Based on Time Window for Tor Flow Classification
 
 
Search for Articles:
Title / Keyword
Author / Affiliation / Email
Journal
Article Type
 
 
Section
Special Issue
Volume
Issue
Number
Page
 
Logical OperatorOperator
Search Text
Search Type
 
add_circle_outline
remove_circle_outline
 
 
Journals
Symmetry
Volume 14
Issue 12
10.3390/sym14122479
Font Type:
ArialGeorgiaVerdana
Font Size:
AaAaAa
Line Spacing:
Column Width:
Background:
Article

MDS2-C3PF: A Medical Data Sharing Scheme with Cloud-Chain Cooperation and Policy Fusion in IoT

1
Research Institute of Advanced Information Technology, Zhongyuan University of Technology, Zhengzhou 450007, China
2
Henan International Joint Laboratory of Blockchain and Data Sharing, Zhengzhou 450007, China
3
Henan Key Laboratory of Network Cryptography Technology, Zhengzhou 450007, China
4
Department of Computer Science and Engineer, Shanghai Jiao Tong University, Shanghai 200240, China
5
Department of Computing and Mathematics, Faculty of Philosophy, Science and Letters at Ribeirao Preto (FFCLRP) Bandeirantes, University of Sao Paulo, 3900, Ribeirao Preto 14040-901, SP, Brazil
*
Authors to whom correspondence should be addressed.
Symmetry2022,14(12), 2479;https://doi.org/10.3390/sym14122479
Submission received: 24 October 2022 /Revised: 13 November 2022 /Accepted: 17 November 2022 /Published: 23 November 2022

Abstract

:
The Internet of Things (IoT) and cloud technologies have significantly facilitated healthcare. In such a context, medical data are collected by the terminals from the patients, manipulated, and stored on the cloud by hospitals (doctors). This brings asymmetry problems in medical data access control, processing, and storage between doctors and patients, which results in medical data sharing face many challenges such as privacy leakage and malicious feedback from cloud servers on queries. To solve these asymmetry problems, this paper proposes a medical data sharing scheme with cloud-chain cooperation and policy fusion in the IoT. Regarding asymmetrical access control rights, a conflict resolution and fusion algorithm that enables co-authorization of medical data by the doctor and the patient is introduced. To balance the symmetry of medical data storage and processing, a cloud-chain cooperation ciphertext retrieval method is proposed by means of two-stage joint searching from cloud servers and the blockchain, which can not only detect malicious medical data feedback from cloud servers, but also improve the data search efficiency. The security analysis showed that this scheme satisfies the confidentiality and verifiability of the retrieved information, and the feasibility of the proposed scheme was demonstrated through experiments.

    1. Introduction

    The massive amount of data generated by the Internet of Medical Things (IoMT) serves as an important vehicle for recording patient information for treatment and needs to be shared to advance medical information [1,2]. Because of the limited computational power and storage capacity of the terminal, medical data based on the IoMT are generally stored and processed on the cloud, where the data access and usage rights are always in the hands of medical institutions. This brings asymmetries in medical data access control, processing, and storage between doctors and patients. Specifically, patients have little control over their records, which results in privacy disclosure. Furthermore, the unbalanced structure of the terminal collection, cloud storage, and processing may cause malicious tampering or false feedback on queries from the cloud server. These problems due to asymmetry seriously impede medical data sharing.
    Current research on IoMT data sharing mainly focuses on the access control of medical data and secure retrieval methods. The common method is to use Attribute-Based Encryption (ABE) [3], especially Ciphertext Policy Attribute-Based Encryption (CP-ABE) [4], access control to encrypt medical data and store them on the cloud server. Most studies based on CP-ABE to solve medical data sharing consider the access control of medical data by hospitals or patients [5,6,7]. However, medical data come from both patients and doctors. Thus, their ownership should be shared between hospitals and patients. Therefore, it is worthwhile to further study the medical data access control method with the co-authorization of doctors and patients.
    Furthermore, the ciphertext retrieval of medical data is a hot research topic that addresses the security risks of the cloud. While Searchable Encryption (SE) [8] can prevent the leakage and tampering of medical records by semi-trusted cloud servers, there still remains the risk of the cloud server’s malicious feedback errors or false medical data [9,10]. Since these solutions do not break the centralized imbalanced structure, it is difficult to fundamentally solve the secure storage and processing problems of medical data sharing. Blockchain is open, transparent, tamperproof, and traceable, which can provide a solution to this problem [11]. The existing methods mainly use blockchain to record the query information [12,13,14] or ensure the correctness of the retrieved results by performing ciphertext medical data searching on the blockchain [15]. However, due to blockchain’s special structure and storage limitations, the blockchain ciphertext retrieval efficiency is much lower than cloud services. Although blockchain breaks the asymmetric structure of cloud-based medical data’s centralized storage and processing, it raises efficiency problems and other issues.
    To solve the above two asymmetric problems that impede medical data sharing, a Medical Data Sharing Scheme with Cloud-Chain Cooperation and Policy Fusion in the IoT (MDS2C3PF) is proposed. The scheme makes use of cloud-chain cooperation to effectively balance the medical data sharing access control between doctors and patients and resist some of the security risks such as malicious feedback and privacy disclosure caused by the centralized asymmetric structure of cloud data processing.
    The main contributions of this article are as follows:
    • A multi-stage system model is proposed. The access control right of medical data between doctors and patients becomes symmetric through their co-authorization. A symmetric cloud-chain cooperation storage and retrieval method is designed to detect malicious feedback from the cloud and to improve the medical data retrieval efficiency.
    • An attribute-based access policy fusion method is proposed to develop an access control policy created by both doctors and patients. When the medical data access control policies made by doctors and patients conflict, the balance score matrix is calculated to solve this by using the mutual influence weight and intention score of doctors and patients.
    • Considering both medical records retrieval efficiency and detecting malicious feedback from cloud servers, a cloud-chain cooperation retrieval method is proposed. It can improve medical records retrieval efficiency by designing the off-chain search structure and performing an initial search on the cloud server with a secondary search on the blockchain.
    The rest of this article is arranged as follows. Related work is first discussed inSection 2, followed bySection 3, which presents the background knowledge.Section 4 introduces theMDS2C3PF model and the security model. The construction and details of the scheme are described inSection 5. Then,Section 6 discusses the security analysis. InSection 7, the experimental analysis of the scheme is carried out. Finally, the whole article is concluded.

    2. Related Work

    In order to ensure the security of medical data, many works encrypt medical records and store the ciphertext on the cloud. Many IoT-based medical data sharing researchers use ABE and SE to protect data security and privacy in cloud searching and access. In order to overcome the problems caused by the centralized nature of the cloud, recent studies have tried to use blockchain to make an improvement.
    Since data sharing requires fine-grained access control methods, Sahai et al. [3] first presented an ABE scheme enabling one-to-many encryption. To improve the performance of ABE, Bethencourt et al. [4] provided a CP-ABE method, which was proven secure in the generic group model. Based on these fundamental works, the state-of-the-art studies on secure data sharing on the cloud, especially medical data sharing, often make use of CP-ABE. Han et al. [16] proposed an attribute-revocable CP-ABE scheme based on privacy protection, which can share data securely by the cloud. In IoT research, Li et al. [17] presented a white-box traceable CP-ABE scheme with accountability in the IoT to address the user key abuse problem. Hu et al. [18] proposed a strategy-hidden sharing method in the IoT to outsource data to the cloud, which can reduce the cost of the user and improve computational efficiency. K. et al. [19] introduced a lightweight key management mechanism based on the IoT to solve the key escrow problem. At the same time, the development of the cloud and the IoT have greatly promoted technological innovation in the medical scene and promoted the secure sharing of medical data. In particular, in order to prevent the disclosure of patients’ privacy, many existing ABE access control studies focus on how to strengthen patients’ control over medical data. Hwang et al. [20] believed that patients have ownership of medical data and used CP-ABE to encrypt medical data to protect the privacy of patient data. Liu et al. [21] proposed an approach based on consortium blockchain to make access control policies by patients. Wang et al. [22] provided a fast, secure patient-controlled access scheme for medical data, which can reduce the storage capacity on the mobile terminal. In fact, the medical data are produced by both the patient and the doctor. Therefore, access to medical data should be decided jointly by doctors and patients, but there are not many studies on co-authorization.
    Searchable encryption based on ABE is crucial to achieving secure data sharing. Song et al. [8] first introduced the scheme of searchable encryption and solved the problem of ciphertext retrieval. Since this pioneering work, many security research workshave been proposed to improve the efficiency of ciphertext search and improve the search function. Li et al. [23] provided a secure and efficient dynamic searchable encryption scheme on medical cloud data, improving the ciphertext keyword search efficiency. Chen et al. [24] realized an efficient fuzzy search of keywords by encrypting the fuzzy association scores between data and query predicates. Chaudhari et al. [25] proposed a searchable encryption algorithm based on a single keyword that allows a user to access a subset of the documents. Tahir et al. [26] exploited the properties of the modular inverse to generate a probabilistic trapdoor that facilitates the search over the secure inverted index table. Sun et al. [27] proposed an attribute-based searchable encryption scheme that supports multiple data owners and data requesters. Zheng et al. [28] proposed a verifiable-attribute-based keyword search scheme that could prevent false feedback from the cloud. Yu et al. [29] retrieved the required ciphertext medical data in the IoT, reducing the computational load of outsourcing decryption and improving efficiency.
    However, semi-trusted cloud servers are vulnerable to providing false feedback and the malicious forging of medical data. Blockchain’s immutable and decentralized characteristics provide new research ideas and solutions. Liu et al. [30] implemented an electronic medical record sharing scheme based on policy hiding, which uses blockchain to store electronic medical record ciphertext and ensure the correctness of data retrieval. Cao et al. [31] presented a cloud-assisted secure medical system that uses blockchain to record the data operation process and ensure the traceability of data. Zhang et al. [32] provided a decentralized personal health record sharing scheme, using blockchain for the keyword search to ensure the correctness of the queried results. Krishna et al. [33] used ciphertext indexing to search data and utilized blockchain to verify every transaction to make medical data transmission more reliable. Zhu et al. [34] proposed a shared electronic medical data system, which used the automatic execution of chain codes to ensure data access security. In addition, there are some literature works on smart contracts in blockchain, which realize secure sharing and retrieval. Saini et al. [35] designed an access control framework based on a smart contract to prevent a single point of failure and ensure data sharing among different entities. Chen et al. [36] ensured the security of medical data through smart authorization contracts. However, the retrieval efficiency of the above research schemes still needs to be improved.
    In a word, it can be seen that the existing works mainly focus on the security data access and retrieval in the IoT and cloud environments, while the essential problem of asymmetry in medical data sharing is not discussed. Unlike the above methods,MDS2C3PF solves the asymmetric access control right of the medical data between doctors and patients and the asymmetric collection and processing capability between the IoT and the cloud. Meanwhile, our scheme can detect false feedback from the cloud server and improve the sharing data retrieval efficiency.

    3. Preliminaries

    This section sorts out the preliminary knowledge, including the bilinear maps and access structure.

    3.1. Bilinear Maps

    LetG1,G2 be a multiplicative cyclic group of prime orderp [37]; the generating element ofG1 isg. The bilinear mape:G1×G1G2 has the following characteristics:
    • Bilinear:u,vG1 anda,bZp* withe(ua,vb)=e(u,v)ab;
    • Non-degeneracy:e(g,g)1;
    • Computability:u,vG1 withe(u,v) computable.

    3.2. Access Structure

    LetT be an access control structure tree whose root node isr [38]. Each non-leaf node in the tree is a threshold, and the leaf nodes are attribute values. Let the number of child nodes of nodex benumx andkx be a threshold(0kxnumx). If and only if at leastkx child nodes meet the condition, the parent node can obtain the correct result. Whenkx<numx, the current threshold gate is OR; whenkx=numx, the current threshold gate is AND.
    LetTx be a subtree of treeT, wherex is a child node ofT:
    • If there exists an attribute setS satisfying the access control treeT, thenTr(S)=1;
    • Ifx is a leaf node, if and only if the attribute setS contains the attributeatt(x)S of the current leaf node, thenTx(S)=1;
    • Ifx is a non-leaf node, for a child nodex of nodex, computeTx(S); if and only if at leastkx children returnTx(S)=1, it can be denoted asTx(S)=1.

    4. System and Security Model

    This section introduces the system model, algorithm definition, and security model.

    4.1. System Model

    Figure 1 shows the system model, which involves the following roles:
    • Trust Center (TC). The TC generates key pairs for all legitimate users and executes the policy fusion algorithm.
    • Blockchain (BC). The BC is a consortium blockchain that consists of multiple medical institutions to store index information.
    • Doctor (DOC). The DOC is the medical data owner responsible for encrypting medical data and uploading the encrypted data to the cloud.
    • Cloud Server (CS). The CS is responsible for storing the ciphertext of medical data and sending the file storage address to the DOC.
    • Patient (PA). The PA is the owner of the medical data, responsible for developing access policies for the medical data.
    • Data Requester (DR). The DR generates a search trapdoor to obtain the corresponding type of data from the cloud and decrypts the medical data.
    Table 1 shows the meanings of the symbols in our scheme.

    4.2. Scheme Definition

    The proposed scheme consists of the following polynomial-time algorithms:
    • ParaSetλpp,pk,mk: Inputs security parameterλ and outputs public parameterpp and master keymk.
    • KeyGenS,mk,ppsk: The TC inputs attribute setS, master keymk, and public parameterpp. Then, the TC outputs the attribute keysk for all legitimate users.
    • StrategyFus(A,B)T: The TC inputs the access control policy treeA of the PA and the treeB of the DOC. The TC fusesA andB and expresses the result asT.
    • Enc(k,M)CM: The DOC inputs the encryption keyk and the medical data and outputs the ciphertextCM of the medical data.
    • IndexGenW,T,v1,k,mk,pk,pp,v2I,C*: The DOC inputs the keywordW, access control policy treeT, system public keypk, master keymk, and public parameterpp. Then, the DOC outputs indexI and partial index ciphertextC*.
    • TrapGenW,mk,skTrap: The DR runs the algorithm to generate trapdoors based on the keywordW that needs to be queried and then uploads the trapdoors to the BC.
    • CloudSearch(Dep,Trap,sk)DATA*: The CS inputs medical typeDep, trapdoorTrap, and secret keysk. Then, the CS outputs the datasetDATA*.
    • BlockSearchTrap,DATA*,ITx: The BC executes the algorithm and performs the blockchain keyword search operation based on the trapdoorTrap and the initial filtered datasetDATA* and outputs the transactionsTx.
    • VerifyTxl: The DR obtains the hash valueTx, verifies whether the ciphertext is modified, and outputsl=1 if the hash value is consistent; otherwise,l=0.
    • Decrypt(l,sk,I)k: If the medical data verification is passed, the DR will decrypt the keyk of the medical data according to its own attribute private keysk andI.

    4.3. Security Model

    MDS2C3PF performs keyword retrieval on the blockchain to improve searching security and address the issue of false feedback from the cloud servers. Two security models are defined: the Indistinguishability of Ciphertext under the Selectively Chosen Keyword Attack (INDC-SCKA) and the Keyword Secrecy under the Selectively Chosen Secret Key Attack (KS-SCSKA).

    4.3.1. The Definition of INDC-SCKA

    Theorem 1. 
    To prove the INDC-SCKA ofMDS2C3PF, in this paper, let attackerA1 and challengerB1 play a secure gameGame1.MDS2C3PF is said to be indistinguishable with keywords if the probability of attackerA1 winning the game is negligible in polynomial time.
    Initialization:B1 inputs the security parameterλ and runsParaSetλ. Finally, the initialized algorithm returns the system parameterpp and the master keymk.
    Phase 1:A1 initiates a trapdoor query on the keyword setW1,,Wt.
    -TrapGen(W,mk,sk):B1 runs the trapdoor generation algorithmTrap(Wm,mk,sk) to return the trapdoorTWm and then returns it toA1.
    Challenge:A1 sends the keyword set(W0,W1) toB1, whereW0,W1 is of equal length.B1 selects a bitc{0,1}.B1 generatesIc=IndexGenWc,T,v1,k,mk,pk,pp,v2 and sendsIc toA1.
    Phase 2:A1 issues a trapdoor query for the keyword setWm+1,,Wτ.
    -Trap(WiW0,W1,mk,sk):B1 runsTrap(Wi,mk,sk) to obtain the trapdoorTWi, which is sent toA1.
    Guess:A1 outputs guessc{0,1}. Ifc=c,A1 wins the game.
    The probability of success ofA1 attacking the model isAdvA1(1k)=|Pr[c=c]12|.

    4.3.2. The Definition of KS-SCSKA

    Theorem 2. 
    To prove the KS-SCSKA, a secure gameGame2 is defined between attackerA1 and challengerB1. If the probability ofA1 completing the keyword secrecy game in polynomial time is negligible, thenMDS2C3PF can achieve the keyword security.
    Initialization:B1 inputs the security parameterλ and runsParaSetλ. Finally, the initialized algorithm returns the system parameterpp and the master keymk.
    Phase 1:A1 interrogates the following algorithm in polynomial time.
    -KeyGenS,mk,pp:B1 first gives the keysk toA1 and adds the key set tolKeyGen.
    -TrapGen(W,mk,sk): Givensk andW,B1 executes the trapdoor generation algorithm to generate the trapdoor.B1 sends the result toA1.
    Challenge:A1 selects the challenge keysk and gives it toB1.B1 selects the key setW from the information space and executes theIndexGen algorithm, and then,B1 gives the index toA1.
    Guess: AfterA1 obtains a different set of keywordsτ, the adversary outputsW. IfW=W, thenA1 wins.
    MDS2C3PF can achieve keyword security if the probability ofA1 winning the game is no more than for(|W|τ)1+ϵ.τ denotes the number of keyword sets;ϵ is the negligible probability in the security parameterk;W is the keyword space.

    5. Scheme Construction

    Our scheme includes five stages, shown inFigure 2. In the first stage, the system initializes the parameters. Then, the TC sends private keys to the users. In order to form one consistent access policy, in Stage 2, a policy fusion algorithm is presented to merge and resolve conflicts between the access control policies proposed by the patient and the doctor, respectively. In the data generation and storage stage, a doctor uses the fused policy to encrypt and upload the medical data. The original ciphertexts are stored on the cloud, and the index information is stored on the blockchain. The following two stages leverage cloud-chain cooperation mapping and searching to implement controlled secure access to the medical data. The following subsections will thoroughly discuss the access control policy fusion algorithm and the detailed working process of the five stages.

    5.1. Access Control Policy Fusion Algorithm

    The first step of our scheme is to create one authorization policy that considers User A and B’s access control over medical data. UserA generates policy setStraA, which containsn policies, whereai is the policy ofStraA. Similarly, UserB produces a policy setStraB that containsm policies, wherebj is a policy ofStraB. The TC takes charge of generating a co-authorization policy setStraT by comparingStraA andStraB. Firstly, the TC puts the same policies from settingStraA andStraB into the new policy setStraT. Then, different and non-conflicting policies fromStraA andStraB are also added toStraT. The most critical work is to call the policy conflict resolution algorithm when there are conflicting policies inStraA andStraB.
    Figure 3 shows the flowchart of the algorithm.

    5.1.1. Policy Conflict Resolution Algorithm

    The strategy conflict resolution is an improved algorithm presented by Tan et al. [28]. They indicated a peer-aware collaborative access control based on identity, which achieves policy equilibrium through peer influence. Differently, our method achieves attribute-based policy equilibrium, referring to players’ influence and using the strategy to update the rules. In this paper, the intention score is defined as the user’s willingness intensity score for policyai. The impact score is the intensity of user interaction. The balance score is the user’s final willingness value for a policy after being influenced by others:
    • Initialize the matrix:
      Let it containn users (resource owners) andf conflicting attributes, then initialize useri’s intention score for conflicting attributeak asxi(ak), wherei(1,,n),k(1,,f). The value range of the intention score is 0 to 5. Intention score matrixX is denoted as   
      X=x1(a1)x1(af)xn(a1)xn(af)=I1If
      Suppose the initialized useri is influenced by userj’s influence scorewij, taking values in the range of 0–1. Impact score matrixY is denoted as
      Y=w11w1nwn1wnn
    • Generate the balance score matrix:
      Let the sentiment gain of useriU for an attributeak be
      payi=xi(ak)pi(ak)12(pi(ak))2+jiwijpi(ak)xj(ak)
      wherexi(ak) is the initial willingness value set by the user andpi(ak) is the final willingness value influenced by other users.
      dpayidpi(ak)=xi(ak)pi(ak)+jiwijxj(ak)
      Letdpayidpi(ak)=0, which gives
      pi(ak)=xi(ak)+jiwijxj(ak)
      That is, whenpi(ak)=xi(ak)+jiwijxj(ak), the user has the highest gain. From Equation (5), the final user’s intention is the sum of his/her own and the player’s influence score. If there is no player influence, thenpi(ak)=xi(ak). The final willingness value of each player is calculated by computing the user’s initial settings.
      Therefore, the column vectorP of the balance score matrixpk is denoted as
      pk=YIk=w11w1nwn1wnnx1(ak)xn(ak)=w11x1(ak)++w1nxn(ak)wn1x1(ak)++wnnxn(ak)
      Letpi(ak)=wi1xi(ak)++winxi(ak), and thus, P is denoted as
      P=p1pf=q1qn=p1(a1)p1(af)pn(a1)pn(af)
    • Judge rule:
      This rule determines whether the policy is successfully merged. Firstly, it compares the size of each value ofqi in the row vector, selects the attributeak corresponding to the largest value, and stores it in the attribute selection setγ. Next, the rule judges whether the attributeak in the setγ is the same attribute and outputs the result.
    • Modify the intention matrix:
      Calculate the probability that userj is referenced by other users.
      Proijak=1/1+epiakpjak/wij
      whereProijak denotes the probability thati imitatesj’s strategy under attributeak andwij denotes the fraction ofi influenced byjpi(ak) andpj(ak) denote the equilibrium fraction of usersi andj choosing attributeak. For each userj, the average probability:
      Pjak=i=1,ijnPijn1
      where the userj with the highest probability is selected and all other users modify the intention score referring to the policy ofj. The balance matrixP is recalculated to determine whether the users’ choices are consistent.

    5.1.2. Policy Conflict Resolution Algorithm Process

    Compared with the mechanism proposed by Tan et al. [39], the policy conflict resolution algorithm can achieve finer-grained conflict resolution and is suitable for co-authorization scenarios such as the IoMT. Algorithm 1 shows the detailed policy fusion algorithm.
    Algorithm 1Policy conflict resolution algorithm.
    Input:X,Y,S*,γ=[]
    Output:γ[i]
    1.while S*null do
    2.       S*=S*{ak}
    3.       computepi=YIk
    4.end while
    5.while truedo
    6.       letP=p1pf
    7.       result=JudgeRule(P)
    8.       if result=Y do
    9.             break
    10.       end if
    11.       if result=N do
    12.             for i=1;i<f;i++ do
    13.                   user=getMaxUser(Y,P,f)
    14.                   for j=1;j<n;j++ do
    15.                         if juser do
    16.                               updatexj(af) according toxuser(af)
    17.                         end if
    18.                   end for
    19.             end for
    20.             Computepi=YIk
    21.       end if
    22.end while
    23. returnγ[i]
    Firstly, the TC initializes intention matrixX=[I1,,If], impact matrixY, and conflicting attribute setS*. It initializes attribute selection setγ, which here is represented as an arrayγ=[]. The TC calculates the balanced matrixP for the conflicting attributes and checks if all users select the same conflicting attribute. If yes, the algorithm ends. Otherwise, the TC calculates the probability of the user being imitated and selects the user with the highest probability. Other users follow the highest-probability user to modify the intention matrix. After that, the balanced matrixP is recalculated.Figure 4 shows the specific process of the algorithm.

    5.2. Details of Five Stages

    The project consists of five stages: system initialization, access control policy fusion, data generation and storage, cloud-chain cooperation retrieval, and data verification and decryption.
    Stage 1. System initialization:
    The TC initializes the parameter and generates the private key for the PA, DOC, and DR, respectively.
    • System parameter setting:
      Given security parameterλ and mapping parameter(G1,G2,q,g,e), the TC executesParaSetλ to generate parameterpp, system public keypk, and master keymk. Then, it selects two hash functionsH1{0,1}*G1,H2{0,1}*Zq. Besides, the TC choosesα,β,γZq and computest1=gα,t2=gβ,t3=gγ. Finally, the TC generates public parameterpp=(G1,G2,q,g,e,H1,H2), system public keypk=(t1,t2,t3), and master keymk=(α,β,γ).
    • Key generation:
      The TC executesKeyGenS,mk,pp and generates keysk for the user who owns attribute setS. Firstly, the TC selects randomrZq and choosesrsZq for every attributesS. Then, it computesD1=g(αγr)/β,D2=g(α+r)/β and calculatesAs=grH1(s)rs,Bs=grs. Finally, it generates the user’s attribute keysk=(D1,D2,{As,Bs}sS).
    Stage 2. Access control policy fusion:
    In this stage, the TC is responsible for executing the access policy fusion algorithm to create a new policy setstraT. Here, an example is given to show how the conflict of a policy is fused.
    For the conflicting attributesa1 anda2, the TC obtains the intention scores of the conflicting attributes of the DOC and PA, as shown inTable 2. Besides, the TC obtains the impact scores of the attributes, as expressed inTable 3. Then, the balance score matrixP=p1p2 is calculated, wherep1=Yx1a1x2a1T,p2=Yx1a2x2a2T, as shown inTable 4.
    The current user’s choice is the highest score in the row vector ofP. If the attributes corresponding to the highest scores of the DOC and PA are the same, this attribute is the final result. If there is no agreement on the attribute, the TC calculates the probabilityP12a1=1/(1+ep1a1p2a1/w12) of the PA imitating the DOC’s strategy under attributea1. Similarly, the TC calculates the probabilityP21a1 of the PA being imitated. Under attributea1, the average probability of the PA being imitated isP1a1=P21a1, and the average probability of the DOC being imitated isP2a1=P12a1. IfP1a1>P2a1, the DOC modifies the intention score to attributea1 according to the PA. Furthermore, the TC calculatesP1a2 andP2a2. IfP1a2<P2a2, the PA modified the intention score to attributea2 according to the DOC. Finally, the balance score matrixP is recalculated, and the algorithm ends when the highest score of row vectors inP is the same attribute.
    Stage 3. Data generation and storage:
    The DOC first encrypts the medical data with a symmetric encryption algorithm to obtain the ciphertext of the medical data and sends it to the CS for storage. Next, he/she encrypts the keyword set with policy treeT to generate the keyword index. Finally, he/she uploads the index information to the blockchain and stores the transaction information table on the cloud:
    • Encryption of medical data:
      The DOC inputs the medical dataM and randomly selects a symmetric keyk from the key space, then outputsCM. The DOC storesCM to the CS and obtains the storage addressadd. Moreover, the DOC performs a hash operation for ciphertextCM to obtain the resulth1=h(CM), which ensures that the medical data on the cloud are neither tampered with nor forged.
    • Index generation:
      The DOC selects randomv1,v2Zq and generates an access control policy tree T withv2 as the secret value. Then, the DOC encrypts the keyword setW. The specific algorithm is shown below:
      (1) The DOC computesC0=t1v2,C1=t2v2,C2=t3v1, andK=ke(g,g)αv2.
      (2) For each keywordm{1,,t}, the DOC computes{ρm=t1v1H2(ωm)}m{1,,t}.
      (3) For each leaf nodezZ, the DOC computesρz=gqz(0),ζz=H1(att(z))qz(0).
      (4) Finally,I=(C0,C1,C2,K),C*={ρm}m{1,,t},{ρz,ζz}zZ.
    • Data storage:
      The DOC putsn{I,add,H} in a transaction sheetTX={I,add,h1}n. If the number of correct node verification results is more than 2/3, the transaction is uploaded to the blockchain. The system obtains the transaction information from the blockchain, constructs the cloud-chain cooperation mapping table according to Dep, and stores it on the cloud, as shown inTable 5.
    Stage 4. Cloud-chain cooperation retrieval:
    When the DR wants to obtain medical data, he/she generates a trapdoor bysk and sends it to the cloud server for retrieval. Then, the DR uploads the matching dataset to the consortium blockchain for secondary retrieval and performs a ciphertext keyword search operation. The specific process is as follows:
    • Trapdoor generation:
      (1) The DR selects randompZq and chooses the keyword setW={w1,,wm}(m{1,,t}).
      (2) The DR calculatesR1=m=1tgpαH2(wm),R2=gpγ,R3=D1p,As=Asp, andBs=Bsp, wheresS.
      (3) The DR generates the trapdoorTrap=(S,R1,R2,R3,{As,Bs}iS).
    • Cloud search:
      The CS runsCloudSearch(Dep,Trap,sk). According to the medical data typeDep, the CS finds the corresponding medical datasetDATA from the cloud-chain cooperation mapping table and then performs access control policy matching to select the datasetDATA* that satisfies the conditions.
      (1) Ifx is a leaf node, leti=att(x), then the CS calculatesDx=e(Ai,ρx)e(Bi,ζx)=e(g,g)rpqx0.
      (2) Ifx is a non-leaf node, letx be a child node ofx. The CS computes ifDx=xωxDxΔi,ωx(0)=e(g,g)rpqx0 holds, wherei=index(x). If not,Dx=.
      (3) Letdata=(id,Blocknum,TxHash),Dr=eg,grpqr(0)=eg,grpv2.
      (4) Finally, the CS outputs the datasetDATA*={data,Dr}d,dD.
    • Blockchain search:
      The BC executesBlockSearchTrap,DATA*,I. According to the trapdoor uploaded by the DR, the nodes on the blockchain carry out keyword matching by Equation (10).
      e(m=1tρmC0,R2)=e(C2,R1)Dre(C1,R3)
      If Equation (10) holds, it means that the relevant data are queried and indexI is returned; otherwise, ⊥ is returned. The correctness of Equation (10) is verified as follows:
      e(C2,R1)Dre(C1,R3)=e(t3v1,i=1tgpαH2(wm))e(g,g)rpv2e(t1v2,Dp)=e(gyv1,i=1tgpαH2(wm))e(g,g)rpv2e(gβv2,g(αγr)·p/β)=e(g,g)yv1pαi=1tH2(wm)·e(g,g)rpv2·e(g,g)v2p(αγr)=e(g,g)pαγ(v2+v1i=1tH2(ωm))=e(m=1tρmC0,R2)
    Stage 5. Data verification and decryption:
    • Medical data validation:
      After successful retrieval, the DR obtains the medical data ciphertextCTM from the CS. The DR executesVerifyTx to verify the hash value. The DR calculatesh2=h(CTM). Ifh2=h1, it outputsl=1; otherwise, it returnsl=0.
    • Ciphertext decryption:
      Ifl=1, the DR calculates
      k=K((e(C1,D2))p/Dx)1p
      If Equation (12) holds, the DR can recoverk byDecrypt(l,sk,I) and further recover plaintext dataM.
      The correctness of Equation (12) is verified as follows:
      K((e(C1,D2))p/Dx)1p=ke(g,g)αv2e(g,g)(α+r)v2pe(g,g)rpv2=ke(g,g)αv2(e(g,g)αv2pe(g,g)rv2pe(g,g)rpv2)1p=ke(g,g)αv2e(g,g)αv2=k

    6. Security Analysis

    We provide two detailed safety analyses of the proposed scheme, including the indistinguishability of ciphertext under the selectively chosen keywords attack and the keyword secrecy under the selectively chosen secret key attack.

    6.1. The Security Analysis of Our Scheme under the INDC-SCKA

    Theorem 3. 
    This scheme is selection-safe under the adaptive selection keyword attack based on the general bilinear group model.
    Proof. 
    The challenger first establishes the general bilinear group model assumption. Let the hash functionsH1,H2 be one-way hash functions, and the specific challenge process is as follows.
    Initialization:B1 selectsα,β,γZq and generates public parameterpp forA1 and system public keypk=(t1,t2,t3).A1 selects policy treeT and returns it toB1.H1(i) simulates: If the attributes has been queried, then challengerB1 selectsrsZq, inputs(s,rs) intoOH1, and returnsgrs. Otherwise, challengerB1 retrievesrs fromOH1 and returnsgrs.
    Phase 1: AdversaryA1 askedOKeyGen andOTrap as follows:
    -OKeyGen(S,mk,pp): ChallengerB1 choosesr*Zq and calculatesD1=g(αγr*)/β, then randomly selectsrs*Zq and calculatesAs=gr*H1(i)rs*,Bs=grs* for the attributesS. Finally,B1 returns(D1,D2,{As,Bs}sS).
    -OTrapdoor(sk,W*,mk): ChallengerB1 interrogatesKeyGen(S,mk,pp) to obtainsk=(S,D1,D2,{As,Bs}sS). After that,B1 randomly selectssZq and computesR1=Πi=1tgsαH2(ωs),R2=gsγ,R3=D1s. IfS satisfiesT,W* is added to the keyword set listLW.
    Challenge phase: LettingW0,W1 that does not belong toLW,B1 choosesv1,v2Zq,vZq and calculates the secret value for each leaf node inT. After that,B1 selects random elementb*{0,1}. Ifb*=0,B1 outputs{ρi=gvH2(wm)}m{1,...,t},C0=t1v2,C1=t2v2,{ρy=gqz(0),ζy=H1(att(z)qz(0))}zln,C2=t3v1; otherwise,B1 returns{ρm=t1v2H2(wm)}m{1,...,t},{ρz=gqz(0),ζz=H1(att(z)qz(0))}zln,C0=t1v2,C1=t2v2,C2=t3v1.
    Phase 2: Generate queries on the key generation algorithm and trapdoor algorithm as in Phase 1.
    Guess:A1 outputs guessc{0,1}. Ifc=c,A1 will succeed in the challenge and outputs 1; otherwise,A1 fails in this challenge.
    Analysis: IfA1 can constructttψv1H2(wi) forgψ contained in the output of the data that have been queried,A1 is able to distinguish betweenttv1H2(wi) andgv. Therefore, it is necessary to prove thatA1 can constructe(g,g)ψαv1H2(ωi) fromgψ with negligible probability. Becausev1 is only inγv1, letψ=ψγ.A1 only needs to constructe(g,g)ψγαv1 through the termγv1. Whenβv2(αγr*)/β=v2(αγr*),A1 needs to eliminatev2r* byr* andqr(0). However, it is difficult to constructv2r*. Therefore,A1 needs to have properties that satisfy the access control treeT to return the correct indexed result. Therefore,A1 can win with negligible probability. Finally, the INDC-SCKA is implemented, which can effectively detect malicious feedback from the cloud server. □

    6.2. The Security Analysis of Our Scheme under the KS-SCSKA

    Theorem 4. 
    When a one-way hash functionH2 is given, this method is the keyword secrecy under selectively chosen secret key attack.
    Proof. 
    B1 plays the following KS-SCSKA game.
    Initialization:B1 choosesα,β,γZq, selects hash functionH1:{0,1}*Zq, and finally, generates public keyspk=(gα,gβ),pp=(e,g,q),mk=(α,β,γ).
    B1 simulatesOH1(s) as follows: If the attributes has not been queried before,B1 randomly selects elementrsZq, adds(s,rs) toOH1, and outputsgrs. Otherwise,B1 retrievesrs fromOH1 and returnsgrs.
    Phase 1:A1 adaptively interrogatesOKeyGen andOTrapdoor in polynomial time:
    -OKeyGen(S,mk,pp):B1 interrogates the key generation algorithm and returnssk toA1, then adds the access policyT to the listlKeyGen.
    -OTrapdoor(sk,W*,mk): ChallengerB1 first interrogates the trapdoor generation algorithm to obtainsk=(T,{Az,Bz|zln(T)}) and then interrogates the trapdoor algorithm to return the trapdoor to adversaryA1.
    Challenge phase:A1 selects the attribute setS,B1, then selectsT to interrogateKeyGen to obtainsk. GivenS andsk,A1 randomly selectsW to compute the ciphertextsCTM and trapdoor.
    Guess:A1 outputs keywordW and sends it toB1, thenB1 asks the IndexGen algorithm to obtain indexI. If the keywords ciphertext is searched,A1 wins the game.
    Analysis: Since|W|τ is the space size of the remaining keyword set, the probability ofA1 computingW fromH2(W) is negligible. IfA1 queriesτ different keywords, the maximum probability of winning the game is(|W|τ)1+ϵ. Therefore, it is proven that this scheme can achieve keyword secrecy. □

    7. Experiments and Performance Analysis

    The experiment was implemented on the Ubuntu operating system and Intel Core i5 processor 2.3GHz. Fabric was used to set up a 4-node blockchain and Caliper to perform the stress test.

    7.1. Blockchain Performance Analysis

    As shown inFigure 5, the blockchain throughput was tested by increasing the transaction number from 1000 to 12,000 and using medical data index information to form a transaction. From the figure, it can be seen that the throughput is proportional to the number of transactions, and the change is relatively smooth. This indicates that the system performance improves steadily with the increase of transactions and has good scalability. Since upload indicates writing data to the blockchain, the uploading throughput is lower than downloading. The experiment shows that the proposed scheme in this paper can support data transactions in large quantities.
    Figure 6 shows the time comparison between the blockchain search and the cloud-chain combined search. As shown in the figure, a medical data requester should first obtain the dataset that satisfies the access policy from the cloud and then perform a secondary search on the blockchain. During access policy matching, the number of attributes in the user’s private key affects the policy execution time, eventually affecting the search time. As illustrated, the cloud-chain searching scheme is better than blockchain searching. Because centralized cloud searching is more efficient than on-chain searching, our solution combines them together to ensure search efficiency while preventing centralized cloud false feedback.

    7.2. Experimental Analysis

    The functional analysis and complexity analysis of theMDS2C3PF scheme are analyzed in this section.

    7.2.1. Function Comparison

    Table 6 lists the functional benefits of theMDS2C3PF scheme. As mentioned in the related work, the works [27,28,29,30,31] showed a good performance on data sharing. Reference [29] and theMDS2C3PF scheme implement policy hiding. The works [27,29,31] and our scheme all realize multi-keyword search operations. However, theMDS2C3PF scheme implements co-authorization to further ensure the balance of access control among data owners.

    7.2.2. Complexity Analysis

    Table 7 shows the comparison of the computational algorithm complexity in different operation stages. The works [27,28] are similar to the relevant algorithm proposed in this paper, which adopt CP-ABE and SE to solve the problem of data sharing. Therefore, they were compared with the algorithms in theMDS2C3PF scheme. Compared with [27,28], the overhead of the proposed method in the setup is lower than [27]. It also has advantages over [27,28] in terms of the exponential operational overhead of the search phase. The bilinear matching time is denoted byTp, andTe is the exponential time. The hash operation time is represented byTh. Letn denote the number of attributes of the authorized user, andl is the number of attributes in the policy.m denotes the keyword count, andt denotes the number of keywords that the authorized user wants to find.
    In order to make further comparisons and analysis, the runtimes ofKeygen,IndexGen, andTrapGen were tested through experiments. Attribute numbers were used as a variable because they can significantly affect the runtime.
    The time comparison of theKeyGen algorithm is shown inFigure 7. From the figure, it can be seen that the key generation time rises as the number of attributes increases.Figure 8 shows the time comparison of trapdoor generation. As can be seen from the figure, the trapdoor generation time increases with the number of attributes. The key generation time and trapdoor generation time of the scheme are basically the same as those of the schemes in [27,28].
    Figure 9 shows the comparison of the index generation time. From the figure, the time of the index generation algorithm rises with increasing attribute number. Compared with [27,28], theMDS2C3PF scheme implements an index generation algorithm with policy hiding to improve its security. Therefore, ourIndexGen algorithm’s time consumption is a little higher. However, the scheme in this paper can realize multiple times of searching following one generated index, which further ensures the feasibility of our solution.

    8. Conclusions

    In view of the asymmetric access control right of the medical data between doctors and patients and the asymmetric collection and processing capability of IoT terminals and the cloud, medical data sharing is faces the problems of privacy leakage, malicious tampering, and false feedback by the cloud.MDS2C3PF was proposed to address these asymmetries. For data privacy, a conflict access policy fusion algorithm is used to achieve co-authorization, ensuring that doctors and patients have equal rights to control the medical data. To improve retrieval efficiency and detect spurious feedback from cloud servers, a cloud-chain cooperation retrieval scheme was proposed to balance the asymmetry structure of medical data storage and processing under IoT. Experimental results showed that our scheme can improve search efficiency and is suitable for the secure sharing of medical data with a symmetry structure. In fact, some weaknesses still exist in our work. Policy fusion and conflict resolution need to be completed by a trust center. Such a centralized approach may have some security risks. In future work, the access control policy fusion will be manipulated in a more symmetric way by using blockchain. Inter-domain dynamic access control for medical data sharing will also be further discussed.

    Author Contributions

    Conceptualization, H.P., Y.Z., Z.Y., and X.S.; software, Y.Z.; validation, Y.Z. and Z.Y.; formal analysis, H.P., Z.Y., and L.Z.; investigation, H.P. and Y.Z.; writing—original draft preparation, Y.Z.; writing—review and editing, H.P., Y.Z., Z.Y., and L.Z.; supervision, H.P., L.Z., Y.Z., and X.S; project administration, H.P. and X.S.; funding acquisition, H.P. All authors have read and agreed to the published version of the manuscript.

    Funding

    This work was supported in part by the Henan Key Laboratory of Network Cryptography Technology under Grant LNCT2022-A12 and in part by the Major Science and Technology Project of Henan Province under Grant 201300210300.

    Data Availability Statement

    Not applicable.

    Conflicts of Interest

    The authors declare no potential conflict of interest with respect to the research, authorship, or publication of this article.

    References

    1. Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A vision, architectural elements, and future directions.Future Gener. Comput. Syst.2013,29, 1645–1660. [Google Scholar] [CrossRef] [Green Version]
    2. Zhou, J.; Cao, Z.; Dong, X.; Vasilakos, A.V. Security and Privacy for Cloud-Based IoT: Challenges, Countermeasures, and Future Directions.IEEE Commun. Mag.2017,55, 26–33. [Google Scholar] [CrossRef]
    3. Sahai, A.; Waters, B.Fuzzy Identity-Based Encryption; Springer: Berlin, Germany, 2005; pp. 457–473. [Google Scholar]
    4. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP ’07), Oakland, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
    5. Yin, C.; Wang, H.; Zhou, L.; Fang, L. Ciphertext-policy attribute-based encryption with multi-keyword search over medical cloud data. In Proceedings of the 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), Guangzhou, China, 9 February 2021. [Google Scholar]
    6. Hsieh, G.; Chen, R.J. Design for a secure interoperable cloud-based Personal Health Record service. In Proceedings of the 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings, Taipei, Taiwan, 3–6 December 2012; pp. 472–479. [Google Scholar]
    7. Sangeetha, D.; Chakkaravarthy, S.S.; Satapathy, S.C.; Vaidehi, V.; Cruz, M.V. Multi keyword searchable attribute based encryption for efficient retrieval of health Records in Cloud.Multimed. Tools Appl.2022,81, 22065–22085. [Google Scholar] [CrossRef]
    8. Boneh, D.; Crescenzo, G.D.; Ostrovsky, R.; Persiano, G.Public Key Encryption with Keyword Search; Springer: Berlin, Germany, 2004; pp. 506–522. [Google Scholar]
    9. Ding, Y.; Xu, H.; Wang, Y.; Yuan, F.; Liang, H. Secure Multi-Keyword Search and Access Control over Electronic Health Records in Wireless Body Area Networks.Secur. Commun. Netw.2021. [Google Scholar] [CrossRef]
    10. Ramu, G.; Reddy, B.E.; Jayanthi, A.; Prasad, L.V. Fine-grained access control of EHRs in cloud using CP-ABE with user revocation.Health Technol.2019,9, 487–496. [Google Scholar] [CrossRef]
    11. Zheng, Z.B.; Xie, S.A.; Dai, H.N.; Wang, H. Blockchain challenges and opportunities: A survey. Blockchain challenges and opportunities: A survey.Int. J. Web Grid Serv.2018,14, 352–375. [Google Scholar] [CrossRef]
    12. Xu, C.; Fulong, C.; Dong, X.; Sun, H.; Huang, C. Design of a Secure Medical Data Sharing Scheme Based on Blockchain.J. Med. Syst.2020,44, 52. [Google Scholar]
    13. Gai, K.; Guo, J.; Zhu, L.; Yu, S. Blockchain Meets Cloud Computing: A Survey.IEEE Commun. Surv. Tutorials2020,22, 2009–2030. [Google Scholar] [CrossRef]
    14. Chen, L.; Lee, W.K.; Chang, C.C.; Choo, K.K.R.; Zhang, N. Blockchain based searchable encryption for electronic health record sharing.Future Gener. Comput. Syst.2019,95, 420–429. [Google Scholar] [CrossRef]
    15. Gupta, B.B.; Li, K.C.; Leung, V.C.; Psannis, K.E.; Yamaguchi, S. Blockchain-Assisted Secure Fine-Grained Searchable Encryption for a Cloud-Based Healthcare Cyber-Physical System.IEEE/CAA J. Autom. Sin.2021,8, 1877–1890. [Google Scholar]
    16. Han, D.; Pan, N.; Li, K. A Traceable and Revocable Ciphertext-Policy Attribute-based Encryption Scheme Based on Privacy Protection.IEEE Trans. Dependable Secur. Comput.2022,19, 316–327. [Google Scholar] [CrossRef]
    17. Li, Q.; Xia, B.; Huang, H.; Zhang, Y.; Zhang, T. TRAC: Traceable and revocable access control scheme for mHealth in 5G-enabled IIoT.IEEE Trans. Ind. Inform.2021,18, 3437–3448. [Google Scholar] [CrossRef]
    18. Hu, G.; Zhang, L.; Mu, Y.; Gao, X. An Expressive “Test-Decrypt-Verify” Attribute-Based Encryption Scheme with Hidden Policy for Smart Medical Cloud.IEEE Syst. J.2020,15, 365–376. [Google Scholar] [CrossRef]
    19. Sowjanya, K.; Dasgupta, M.; Ray, S. A lightweight key management scheme for key-escrow-free ECC-based CP-ABE for IoT healthcare systems.J. Syst. Archit.2021,117, 102108. [Google Scholar] [CrossRef]
    20. Hwang, Y.W.; Lee, I.Y. A Study on CP-ABE-Based Medical Data Sharing System with Key Abuse Prevention and Verifiable Outsourcing in the IoMT Environment.Sensors2020,20, 4934. [Google Scholar] [CrossRef]
    21. Liu, J.; Wu, M.; Sun, R.; Du, X.; Guizani, M. BMDS: A Blockchain-based Medical Data Sharing Scheme with Attribute-Based Searchable Encryption. In Proceedings of the ICC 2021-IEEE International Conference on Communications, Montreal, QC, Canada, 14–23 June 2021; pp. 1–6. [Google Scholar]
    22. Wang, S.; Wang, H.; Li, J.; Wang, H.; Chaudhry, J.; Alazab, M.; Song, H. A fast CP-ABE system for cyber-physical security and privacy in mobile healthcare network.IEEE Trans. Ind. Appl.2022,56, 4467–4477. [Google Scholar] [CrossRef]
    23. Li, H.; Yang, Y.; Dai, Y.; Yu, S.; Xiang, Y. Achieving Secure and Efficient Dynamic Searchable Symmetric Encryption over Medical Cloud Data.IEEE Trans. Cloud Comput.2020,8, 484–494. [Google Scholar] [CrossRef]
    24. Mingwu, Z.; Yu, C.; Jiajun, H. SE-PPFM: A Searchable Encryption Scheme Supporting Privacy-Preserving Fuzzy Multikeyword in Cloud Systems.IEEE Syst. J.2021,15, 2980–2988. [Google Scholar]
    25. Payal, C.; Manik, L.D. Privacy Preserving Searchable Encryption with Fine-Grained Access Control.IEEE Trans. Cloud Comput.2021,9, 753–762. [Google Scholar]
    26. Shahzaib, T.; Sushmita, R.; Yogachandran, R.; Rajarajan, M.; Glackin, C. A New Secure and Lightweight Searchable Encryption Scheme over Encrypted Cloud Data.IEEE Trans. Emerg. Top. Comput.2019,7, 530–544. [Google Scholar]
    27. Sun, W.; Yu, S.; Lou, W.; Hou, Y.T.; Li, H. Protecting your right: Verifiable attribute-based keyword search with fine-grained owner-enforced search authorization in the cloud.IEEE Trans. Parallel Distrib. Syst.2014,27, 1187–1198. [Google Scholar] [CrossRef]
    28. Zheng, Q.; Xu, S.; Ateniese, G. VABKS: Verifiable attribute-based keyword search over outsourced encrypted data. In Proceedings of the IEEE INFOCOM 2014-IEEE Conference on Computer Communications, Toronto, ON, Canada, 27 April 2014; pp. 522–530. [Google Scholar]
    29. Liu, S.; Yu, J.; Xiao, Y.; Wan, Z.; Wang, S.; Yan, B. BC-SABE: Blockchain-Aided Searchable Attribute-Based Encryption for Cloud-IoT.IEEE Internet Things J.2020,7, 7851–7867. [Google Scholar] [CrossRef]
    30. Liu, J.; Li, X.; Ye, L.; Zhang, H.; Du, X.; Guizani, M. BPDS: A blockchain based privacy-preserving data sharing for electronic medical records. In Proceedings of the 2018 IEEE Global Communications Conference (GLOBECOM), Abu Dhabi, United Arab Emirates, 9–13 December 2018; pp. 1–6. [Google Scholar]
    31. Cao, S.; Zhang, G.; Liu, P.; Zhang, X.; Neri, F. Cloud-assisted secure eHealth systems for tamper-proofing EHR via blockchain.Inf. Sci.2019,485, 427–440. [Google Scholar] [CrossRef]
    32. Zhang, L.; Zhang, T.; Wu, Q.; Mu, Y.; Rezaeibagha, F. Secure Decentralized Attribute-Based Sharing of Personal Health Records with Blockchain.IEEE Internet Things J.2021. [Google Scholar] [CrossRef]
    33. Munagala, N.V.L.M.; Rani, A.; Reddy, D.V. Blockchain-Based Internet-of-Things for Secure Transmission of Medical Data in Rural Areas.Comput. J.2022. [Google Scholar] [CrossRef]
    34. Chen, W.; Zhu, S.; Li, J.; Wu, J.; Chen, C.L.; Deng, Y.Y. Authorized Shared Electronic Medical Record System with Proxy Re-Encryption and Blockchain Technology.Sensors2021,21, 7765. [Google Scholar] [CrossRef] [PubMed]
    35. Saini, A.; Zhu, Q.; Singh, N.; Xiang, Y.; Gao, L.; Zhang, Y. A Smart-Contract-Based Access Control Framework for Cloud Smart Healthcare System.IEEE Internet Things J.2021,8, 5914–5925. [Google Scholar] [CrossRef]
    36. Chen, C.L.; Deng, Y.Y.; Weng, W.; Sun, H.; Zhou, M. A blockchain-based secure inter-hospital EMR sharing system.Appl. Sci.2020,10, 4958. [Google Scholar] [CrossRef]
    37. Yang, L.; Jiguo, L. Efficient searchable public key encryption against keyword guessing attacks for cloud-based EMR systems.Clust. Comput.2018,22, 285–299. [Google Scholar]
    38. Chen, N.; Li, J.; Zhang, Y.; Guo, Y. Efficient CP-ABE scheme with shared decryption in cloud storage.IEEE Trans. Comput.2020,71, 175–184. [Google Scholar] [CrossRef]
    39. Xiao, Q.; Tan, K.L. Peer-aware collaborative access control in social networks. In Proceedings of the 8th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom), Pittsburgh, PA, USA, 14–17 October 2012; pp. 30–39. [Google Scholar]
    Symmetry 14 02479 g001 550
    Figure 1. System model.
    Figure 1. System model.
    Symmetry 14 02479 g001
    Symmetry 14 02479 g002 550
    Figure 2. Scheme working process.
    Figure 2. Scheme working process.
    Symmetry 14 02479 g002
    Symmetry 14 02479 g003 550
    Figure 3. Policy fusion algorithm.
    Figure 3. Policy fusion algorithm.
    Symmetry 14 02479 g003
    Symmetry 14 02479 g004 550
    Figure 4. Policy conflict resolution algorithm.
    Figure 4. Policy conflict resolution algorithm.
    Symmetry 14 02479 g004
    Symmetry 14 02479 g005 550
    Figure 5. Consortium blockchain throughput testing.
    Figure 5. Consortium blockchain throughput testing.
    Symmetry 14 02479 g005
    Symmetry 14 02479 g006 550
    Figure 6. Search algorithm time comparison.
    Figure 6. Search algorithm time comparison.
    Symmetry 14 02479 g006
    Symmetry 14 02479 g007 550
    Figure 7. KeyGen algorithm time comparison.
    Figure 7. KeyGen algorithm time comparison.
    Symmetry 14 02479 g007
    Symmetry 14 02479 g008 550
    Figure 8. TrapGen algorithm time comparison.
    Figure 8. TrapGen algorithm time comparison.
    Symmetry 14 02479 g008
    Symmetry 14 02479 g009 550
    Figure 9. IndexGen algorithm time comparison.
    Figure 9. IndexGen algorithm time comparison.
    Symmetry 14 02479 g009
    Table
    Table 1. Symbols’ description.
    Table 1. Symbols’ description.
    SymbolsDescription
    ppPublic parameter
    pkSystem public key
    mkMaster key
    MMedical data
    CMMedical data ciphertext
    skPrivate key
    HMedical data ciphertext hash
    kEncryption key for medical data
    PBalance score matrix
    YImpact score matrix
    XIntention score matrix
    WKeyword set
    TAccess control policy tree
    addStorage Address
    Table
    Table 2. Intention score matrixX.
    Table 2. Intention score matrixX.
    a1a2
    PAx1(a1)x1(a2)
    DOCx2(a1)x2(a2)
    Table
    Table 3. Impact score matrixY.
    Table 3. Impact score matrixY.
    PADOC
    PA1w12
    DOCw211
    Table
    Table 4. Balance score matrixP.
    Table 4. Balance score matrixP.
    a1a2
    PAx1(a1)+x2(a1)w12x1(a2)+x2(a2)w12
    DOCx1(a1)w21+x2(a1)x1(a2)w21+x1(a2)
    Table
    Table 5. Cloud-chain cooperation mapping table.
    Table 5. Cloud-chain cooperation mapping table.
    DepartmentLedger IDBlock NumberTransaction HashPartial Ciphertext Index
    DepidBlocknumTxHashC*
    Table
    Table 6. Function comparison.
    Table 6. Function comparison.
    Scheme[27][28][29][30][31]MDS2C3PF
    Multi-keyword search××
    Co-authorization×××××
    Policy hiding××××
    Data sharing
    Table
    Table 7. Comparison computational overhead of our scheme.
    Table 7. Comparison computational overhead of our scheme.
    Scheme[27][28]MDS2C3PF
    Setup(3n+1)Te+Tp3Te3Te
    KeyGen(3n+1)Te2n+2Te+nTh2n+3Te+nTh
    IndexGen3l+3Te+mTh2l+4Te+(l+1)ThTp+2l+4Te+(m+l)Th
    TrapGen3l+1Te+Th2n+4Te+Tht+2Te+tTh
    Search3l+1Tp+Te2n+3Tp+Tet+2Tp
    Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

    © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

    Share and Cite

    MDPI and ACS Style

    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.Symmetry2022,14, 2479. https://doi.org/10.3390/sym14122479

    AMA Style

    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(12):2479. https://doi.org/10.3390/sym14122479

    Chicago/Turabian Style

    Pan, Heng, Yaoyao Zhang, Xueming Si, Zhongyuan Yao, and Liang Zhao. 2022. "MDS2-C3PF: A Medical Data Sharing Scheme with Cloud-Chain Cooperation and Policy Fusion in IoT"Symmetry 14, no. 12: 2479. https://doi.org/10.3390/sym14122479

    APA Style

    Pan, H., Zhang, Y., Si, X., Yao, Z., & Zhao, L. (2022).MDS2-C3PF: A Medical Data Sharing Scheme with Cloud-Chain Cooperation and Policy Fusion in IoT.Symmetry,14(12), 2479. https://doi.org/10.3390/sym14122479

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

    Article Metrics

    No
    No

    Article Access Statistics

    For more information on the journal statistics, clickhere.
    Multiple requests from the same IP address are counted as one view.
    Symmetry, EISSN 2073-8994, Published by MDPI
    RSSContent Alert

    Further Information

    Article Processing Charges Pay an Invoice Open Access Policy Contact MDPI Jobs at MDPI

    Guidelines

    For Authors For Reviewers For Editors For Librarians For Publishers For Societies For Conference Organizers

    MDPI Initiatives

    Sciforum MDPI Books Preprints.org Scilit SciProfiles Encyclopedia JAMS Proceedings Series

    Follow MDPI

    LinkedIn Facebook X
    MDPI

    Subscribe to receive issue release notifications and newsletters from MDPI journals

    © 1996-2025 MDPI (Basel, Switzerland) unless otherwise stated
    Terms and Conditions Privacy Policy
    We use cookies on our website to ensure you get the best experience.
    Read more about our cookieshere.
    Accept
    Back to TopTop
    [8]ページ先頭

    ©2009-2025 Movatter.jp