Next Article in Journal
Unsupervised Vehicle Re-Identification Based on Cross-Style Semi-Supervised Pre-Training and Feature Cross-Division
Previous Article in Journal
A Multistable Discrete Memristor and Its Application to Discrete-Time FitzHugh–Nagumo Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Efficient Encryption Scheme with Fully Hidden Access Policy for Medical Data

1
School of Information Engineering, Henan University of Science and Technology, Luoyang 471023, China
2
School of Computer and Software Engineering, Sias University, Zhengzhou 451150, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(13), 2930; https://doi.org/10.3390/electronics12132930
Submission received: 26 April 2023 / Revised: 24 June 2023 / Accepted: 28 June 2023 / Published: 3 July 2023

Abstract

:
With the development of informatization, patient medical data are generally stored in the form of electronic medical records. Hospitals store a large amount of medical data on cloud servers, which can ensure the integrity and sharing of medical data. There are many problems when sharing medical data, the most important of which is the security of private data. The ciphertext-policy attribute-based encryption (CP-ABE) algorithm not only supports data encryption, but also supports data access control. The CP-ABE algorithm is applied to medical databases. Through the encryption of medical data and the fine-grained control of data owner access to medical data, the privacy security and sharing security of medical data are realized. However, the traditional CP-ABE algorithm also has problems for the data user regarding access policy privacy leakage and the low efficiency of medical data encryption and decryption. This paper proposes a secure and efficient encryption technique. Medical data are encrypted using a symmetric encryption algorithm, and the CP-ABE algorithm with a fully hidden access policy encrypts the symmetric key. To implement access policy hiding, it uses an attribute bloom filter (ABF) for all access structures. The solution also supports the outsourced decryption of medical data, which can improve the encryption and decryption efficiency of the technique. Finally, in this paper, it is demonstrated that the scheme is selectively chosen-plaintext attack secure (CPA-secure). The experimental results show that users have less computational consumption to obtain medical data.

1. Introduction

Cloud storage technology has become an important part of people’s lives, and users can share data without space constraints [1]. With this advantage, it is possible to apply cloud storage to hospitals to achieve efficient storage and sharing. Since the prevention and control of the COVID-19 epidemic in 2020, many doctors have been conducting research on COVID-19 through clinical medical data. After accumulating a large amount of medical data, efficiently storing and sharing a large amount of medical data is an urgent problem to be solved. In order to solve this problem, cloud storage is combined with medical data so that the medical data of patients in the form of electronic information can be stored and shared in the cloud server. In addition, medical data can be used as materials to promote the development of medical research in teaching and scientific research. In terms of management, they can be used as management information to promote the development of the hospital. Therefore, medical data are the foundation of hospital development. However, medical data contain private patient information. Malicious users may obtain patient medical data through illegal means. The privacy and security of patient medical data are an important issue in data storage and sharing [2].
In order to solve the problem of privacy, a common solution is to encrypt medical data [3]. This solution [4,5] can protect the security of medical data. However, traditional encryption schemes do not support access control in data sharing, which greatly limits the development of Internet hospitals [6]. The proposed attribute-based encryption (ABE) scheme [7] solves this problem, especially cipertext-policy attribute-based encryption (CP-ABE) [8]. In the CP-ABE scheme, the data owner uses the access policy to encrypt data. Only when the data user’s own attributes satisfy the access policy in ciphertext can it decrypt the ciphertext to obtain plaintext data. Hospitals use the CP-ABE algorithm in their medical databases. Doctors or nurses inside the hospital formulate access policies to encrypt medical data, and other doctors or nurses outside the hospital can decrypt ciphertext only if the attributes satisfy the access policies [9]. In general, hospital administrators load the encrypted medical data and access policy to the cloud server. The traditional CP-ABE scheme stores data in the form of ciphertext, and it stores the access policy in the form of plaintext. The cloud server may not be trusted. Therefore, the public access policy may leak user privacy. This means that a malicious user may discover what disease a patient has through access policy in Internet hospitals. A malicious user can combine other public information to obtain private patient information. Access policy leakage is a crucial problem in Internet hospitals. In order to solve the problem of privacy leakage, it is necessary to hide the access policy from unauthorized users and authorized users in the CP-ABE scheme [10,11].
In addition, the data decryption time grows as the access policy increases in the CP-ABE scheme. There are many pairing operations in the CP-ABE scheme that reduce computational efficiency. After the hospital integrates patient medical data, the amount of data is relatively large. When using the CP-ABE scheme to encrypt a large amount of medical data, it has low computational efficiency. It is suitable for encrypting a large amount of data using the symmetric encryption scheme [12]. This scheme has high computational efficiency, but the security of the encryption scheme is low.
In this paper, we propose a safe and efficient data-sharing scheme, which combines the CP-ABE scheme and the symmetric encryption scheme to encrypt integrated medical data. We use the attribute bloom filter (ABF) to implement access policy hiding in the CP-ABE scheme. Meanwhile, we use an outsourced decryption scheme to improve computational efficiency in the CP-ABE scheme. Our scheme is suitable for any complex access structure. Our contributions mainly include the following:
(1) Safe and Efficient Data Sharing: Hospital administrators use the CP-ABE algorithm to encrypt medical data, which enables the safe sharing of medical data. Considering the large volume of medical data, we use symmetric encryption to encrypt medical data and use the CP-ABE algorithm with a fully hidden access policy and an outsourced decryption scheme to encrypt the symmetric key.
(2) Fully Hidden Access Policy: Since the access policy is public, this paper fully hides the access policy. It uses the attribute bloom filter (ABF) to hide sensitive information about the access policy during the encryption phase. The ABF can achieve a fully hidden access policy for any access structure. It uses the attribute location to determine whether the user attributes satisfy the access policy.
(3) Outsourced Decryption: Our scheme uses an outsourced decryption scheme. The algorithm generates values that are not associated with the plaintext of the medical data and the symmetric key. It outsources a number of computational pairings to the cloud server and ensures the privacy security of the medical data.
This work is organized as follows. In Section 2, we introduce the literature related to the research content of this paper. In Section 3, we briefly review the concepts and definitions relevant to this paper. In Section 4, after describing an efficient encryption and decryption framework with a fully hidden access policy, we present the relevant security model. In Section 5, we give a specific encryption and decryption scheme with a completely hidden access policy. In Section 6, its security is analyzed. In Section 7, its performance is analyzed through experiments. We conclude this paper in Section 8.

2. Related Work

In this section, we focus on improving CP-ABE. Sahai et al. [7] proposed attribute-based encryption (ABE). The proposal of ABE solves the problem of one-to-many secret data sharing. ABE can be divided into two categories: key-policy attribute-based encryption (KP-ABE) [13] and ciphertext-policy attribute-based encryption (CP-ABE) [8]. In CP-ABE, the data user’s secret key is related to the user attribute. In contrast, the secret key of the data user is related to the access policy in KP-ABE. Since then, many researchers have proposed improved CP-ABE and KP-ABE programs. In Internet hospitals, the data owner can set the access policy to encrypt medical data. CP-ABE is essential in Internet hospitals. The traditional CP-ABE scheme has low computational efficiency since there are some pairing operations. To solve this problem, Green et al. [14] proposed an ABE scheme with outsourced decryption, which greatly reduces the decryption cost of users. It outsources part of the pairings to the cloud. The data user only needs to compute a few pairings when decrypting.
Imam et al. [15] conducted a comprehensive study of ABE works associated with e-health data sharing. Jiang et al. [16] proposed attributed-based encryption protection combined with a blockchain to protect electronic health records in edge cloud environments. In order to solve the issue of data forgery and tampering in medical data sharing, Zhang et al. [17] proposed a block-based attribute-based keyword searchable encryption scheme for health cloud systems. Li et al. [18] used multikey searchable encryption with attribute-based access control to search all encrypted electronic health records in the cloud. Saravanan et al. [19] proposed a novel enhanced attribute-based encryption for secure access in cloud storage for personal health records. Yang et al. [20] considered the centralized power caused by the single-attribute authority in current CP-ABE schemes, and proposed revocable attribute-based encryption of electronic health records sharing with multiple authorities in the blockchain. Pussewalage et al. [21] introduced a novel attribute-based encryption to share the securely outsourced electronic health records of patients, which can enforce multi-level, controlled-access delegation.
In addition, the access policy is embedded in ciphertext and stored on the cloud server in CP-ABE. However, the access policy in ciphertext is public to the user. The CP-ABE scheme still has the security problem of user attribute information leakage. To solve this problem, some schemes propose hidden access policies. Nishide et al. [22] proposed the partially hidden access policy in CP-ABE. In their paper, the data owner needs to know possible values of attributes in advance and hide subsets of possible attribute values. However, the scheme only supports the AND gate access policy. Later, Lai et al. [23] proposed the partially hidden attribute value. It uses complex-order bilinear mapping, which is computationally expensive. The authors of [24] realized the partially hidden access policy of the prime order and applied the method to a specific scene. In order to solve the problem of large calculations, Cui [25] added outsourcing decryption on the basis of the partially hidden access policy. Later, Hu et al. [26] proposed a “test-decryption-verification” CP-ABE with an outsourced scheme. The scheme adds a test phase to determine whether the user attributes meet the access policy to reduce the number of decryption calculations. Gan et al. [27] implemented the CP-ABE scheme for vehicular fog computing. The scheme separates attributes to achieve a partially hidden access policy.
After that, Phuong et al. [28] proposed a fully hidden access policy for the CP-ABE scheme. It uses an element that represents a user attribute to construct the access structure. It hides the access policy by using the inner product encryption (IPE) scheme. Yang et al. [29] realized the fully hiding access policy by constructing the attribute bloom filter (ABF). It adds the user attribute to the garbled bloom filter. Ramu [30] used the ABF method proposed by Yang to achieve the full hiding of user attributes in CP-ABE, and applied the method to electronic health records to improve the security of patient attribute privacy in a secure cloud framework. Hao et al. [31] proposed a fully hidden access policy scheme that supports all types of access policies in cloud-based IoT. It is also based on the garbled bloom filter. Zhang et al. [32] proposed a fully hidden access policy with multi-authority attribute-based encryption. It converts the access policies and attributes into vectors. It achieves access policy hiding by using IPE. This fully hidden access policy scheme protects data users’ and data owners’ private information while increasing the computation cost of encryption and decryption. Su et al. [33] proposed a new method of attribute-based encryption that supports the hiding policy during electronic medical data sharing. Kim et al. [34] introduced a novel concept called authenticable ABE, which is used to resolve an attack that incorrectly sets the access policy of the ciphertext against the system rules.
Belguith et al. [35] implemented the access policy hiding of CP-ABE while outsourcing most of the decryption computation to semi-trusted cloud servers. In [36], Zhang et al. implemented hidden access policies while using outsourced authentication mechanisms to enhance efficiency. Although they solved the problem of low computational efficiency and the large volume of medical data in our model, the decryption efficiency for users to obtain the data is still low. In Table 1, we give a comparison with other schemes.

3. Preliminaries

3.1. Bilinear Map

Definition 1
([37]). Let G and G 1 be two multiplication cyclic groups and p the prime order of the multiplication cyclic group. Z p is a prime field. g is a generator of G. e : G × G G 1 is an effective bilinear mapping. e satisfies the following properties: (1) Non-Degeneracy: g G and meets e ( g , g ) 1 G 1 . It is said that e ( g , g ) is not equal to the unit of G 1 . (2) Bilinear: For g G and a , b Z p , it holds e ( g a , g b ) = e ( g , g ) a b . (3) Computability: There is polynomial time to calculate for any bilinear mapping.

3.2. Bloom Filter

Definition 2
([38]). A bloom filter is a data structure that is used to test whether an element exists in a set. A bloom filter consists of t hash functions to form an m-bit array defined as follows: H i : { 0 , 1 } * [ 1 , m ] , where.
Firstly, all bits are set to 0 in the m-bit array. To insert the element e into the array, it calculates the hash function value { H i ( e ) } , 1 i t of all positions and sets the value of the corresponding position array to 1 in the m-bit array. In order to check whether the element x exists in the array, the bloom filter calculates the hash function value { H i ( x ) } , 1 i t at all positions. If the values of the corresponding position array are all 1, x exists in the array; otherwise, x does not exist in the array.

3.3. (q − 1)-BDHE Assumption

Definition 3
([39]). The challenger first takes the security parameter as input. It sets g as the generator of G and randomly chooses q + 2 numbers a , s , b 1 , b 2 , , b q in Z p . Then, the challenger outputs the group ( p , G , G 1 , e ) and the following tuples:
g , g s , g a i , g b j , g s b j , g a i b j , g a i b j 2 , [ i , j ] [ q , q ] g a i b j , [ i , j ] [ 2 q , q ] i q + 1 g a i b j b i 2 , [ i , j , i ] [ 2 q , q , q ] j i g s a i b j b i , g s a i b j b i 2 . [ i , j , i ] [ q , q , q ] j i
The challenger sends them to the adversary. The adversary randomly chooses b { 0 , 1 } . If b = 0 , the assumption holds. The adversary obtains the challenge part e ( g , g ) s a q + 1 ; otherwise, the adversary returns the random challenge part.

4. System Model

4.1. The Entity of the Model

As shown in Figure 1, there are six entities in the proposed system model, including data owner (DO), data user (DU), local service provider (LSP), semi-trust authority (STA), cloud storage server (CSS), and outsourced cloud server (OCS). The following is a detailed task design for entities:
DO: The DO firstly sets the access policy and then uploads the medical data and access policy to the hospital’s local server.
DU: If the DU meets the access policy, the DU is an authorized user. The authorized DU can decrypt ciphertext; otherwise, it is an unauthorized user.
LSP: The LSP is a trusted entity in the hospital’s local network. The task of the LSP mainly includes two parts. On the one hand, the LSP encrypts the medical data. On the other hand, the LSP encrypts the secret key.
STA: The STA mainly generates partial public parameters and user secret keys, which are used to encrypt and decrypt the secret key, respectively.
CSS: The CSS is not trusted in the system model. The CSS only provides a platform for the DO to store and share encrypted medical data.
OCS: The OCS in the system model is a semi-trusted entity. The OCS can not only execute partially outsourced decryption operations for the authorized DU, but also generate partial public parameters and user secret keys as an authority.

4.2. The Definition of the Model

In this subsection, we define an efficient encryption scheme for a medical database system model. The following is a description of the system model definition:
(1) Setup Phase
S T A . S e t u p ( 1 κ ) { p p 1 , m s k 1 } . The algorithm is executed by The STA. It inputs the security parameter κ . It returns the public parameter p p 1 and the master secret key m s k 1 .
O C S . S e t u p ( p p 1 ) { p p 2 , m s k 2 } . The OCS runs the algorithm, which takes the public parameter p p 1 as input. It generates the public parameter p p 2 and the master secret key m s k 2 .
The STA and the OCS successively send public parameters to the LSP. It forms the system public parameter p p = { p p 1 , p p 2 } . The master key m s k = { m s k 1 , m s k 2 } are stored by the STA and the OCS, respectively.
(2) KeyGen Phase
K e y G e n ( p p , m s k , R ) { s k } . In this phase, the STA and the OCS, respectively, input the public parameters p p 1 and p p 2 and the master secret keys m s k 1 and m s k 2 . The STA and the OCS generate the user attribute key s k with the attribute set R by the key issuing protocol.
(3) Encrypt Phase
E n c r y p t ( p p , M D , ( P , ρ ) ) { c } . The LSP takes the public parameter p p , the medical data M D , and the access policy ( P , ρ ) as inputs. It generates the ciphertext of the medical data c.
A B F B u i l d ( ( P , ρ ) ) { A B F } . The LSP inputs the access policy ( P , ρ ) . It outputs the attribute bloom filter A B F .
In the Encrypt phase, the LSP takes the ciphertext C = { c , A B F } as output. It sends the ciphertext C to the CSS.
(4) Decrypt Phase
D e c r y p t ( p p , s k , C ) { M D } . The algorithm inputs the public parameters p p , the user secret key s k , and the ciphertext C. There are two steps in the decryption phase:
  • A B F Q u e r y ( A B F , R ) { a } . The algorithm inputs the user attribute R and the attribute bloom filter A B F . If the attribute R meets the access policy, it outputs a = 1 . It then executes the following decryption phase; otherwise, it outputs a = 0 . It terminates the decryption operations.
  • Outsourced decryption phase. It continues to perform the decryption operation as follows:
    G e n T K o u t ( s k ) { s k , t s k } . The transformation key generation algorithm takes the user secret key s k as input. It generates the transformation secret key s k and the outsourced decryption key t s k .
    T r a n s f o r m o u t ( s k , c ) { E ˜ } . It inputs the transformation secret key s k and the partial ciphertext c . The CSS generates the intermediate value E ˜ , which is irrelevant to the medical data.
    D e c r y p t o u t ( E ˜ , t s k , c ) { M D } . The outsourced decryption algorithm takes as input the intermediate value E ˜ , the outsourced decryption key t s k , and the ciphertext c. The DU generates medical data M D by the algorithm.

4.3. The Security Definition of the Model

4.3.1. Data Privacy Security of the Model

In this subsection, we define data security by a secure game between the adversary A and the challenger B . The following defines a selectively chosen-plaintext attack secure (CPA-secure) for model:
  • Init: In this phase, the adversary A gives the challenge access structure ( P * , ρ * ) to the challenger B .
  • Setup: First of all, B executes the S T A . S e t u p and O C S . S e t u p phase. The STA generates the key pair ( p p 1 , m s k 1 ) . The OCS generates the key pair ( p p 2 , m s k 2 ) . B transmits the public parameter p p = ( p p 1 , p p 2 ) to A . The STA and the OCS, respectively, store the master secret keys m s k 1 and m s k 2 .
  • Phase 1: A makes a secret key query, where the secret key is related to attributes the R. However, R is not satisfied with the challenge access structure ( P * , ρ * ) . B generates s k by executing K e y G e n and sends it to A .
  • Challenge: A sends two equal-size challenge plaintext messages M D 0 and M D 1 to B , as well as the challenge access policy ( P * , ρ * ) . B firstly uses the two symmetric keys s k s 0 and s k s 1 to, respectively, encrypt medical data M D 0 and M D 1 . Then, B encrypts s k s f by using CP-ABE, where f { 0 , 1 } . The challenge ciphertext C * is obtained by running the E n c r y p t and A B F B u l i d algorithm and sending C * to A .
  • Phase 2: The query is the same as the secret key query in Phase 1. However, A obtains s k , which is different from Phase 1. They also do not satisfy the challenge access policy ( P * , ρ * ) .
  • Guess: The adversary A outputs the guess f { 0 , 1 } . If f = f , A wins the game.
The adversary A wins the security game by a non-negligible advantage | P r [ f = f ] 1 2 | in probabilistic polynomial-time (PPT). This model is selectively chosen-plaintext attack secure (CPA-secure).

4.3.2. Hiding the Access Policy Security of the Model

In this subsection, we define the fully hidden access policy security by a secure game between the adversary A and the challenger B . The following defines a selectively secure for a model with a fully hiding access policy:
  • Init: In this phase, the adversary A gives the challenge access policies ( P 0 * , ρ 0 * ) and ( P 1 * ρ 1 * ) to the challenger B .
  • Setup: First of all, B executes the S T A . S e t u p and O C S . S e t u p phase. The STA generates the key pair ( p p 1 , m s k 1 ) . The OCS generates the key pair ( p p 2 , m s k 2 ) . B transmits the public parameter p p = ( p p 1 , p p 2 ) to A . The STA and the OCS save the master secret keys m s k 1 and m s k 2 by themselves.
  • Phase 1: A makes a secret key query, where the secret key is related to the attributes R. However, the attribute R is not satisfied with the challenge access structure ( P b * , ρ b * ) . B generates s k by executing K e y G e n and sends it to A .
  • Challenge: A sends the medical data M D to B . It uses the symmetric key s k s to encrypt M D . B randomly chooses the value b { 0 , 1 } . It embeds ( P b * , ρ b * ) into the CP-ABE ciphertext. Finally, B obtains the challenge ciphertext C * and sends it to A .
  • Phase 2: The query is the same as the secret key query in Phase 1. However, A obtains s k , which is different from Phase 1. They also do not satisfy the challenge access policy ( P b * , ρ b * ) .
  • Guess: A outputs a guess b { 0 , 1 } about b. If b = b , A wins the game.
The adversary A wins the security game in probabilistic polynomial-time (PPT). This model achieves fully hidden access policy security.

4.3.3. Outsourced Decryption Security of the Model

We describe outsourced decryption security for the CP-ABE scheme. It is implemented by a security game between the adversary A and the challenger B .
  • Init: In this phase, the adversary A gives the challenge access structure ( P * , ρ * ) to the challenger B .
  • Setup: First of all, B sets a tuple T = ( R , s k , s k ) . B executes the S T A . S e t u p and O C S . S e t u p phase. The STA generates the key pair ( p p 1 , m s k 1 ) . the OCS generates the key pair ( p p 2 , m s k 2 ) . Then, B transmits the public parameter p p = ( p p 1 , p p 2 ) to A . The STA and the OCS conserve the master secret keys m s k 1 and m s k 2 by themselves.
  • Phase 1: A makes a secret key query and transformation key query, where the secret key is related to the attributes R. However, R is not satisfied with challenge access structure ( P * , ρ * ) . B generates s k by executing K e y G e n . B executes G e n T K o u t to generate the transformation secret key s k and the outsourced decryption key t s k . It stores t s k by itself. B saves s k and s k to T and sends T to A . If T exists, A performs the D e c r y p t phase; otherwise, it cannot perform the decryption operations.
  • Challenge: A sends two equal-size challenge plaintext messages M D 0 and M D 1 to B . B , respectively, encrypts M D 0 and M D 1 with the two symmetric keys s k s 0 and s k s 1 . B uses the challenge access policy ( P * , ρ * ) to encrypt the symmetric key s k s f , where f { 0 , 1 } . The challenge ciphertext C * is obtained by running the E n c r y p t and A B F B u l i d algorithms and sending C * to A .
  • Phase 2: The query is the same as the secret key query and the transformation key query in Phase 1. However, A obtains T, which is different from Phase 1. They also do not satisfy the challenge access policy ( P * , ρ * ) .
  • Guess: A outputs a guess value f { 0 , 1 } . If f = f , A wins the game.
The adversary A wins the security game in probabilistic polynomial-time (PPT). The challenge B also breaks the security game with a non-negligible advantage. It is said that the outsourced decryption of the model is selectively CPA-secure.

5. Construction

Our scheme uses the symmetric encryption algorithm and the improved CP-ABE algorithm to implement the security sharing of medical data. The improved CP-ABE algorithm can realize the fully hidden access policy, outsourced decryption, and escrow-free key issuing.
(1) Setup Phase
Firstly, the STA inputs the security parameters κ into the group generator G . It generates the public key p k = ( p , G , G 1 , e ) , where G and G 1 are a cyclic group with a prime number p, and e is a bilinear map.
S T A . S e t u p ( 1 κ ) { p p 1 , m s k 1 } . The STA inputs the security parameter κ to execute the algorithm. It randomly selects g , m , n , h , v G and σ 1 Z p , where Z p is prime a field. The STA computes y 1 = e ( g , g ) σ 1 . Then, the algorithm generates some public parameters and the master secret key as follows:
p p 1 = { g , m , n , h , v , p k , y 1 } , m s k 1 = { σ 1 } .
O C S . S e t u p ( p p 1 ) { p p 2 , m s k 2 } . The OCS runs the algorithm. It randomly selects β Z p . It assumes that σ 1 = σ β . The OCS obtains the public parameter, which is p p 2 = ( e ( g , g ) σ 1 ) β = e ( g , g ) σ . The master secret key is m s k 2 = { β } .
The STA and the OCS, respectively, transmit the public parameters to the LSP and obtain the public parameter p p = { p p 1 , p p 2 } = { p , g , m , n , h , v , e ( g , g ) σ } . The master secret keys are saved by the STA and the OCS separately.
(2) KeyGen Phase
This phase includes the S T A . K e y G e n and O C S . K e y G e n algorithms. In this phase, the OCS and the STA communicate with each other to generate the user attribute keys. However, the STA can not collude with the OCS.
S T A . K e y G e n ( m s k 1 , R ) { s k 1 } . The STA randomly picks r , r 1 , r 2 , , r x Z p , where x is the number of attributes R. To prevent the OCS from obtaining the user attribute key, it randomly selects α Z p and sends it to the DU. Then, the STA computes the secret key s k 1 = { m 1 α , k , k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } associated with the user attribute and sends it to the OCS, where
k = g σ 1 α m r α , k 0 = g r , k 1 , x = g r x , k 2 , x = ( n R x h ) r x v r .
O C S . K e y G e n ( m s k 2 , R ) { s k 2 } . In this phase, the OCS stochastically obtains r , r 1 , r 2 , , r x Z p . Then, the OCS computes the user secret key s k 2 = { k , k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } and sends it to the DU, where
k = ( k ) β ( m 1 α ) r , k 0 = ( k 0 ) β g r , k 1 , x = ( k 1 , x ) β g r x , k 2 , x = ( k 2 , x ) β ( n R x h ) r x v r .
Finally, let r = r β + r and r x = r x β + r x . The DU obtains the complete secret key s k = { R , α , k , k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } , where
k = k = g σ α m r α , k 0 = k 0 = g r , k 1 , x = k 1 , x = g r x , k 2 , x = k 2 , x = ( n R x h ) r x v r .
(3) Encrypt Phase
Before the medical data M D are saved to the CSS, the LSP performs the following operations: (1) The LSP uses the symmetric key s k s to symmetrically encrypt the medical data M D . To ensure that the medical data securely exist in the CSS, the medical data are stored by the ciphertext C 1 = E n c s k s ( M D ) . (2) It realizes the encryption of the symmetric key s k s by running the improved CP-ABE algorithm.
E n c r y p t ( p p , s k s , ( P , ρ ) ) { c } . The LSP firstly defines an LSSS access structure ( P , ρ ) , where P is a u × t access matrix and ρ is a map from row P i in P to attribute ρ ( i ) . It chooses a vector l = ( s , l 2 , l 3 , , l t ) and can calculate η i = P i l , i [ 1 , u ] . It encrypts the symmetric key s k s to obtain the ciphertext C 2 = { c 0 , c 1 , ( c 1 , i , c 2 , i , c 3 , i ) i [ 1 , u ] } , where
c 0 = s k s e ( g , g ) σ s , c 1 = g s , c 1 , i = g k i , c 2 , i = m η i v k i , c 3 , i = ( n ρ ( i ) h ) k i .
A B F B u i l d ( ( P , ρ ) ) { A B F } . In this scheme, when the LSP decrypts the ciphertext, it is necessary to judge whether the user attribute complies with the access policy. We also need to locate the attribute row number in the access matrix. The fully hiding access policy scheme needs to hide the attribute and the row number of the attribute at the same time. Like the garbled bloom filter [29], we construct a m-bit fixed-length string as the element of the attribute bloom filter that consists of two parts. One part is the row number of the attribute in the access matrix, where the fixed length is m r o w n u m -bit. The other part is the m a t t -bit length attribute, where m r o w n u m + m a t t = m . For empty positions, we fill in zeros to achieve a fixed length. So, it uses an attribute bloom filter (ABF) to implement the fully hiding access policy. The LSP defines a set F e = { i R e } as the element of the ABF, where R e is the access attribute of the row i-th mapping ρ ( i ) in the access matrix P. It uses the ( t , t ) secret share sharing scheme to add the new element e in the set F e position to the ABF like the garbled bloom filter. It randomly picks t 1 strings with the same length bits and sets s t , e = s 1 , e s 2 , e s t 1 , e e . It uses the hash function H k ( ) k [ 1 , t ] to compute the hash value of the attribute R e and obtains
H 1 ( R e ) , H 2 ( R e ) , , H t ( R e ) .
The hash values represent the index value of the ABF. It stores the strings s k , e in the ABF, where the index value of s k , e is the hash value H k ( R e ) :
s 1 , e H 1 ( R e ) , s 2 , e H 2 ( R e ) , , s t , e H t ( R e ) .
An example of the ABF construction algorithm is shown in Figure 2.
Then, the LSP sends the ciphertext C = { C 1 , C 2 , A B F } to the CSS. The security of the medical data in the storage and transmission process is realized by the ABF.
(4) Decrypt Phase
D e c r y p t ( p p , s k , C ) { M D } . If the DU wants to obtain medical data, the DU sends the ciphertext request to the CSS. The DU needs to decrypt the symmetric key s k s firstly. Then, it uses the symmetric key s k s to decrypt the medical data. When decrypting the symmetric key s k s , the decryption algorithm consists of two steps:
  • A B F Q u e r y ( A B F , R ) { a , ρ } . In the ABF, the DU firstly uses the hash function H k ( ) to compute the index value of the user attribute R. The DU obtains the string location, which is H 1 ( R ) s 1 , R , H 2 ( R ) s 2 , R , , H t ( R ) s t , R . If the attribute R is not in the ABF, the attribute does not meet the access policy. So, it outputs a = 0 and terminates the decryption operation. If it outputs a = 1 , it continues to execute the outsourced decryption algorithm. It also takes ρ = ( i , R ) as outputs, where i is the attribute row number in the access matrix P.
  • Outsourced Decryption Phase: During the outsourced decryption phase, we always ensure that medical data are securely transmitted and stored in ciphertext. The DU generates the transformation key s k and the outsourced decryption key t s k based on the s k generated by the STA. When outsourced decryption is performed, the OCS generates an intermediate value e ( m , g ) r s z unrelated to the plaintext based on s k and the ciphertext C, which does not reveal the medical data information and the symmetric key information during transmission. The DU generates the symmetric key s k s based on the intermediate value e ( m , g ) r s z and t s k . The DU continues to perform the following decryption operation to obtain the symmetric key s k s :
    G e n T K o u t ( s k ) { s k , t s k } . The DU executes the algorithm to generate the transformation key pair ( s k , t s k ) . It randomly selects z Z p . It calculates the transformation key s k = { k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } and the outsourced decryption key t s k = { z } , where
    k 0 = k 0 1 z , k 1 , x = k 1 , x 1 z , k 2 , x = k 2 , x 1 z .
    T r a n s f o r m o u t ( s k , C 2 , ( P , ρ ) ) { E ˜ } . The DU sends the transformation key s k to OCS. It randomly picks the constants λ i Z p and i [ 1 , u ] λ i η i = s . It runs the algorithm and finally generates an intermediate value E ˜ , where the intermediate value is not associated with the symmetric key s k s . It computes:
    E ˜ = i [ 1 , u ] ( e ( c 1 , i , k 2 , ρ ( i ) ) e ( c 2 , i , k 0 ) e ( c 3 , y , k 1 , ρ ( i ) ) ) λ i = e ( m , g ) r s z .
    Finally, it sends the obtained intermediate value E ˜ to the DU.
    D e c r y p t o u t ( E ˜ , t s k , C ) { s k s } . It inputs the outsourced decryption keys t s k , E ˜ , and c 2 on the decryptor of the DU. Finally, it obtains s k s by calculating
    s k s = c 0 ( e ( c 1 , k ) α z E ˜ ) t s k .
    The DU obtains the symmetric key s k s to decrypt the medical data M D = D e c s k s ( C 1 ) .

6. Performance Analysis

6.1. Data Security Analysis

In this subsection, we detailedly prove the data security of the model.
Theorem 1.
If the ( q 1 ) -BDHE assumption [26] in our model is true, the adversary A with PPT has a negligible advantage to attack the model. The model in our paper is selectively chosen-plaintext attack secure (CPA-secure).
Proof. 
Suppose there is a PPT adversary A that has a non-negligible advantage to attack our scheme. The challenger B constructed by the adversary A has a non-negligible advantage in solving the q 1 assumption.
Init: In this phase, the adversary A gives the challenge access structure ( P * , ρ * ) to the challenge B , where P * is a u × t challenge access matrix and ρ * is a map from row P i * in P * to attribute ρ * ( i ) .
Setup: B provides system public parameters to A . Firstly, B runs S T A . S e t u p ( 1 κ ) { p p 1 , m s k 1 } . B randomly picks n ˜ , p ˜ , v ˜ , σ ˜ 1 Z p . Then, it sets the master secret key σ 1 = σ ˜ 1 + d q + 1 in S T A . S e t u p , where d and q are set in the ( q 1 ) -BDHE assumption. In the S T A . S e t u p phase, the public parameters are as follows:
m = g d , n = g n ˜ ( i , k ) [ u , t ] ( g d k b i 2 ) P i , k * , h = g h ˜ ( i , k ) [ u , t ] ( g d k b i 2 ) P i , k * ρ * ( i ) , v = g v ˜ ( i , k ) [ u , t ] ( g d k b i ) P i , k * , e ( g , g ) σ 1 = e ( g , g ) d q + 1 e ( g , g ) σ 1 ˜ .
B sends the above public parameters to A . Next, B runs O C S . S e t u p ( p p 1 ) { p p 2 , m s k 2 } . It sets the master secret key β = β ˜ . Since it assumes σ 1 = σ β , it sets
σ = σ ˜ 1 β ˜ + d q + 1 β ˜ = σ ˜ + a q + 1 .
In the O C S . K e y G e n phase, the public parameter is e ( g , g ) σ = e ( g , g ) a q + 1 e ( g , g ) σ ˜ .
Phase 1: In this phase, B generates user attribute key to A , where the user attribute does not satisfy the challenge access structure ( P * , ρ * ) . Firstly, B runs S T A . K e y G e n ( m s k 1 , R ) { s k 1 } , where R = { R 1 , R 2 , , R | R | } and R ( P * , ρ * ) . B randomly picks r ˜ Z p and sets
r = r ˜ + m 1 d q + m 2 d q 1 + + m j d q + 1 j = r ˜ + j [ t ] m j d q + 1 j .
Then, B obtains the partially secret key by S T A . K e y G e n , where the partially secret key is as follows:
k = g σ 1 α m r α = g σ ˜ 1 α ( g d ) r ˜ α j [ t ] ( g d q + 2 j ) m j α ,
k 0 = g r = g r ˜ j [ t ] ( g d q + 1 j ) m j .
For all attribute values x [ 1 , | R | ] , B randomly chooses r ˜ x Z p and sets
r x = r ˜ x + r i [ u ] b i R x ρ * ( i ) = r ˜ x + i [ u ] r ˜ b i R x ρ * ( i ) + ( i , j ) [ u , t ] m j b i d q + 1 j R x ρ * ( i ) .
Then, the remain secret key is as follows:
k 1 , x = g r x = g r ˜ x i [ u ] g r ˜ b i R x ρ * ( i ) ( i , j ) [ u , t ] g m j b i d q + 1 j R x ρ * ( i ) .
B needs to set two parts ( n R x h ) r x and v r for k 2 , x , where
( n R x h ) r x = ( n R x h ) r ˜ x ( g r x g r ˜ x ) n ˜ R x + h ˜ · ( i , i , k ) [ u , u , t ] g r ˜ ( R x ρ * ( i ) ) P i , k * b i d k ( R x ρ * ( i ) ) b i 2 · ( i , j , i , k ) [ u , t , u , t ] g ( R x ρ * ( i ) ) m j P i , k * d q + 1 + k j ( R x ρ * ( i ) ) b i 2
and
v r = v r ˜ j [ t ] ( g d q + 1 j ) v ˜ m j · ( j , i , k ) [ t , u , t ] ( g d q + 1 + k j b i ) P i , k * m j .
B sends the secret key s k 1 = { m 1 α , k , k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } associated with the user attribute R to the OCS. The OCS sets
r = r ˜ + m 1 a q + m 2 a q 1 + + m j a q + 1 j = r ˜ + j [ t ] m j a q + 1 t .
and
r x = r ˜ x + r i [ u ] b i R x ρ * ( i ) = r ˜ x + i [ u ] r ˜ b i R x ρ * ( i ) + ( i , j ) [ u , t ] m j b i a q + 1 j R x ρ * ( i ) .
According to the O C S . K e y G e n phase protocol, B generates s k 2 = { k , k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } and sends it to A . Finally, let
r = r ˜ β + r ˜ + 2 j [ t ] m j a q + 1 j = r ˜ + 2 j [ t ] m j a q + 1 j
and
r x = r ˜ x + 2 ( i , j ) [ u , t ] b i m j a q + 1 j R x ρ * ( i ) + i [ u ] r ˜ b i R x ρ * ( i ) .
A obtains the secret key s k = { R , α , k , k 0 , ( k 1 , x , k 2 , x ) x [ 1 , | R | ] } , where
k = k = ( k ) β ( m 1 α ) r = ( g d α ) r g σ ˜ α = m r ˜ α j [ t ] ( m 2 m j α ) a q + 1 j g σ ˜ α ,
k 0 = k 0 = ( k 0 ) β g r = g r = g r ˜ j [ t ] g 2 m j a q + 1 j ,
k 1 , x = k 1 , x = ( k 1 , x ) β g r x = g r x = g r ˜ x ( i , j ) [ u , t ] g 2 b i m j a q + 1 j + r ˜ b i R x ρ * ( i ) .
B needs to set two parts ( n R x h ) r x β + r x and v r β + r for k 2 , x , where
( n R x h ) r x β + r x = ( n R x h ) r x = ( n R x h ) r ˜ x ( i , j ) [ u , t ] ( n R x h ) b i m j a q + 1 j + r ˜ b i R x ρ * ( i )
and
v r β + r = v r = v r ˜ j [ t ] v 2 m j a q + 1 j .
Challenge: In this phase, A sends two equal-size challenge messages M D 0 and M D 1 to B . B uses the two challenge symmetric keys s k s 0 and s k s 1 to, respectively, encrypt M D 0 and M D 1 . B randomly flips b { 0 , 1 } and f { 0 , 1 } . It obtains the challenge ciphertext C 1 * = E n c s k s f ( M D b ) . B encrypts the challenge symmetric key s k s f by the following algorithm, where the partially structures are as follows:
c 0 = s k s f D e ( g , g ) σ ˜ s , c 1 = g s .
B continues to perform the rest of the ciphertext structure. B sets the vector l = ( s , s d + l 2 ˜ , s d 2 + l 3 ˜ , , s d t 1 + l t ˜ ) . Since η i = P i l , B can obtain
η i = j [ t ] P i , j * s d j 1 + j = 2 t P i , j * m ˜ j = j [ t ] P i , j * s d j 1 + η ˜ i .
B sets k i = s t i for each i [ 1 , u ] . Then, B obtains
c 1 , i = g k i = g s t i , c 2 , i = m η i v k i = m η ˜ i ( g s t i ) v ˜ · ( i , k ) [ u , t ] , k j ( g d k s t i b i ) P i , k * ( i , j ) [ u , t ] ( g P i , j * s d j ) 2
and
c 3 , i = ( n ρ ( i ) h ) k i = ( g s t i ) n ˜ ρ * ( i ) + h ˜ ( i , k ) [ u , t ] ( g d k s t i b i 2 ) P i , k * ( ρ * ( i ) + ρ * ( i ) ) .
B submits the challenge ciphertext C * = ( C 1 * , C 2 * , A B F * ) to A , where C 1 * = E n c s k s f ( M D b ) and C 2 * = { c 0 , c 1 , ( c 1 , i , c 2 , i , c 3 , i ) i [ 1 , u ] } . Phase 2: The query in this phase is the same as the query in Phase 1. However, A obtains a user secret key that is different from Phase 1. They also do not satisfy the challenge access policy ( P * , ρ * ) . Guess: After the above security game, the adversary A outputs the challenge values f . If f = f , it can obtain the challenge value b = b . The challenger B finally outputs 0. It is said that A wins the security game and obtains the challenge part D = e ( g , g ) s a q + 1 ; otherwise, the challenger B outputs 1 and D, which is a random value from G. If A wins the security game with a non-negligible advantage, B can break the ( q 1 ) -BDHE assumption with the advantage. Therefore, the model is selectively CPA-secure. □

6.2. Hiding Access Policy Security Analysis

Theorem 2.
The CP-ABE scheme is a fully hidden access policy. The scheme is privacy-preserving for polynomial-time adversaries with the security parameter κ.
Proof. 
In this solution, the DU obtains an individual attribute string from the attribute authorization center. If the attribute string of the DU matches the access matrix, the DU is determined to be an authorized user; otherwise, the DU is an unauthorized user and cannot obtain medical data.
It combines the user attributes and the attribute positions in the matrix into a string. It embeds the string into the garbled bloom filter. Therefore, malicious users cannot obtain private information from access policies. In our scheme, the mapping function ρ in the access structure ( P , ρ ) is embedded in the ABF to achieve full hiding. Firstly, it adds the authorized user attribute to the ABF. It performs t times hash operations on the attribute R y , which is associated with the authorized user. H i ( R y ) , i [ 1 , t ] represents the position of the authorized user attribute in the ABF. When an unauthorized user R x executes A B F Q u e r y ( ) , it is possible that there are some hash values that are the same. It is said that the bloom filter is a false positive. The probability of the false positive is 1 2 κ . The security of the ABF depends on the probability of the hash function collision and string matching. The probability of ABF collision is 1 2 κ p 1 1 2 κ , which p 1 is the probability of string matching. □

6.3. Outsourced Decryption Security Analysis

Theorem 3.
Suppose that Green’s [14] CP-ABE scheme is selectively CPA-secure and the outsourced decryption algorithm is also selectively CPA-secure in our CP-ABE scheme.
Proof. 
The outsourced decryption scheme in our CP-ABE algorithm is the same as Green’s scheme [14], except that the generated values are different during the transform phase. Green’s outsourced decryption scheme needs a fixed component secret key to generate the transformation key in the transformation phase. In our outsourced decryption scheme, the OCS generates an intermediate value E ˜ = e ( m , g ) r s z , which is unrelated to e ( g , g ) σ s . Although the method of the transformation key is different, the method of the secret key is the same. Therefore, the response method of the secret query in Phase 1 and Phase 2 is the same as Green’s. If there is an adversary A that can break our CP-ABE scheme of outsourced decryption with a non-negligible advantage, then another adversary B can be constructed to break Green’s scheme with a non-negligible advantage. □

7. Experimental Analysis

In this section, we analyze and compare our scheme with [9,26,32]. Our simulation experiment is run on a desktop computer with the Windows 10 64-bit operating system, which uses an i5-4460 CPU and 8 GB of RAM. The software is Eclipse, and the development language is Java with the jpbc 2.0.0 open-source code library. The medical data are from public data sets [40]. We run all experiments 50 times and take the average value as the comparison result.
In Figure 3, we compare the storage consumption. According to the theoretical analysis, these schemes all use a prime-order bilinear group. Let G 1 denote the prime-order bilinear group and l denote the length of the user attribute list. The decryption key storage overhead is ( 4 l + 2 ) G 1 in [26,32]. In [9], the decryption key storage cost is ( 2 l + 1 ) G 1 , but it generates two secret keys for patients’ families and doctors. Our scheme decryption key storage consumption is ( 3 l + 1 ) G 1 . According to the results of the simulation experiments, the storage capacity of the decryption key in our scheme is smaller than [26].
In Figure 4 and Figure 5, we compare the computational efficiency. Our plaintext is 100 KB of medical data in Figure 4. It is obvious that the encryption time of these schemes increases linearly with the increase in the number of user attributes. Our scheme has disadvantages in encryption since it encrypts medical data by symmetric encryption and the CP-ABE algorithm with the fully hidden access policy. The symmetric key plaintext size is constant in the improved CP-ABE algorithm, so the pairing operations are fixed. We decrypt the medical data with the sizes of 100 KB and 3000 KB, respectively, in Figure 5. Our scheme uses outsourced partial pairing to decrypt, and the size of ciphertext in the improved CP-ABE algorithm is less than [9,32]. The improved CP-ABE scheme decrypts the data, which is only a symmetric key. The time consumption of the symmetric decryption is less than that of CP-ABE because there is no bilinear calculation in the symmetric decryption.

8. Conclusions

In this article, we introduced a data security sharing solution in Internet hospitals. In this scheme, data users use a symmetric encryption scheme to encrypt medical data. This only guarantees the efficiency of data encryption and decryption. Due to the low-security performance of symmetric keys, the improved CP-ABE scheme is used to achieve fine-grained access control for symmetric keys. On the one hand, it achieves a fully hidden access policy by using the attribute bloom filter in the improved CP-ABE scheme. It protects privacy information security for the data owner and realizes privacy information security for the data user. On the other hand, we adopted the method of outsourcing decryption to solve the problem of low computing efficiency. Through the experimental comparison analysis, the outsourcing decryption efficiency of this scheme is higher than that of other schemes. In addition, we also prove that the improved CP-ABE scheme is selectively CPA-secure. However, the paper uses attribute bloom filters and hybrid encryption methods to enhance security while prolonging encryption time.

Author Contributions

Conceptualization, F.S.; Methodology, F.S. and M.L.; Formal analysis, M.Z. and F.S.; Writing—original draft preparation, F.S. and R.Z.; Writing—review and editing, R.Z. and Z.J. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the National Natural Science Foundation of China (NSFC) under Grant No. 62172142 and No. 62102134, in part by the Leading Talents of Science and Technology in the Central Plain of China under Grant No. 234200510018, and in part by the Key Technologies R & D Program of Henan Province under Grant No. 222102210049 and Grant No. 222102210080.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CPAChosen-plaintext attack
ABEAttribute-based encryption
ABFAttribute bloom filter
DOData owner
DUData user
LSPLocal service provider
STASemi-trust authority
CSSCloud storage server
OCSOutsourced cloud server

References

  1. Lei, Z.; Hu, X.; Qiong, H.; Li, J.; Choo, K.R.; Li, J. Cryptographic Solutions for Cloud Storage: Challenges and Research Opportunities. IEEE Trans. Serv. Comput. 2019, 15, 567–587. [Google Scholar]
  2. Abouelmehdi, K.; Hssane, A.B.; Khaloufi, H.; Saadi, M. Big data security and privacy in healthcare: A Review. In Proceedings of the 8th International Conference on Emerging Ubiquitous Systems and Pervasive Networks (EUSPN 2017)/7th International Conference on Current and Future Trends of Information and Communication Technologies in Healthcare (ICTH-2017)/Affiliated Workshops, Lund, Sweden, 18–20 September 2017; pp. 73–80. [Google Scholar]
  3. Alshehri, S.; Radziszowski, S.P.; Raj, R.K. Secure Access for Healthcare Data in the Cloud Using Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the Workshops Proceedings of the IEEE 28th International Conference on Data Engineering, ICDE 2012, Arlington, VA, USA, 1–5 April 2012; pp. 143–146. [Google Scholar]
  4. Lee, Y.S.; Alasaarela, E.; Lee, H.J. An efficient encryption scheme using elliptic curve cryptography (ECC) with symmetric algorithm for healthcare system. Int. J. Secur. Its Appl. 2014, 8, 63–70. [Google Scholar] [CrossRef]
  5. Bocu, R.; Costache, C. A homomorphic encryption-based system for securely managing personal health metrics data. Ibm J. Res. Dev. 2018, 62, 1:1–1:10. [Google Scholar] [CrossRef]
  6. Yan, H.; Li, X.; Li, J. Secure Personal Health Record System with Attribute-Based Encryption in Cloud Computing. In Proceedings of the 2014 Ninth International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, Guangzhou, China, 8–10 November 2014; pp. 329–332. [Google Scholar]
  7. Sahai, A.; Waters, B. Fuzzy Identity-Based Encryption. In Proceedings of the Advances in Cryptology–EUROCRYPT 2005, 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; pp. 457–473. [Google Scholar]
  8. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (S&P 2007), Oakland, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  9. Luan, I.; Muhammad, A.; Milan, P. Secure management of personal health records by applying attribute-based encryption. In Proceedings of the 6th International Workshop on Wearable, Micro, and Nano Technologies for Personalized Health, Oslo, Norway, 24–26 June 2009; pp. 71–74. [Google Scholar]
  10. Liu, L.; Lai, J.; Deng, R.H.; Li, Y. Ciphertext-policy attribute-based encryption with partially hidden access structure and its application to privacy-preserving electronic medical record system in cloud environment. Secur. Commun. Netw. 2016, 9, 4897–4913. [Google Scholar] [CrossRef]
  11. Hahn, C.; Kwon, H.; Hur, J. Efficient Attribute-Based Secure Data Sharing with Hidden Policies and Traceability in Mobile Health Networks. Mob. Inf. Syst. 2016, 2016, 6545873:1–6545873:13. [Google Scholar] [CrossRef] [Green Version]
  12. Aljawarneh, S.A.; Yassein, M.O.B.; Talafha, W.A. A resource-efficient encryption algorithm for multimedia big data. Multim. Tools Appl. 2017, 76, 22703–22724. [Google Scholar] [CrossRef]
  13. Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM Conference on Computer and Communications Security, CCS 2006, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  14. Green, M.; Hohenberger, S.; Waters, B. Outsourcing the Decryption of ABE Ciphertexts. In Proceedings of the 20th USENIX Security Symposium, San Francisco, CA, USA, 8–12 August 2011; USENIX Association: Berkeley, CA, USA, 2011. [Google Scholar]
  15. Imam, R.; Kumar, K.; Raza, S.M.; Sadaf, R.; Anwer, F.; Fatima, N.; Nadeem, M.; Abbas, M.; Rahman, O. A systematic literature review of attribute based encryption in health services. J. King Saud Univ. Comput. Inf. Sci. 2022, 34, 6743–6774. [Google Scholar] [CrossRef]
  16. Jiang, Y.; Xu, X.; Xiao, F. Attribute-Based Encryption with Blockchain Protection Scheme for Electronic Health Records. IEEE Trans. Netw. Serv. Manag. 2022, 19, 3884–3895. [Google Scholar] [CrossRef]
  17. Zhang, F.; Zhang, Y.; Han, G. Blockchain-based attribute-based keyword searchable encryption for health cloud system. Int. J. Embed. Syst. 2022, 15, 493–504. [Google Scholar] [CrossRef]
  18. Li, W.; Xu, L.; Wen, Y.; Zhang, F. Conjunctive multi-key searchable encryption with attribute-based access control for EHR systems. Comput. Stand. Interfaces 2022, 82, 103606. [Google Scholar] [CrossRef]
  19. Saravanan, N.; Arumugam, U. Enhanced attribute based encryption technique for secured access in cloud storage for personal health records. Concurr. Comput. Pract. Exp. 2022, 34. [Google Scholar]
  20. Yang, X.; Li, W.; Fan, K. A revocable attribute-based encryption EHR sharing scheme with multiple authorities in blockchain. Peer Peer Netw. Appl. 2023, 16, 107–125. [Google Scholar] [CrossRef]
  21. Pussewalage, H.S.G.; Oleshchuk, V.A. A Delegatable Attribute Based Encryption Scheme for a Collaborative E-Health Cloud. IEEE Trans. Serv. Comput. 2023, 16, 787–801. [Google Scholar] [CrossRef]
  22. Nishide, T.; Yoneyama, K.; Ohta, K. Attribute-Based Encryption with Partially Hidden Encryptor-Specified Access Structures. In Proceedings of the Applied Cryptography and Network Security, 6th International Conference, ACNS 2008, New York, NY, USA, 3–6 June 2008; pp. 111–129. [Google Scholar]
  23. Lai, J.; Deng, R.H.; Li, Y. Expressive CP-ABE with partially hidden access structures. In Proceedings of the 7th ACM Symposium on Information, Compuer and Communications Security, ASIACCS’12, Seoul, Republic of Korea, 2–4 May 2012; pp. 18–19. [Google Scholar]
  24. Xiong, H.; Zhao, Y.; Peng, L.; Zhang, H.; Yeh, K. Partially policy-hidden attribute-based broadcast encryption with secure delegation in edge computing. Future Gener. Comput. Syst. 2019, 97, 453–461. [Google Scholar] [CrossRef]
  25. Cui, H.; Deng, R.H.; Lai, J.; Yi, X.; Nepal, S. An efficient and expressive ciphertext-policy attribute-based encryption scheme with partially hidden access structures, revisited. Comput. Netw. 2018, 133, 157–165. [Google Scholar] [CrossRef]
  26. 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. 2021, 15, 365–376. [Google Scholar] [CrossRef]
  27. Gan, T.; Liao, Y.; Liang, Y.; Zhou, Z.; Zhang, G. Partial policy hiding attribute-based encryption in vehicular fog computing. Soft Comput. 2021, 25, 10543–10559. [Google Scholar] [CrossRef]
  28. Phuong, T.V.X.; Yang, G.; Susilo, W. Hidden Ciphertext Policy Attribute-Based Encryption Under Standard Assumptions. IEEE Trans. Inf. Forensics Secur. 2016, 11, 35–45. [Google Scholar] [CrossRef]
  29. Yang, K.; Han, Q.; Li, H.; Zheng, K.; Su, Z.; Shen, X. An Efficient and Fine-Grained Big Data Access Control Scheme with Privacy-Preserving Policy. IEEE Internet Things J. 2017, 4, 563–571. [Google Scholar] [CrossRef]
  30. Ramu, G. A secure cloud framework to share EHRs using modified CP-ABE and the attribute bloom filter. Educ. Inf. Technol. 2018, 23, 2213–2233. [Google Scholar] [CrossRef]
  31. Hao, J.; Cheng, H.; Ni, J.; Rong, H.; Xian, M.; Shen, X.S. Fine-grained data access control with attribute-hiding policy for cloud-based IoT. Comput. Netw. 2019, 153, 1–10. [Google Scholar] [CrossRef]
  32. Zhang, L.; Ren, J.; Li, K.; Wang, B. Decentralizing Multi-Authority Attribute-Based Access Control Scheme with Fully Hidden Policy. Int. J. Netw. Secur. 2021, 23, 588–603. [Google Scholar]
  33. Su, J.; Zhang, L.; Mu, Y. BA-RMKABSE: Blockchain-aided Ranked Multi-keyword Attribute-based Searchable Encryption with Hiding Policy for Smart Health System. Future Gener. Comput. Syst. 2022, 132, 299–309. [Google Scholar] [CrossRef]
  34. Kim, I.; Susilo, W.; Baek, J.; Kim, J. Harnessing Policy Authenticity for Hidden Ciphertext Policy Attribute-Based Encryption. IEEE Trans. Dependable Secur. Comput. 2022, 19, 1856–1870. [Google Scholar] [CrossRef]
  35. Belguith, S.; Kaaniche, N.; Laurent, M.; Jemai, A.; Attia, R. Phoabe: Securely outsourcing multi-authority attribute based encryption with policy hidden for cloud assisted iot. Comput. Netw. 2018, 133, 141–156. [Google Scholar] [CrossRef] [Green Version]
  36. Zhang, J.; Cheng, Z.; Cheng, X.; Chen, B. OAC-HAS: Outsourced access control with hidden access structures in fog-enhanced IoT systems. Connect. Sci. 2021, 33, 1060–1076. [Google Scholar] [CrossRef]
  37. Lin, S.; Zhang, R.; Ma, H.; Wang, S. Revisiting Attribute-Based Encryption with Verifiable Outsourced Decryption. IEEE Trans. Inf. Forensics Secur. 2015, 10, 2119–2130. [Google Scholar] [CrossRef]
  38. Bloom, B.H. Space/Time Trade-offs in Hash Coding with Allowable Errors. Commun. ACM 1970, 13, 422–426. [Google Scholar] [CrossRef]
  39. Rouselakis, Y.; Waters, B. Practical constructions and new proof methods for large universe attribute-based encryption. In Proceedings of the 2013 ACM SIGSAC Conference on Computer and Communications Security, CCS’13, Berlin, Germany, 4–8 November 2013; pp. 463–474. [Google Scholar]
  40. Saha, K.; Mani, S. Basic HealthCare Data. 2016. Available online: https://github.com/csbond007/Basic_Health_Care (accessed on 25 April 2023).
Figure 1. System model.
Figure 1. System model.
Electronics 12 02930 g001
Figure 2. An example of ABF.
Figure 2. An example of ABF.
Electronics 12 02930 g002
Figure 3. Comparison storage overhead in decryption key. The black square curve represents the experimental result of our scheme; The red circular curve represents the experimental result of Luan’s scheme [9]. The blue triangular curve represents the experimental result of Hu’s scheme [26]; The green triangular curve represents the experimental result of Zhang’s scheme [32].
Figure 3. Comparison storage overhead in decryption key. The black square curve represents the experimental result of our scheme; The red circular curve represents the experimental result of Luan’s scheme [9]. The blue triangular curve represents the experimental result of Hu’s scheme [26]; The green triangular curve represents the experimental result of Zhang’s scheme [32].
Electronics 12 02930 g003
Figure 4. Comparison time cost in encrypting. The black square curve represents the experimental result of our scheme; The red circular curve represents the experimental result of Luan’s scheme [9]. The blue triangular curve represents the experimental result of Hu’s scheme [26]; The green triangular curve represents the experimental result of Zhang’s scheme [32].
Figure 4. Comparison time cost in encrypting. The black square curve represents the experimental result of our scheme; The red circular curve represents the experimental result of Luan’s scheme [9]. The blue triangular curve represents the experimental result of Hu’s scheme [26]; The green triangular curve represents the experimental result of Zhang’s scheme [32].
Electronics 12 02930 g004
Figure 5. Comparison time cost of obtaining medical data (MD). The black square curve represents the experimental result of our scheme with data of size 100 KB; The red circular curve represents the experimental result of our scheme with data of size 3000 KB; The blue triangular curve represents the experimental result of Luan’s scheme [9] with data of size 100 KB; The green triangular curve represents the experimental result of Zhang’s scheme [32] with data of size 100 KB.
Figure 5. Comparison time cost of obtaining medical data (MD). The black square curve represents the experimental result of our scheme with data of size 100 KB; The red circular curve represents the experimental result of our scheme with data of size 3000 KB; The blue triangular curve represents the experimental result of Luan’s scheme [9] with data of size 100 KB; The green triangular curve represents the experimental result of Zhang’s scheme [32] with data of size 100 KB.
Electronics 12 02930 g005
Table 1. Comparison with other schemes.
Table 1. Comparison with other schemes.
Performance/SchemeLuan [9]Liu [10]Hu [26]Zhang [32]Belguith [35]Ours
Encrypt AlgorithmCP-ABECP-ABECP-ABECP-ABECP-ABESymmetric Encryption and CP-ABE
Hidden Access Policynopartiallypartiallyfullyfullyfully
Testingnonoyesnonoyes
Outsourced Decryptnonoyesnoyesyes
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.

Share and Cite

MDPI and ACS Style

Zhang, M.; Shao, F.; Zheng, R.; Liu, M.; Ji, Z. An Efficient Encryption Scheme with Fully Hidden Access Policy for Medical Data. Electronics 2023, 12, 2930. https://doi.org/10.3390/electronics12132930

AMA Style

Zhang M, Shao F, Zheng R, Liu M, Ji Z. An Efficient Encryption Scheme with Fully Hidden Access Policy for Medical Data. Electronics. 2023; 12(13):2930. https://doi.org/10.3390/electronics12132930

Chicago/Turabian Style

Zhang, Moli, Feijiao Shao, Ruijuan Zheng, Muhua Liu, and Zhihang Ji. 2023. "An Efficient Encryption Scheme with Fully Hidden Access Policy for Medical Data" Electronics 12, no. 13: 2930. https://doi.org/10.3390/electronics12132930

APA Style

Zhang, M., Shao, F., Zheng, R., Liu, M., & Ji, Z. (2023). An Efficient Encryption Scheme with Fully Hidden Access Policy for Medical Data. Electronics, 12(13), 2930. https://doi.org/10.3390/electronics12132930

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

Article Metrics

Back to TopTop